Akademicki 7.6 – czas ruszyć do przodu!
Od razu notka do userow Otsoft.pl:
Bez obaw, nie umiem sie poswiecac na calego tylko jednej rzeczy, wiec nie zaniedbam tego serwisu
Gdybym to potrafil, lista serwerow bylaby juz dawno gotowa
Ok koniec tlumaczenia czas na fakty. A wiec po pierwsze – widok serwera ktory pracuje 16 godzin przy liczbie graczy od 50 – 140 to na prawde mily widok, szczegolnie jesli chodzi o yurotsa, bo to na nim oparty jest Aka (jakby jeszcze ktokolwiek tego nie widzial). W sumie nie moge powiedziec ze wszystkie crashe zostaly wyeliminowane, bo bym lekko sklamal, ale prawdopodobienstwo jego wystapienia zmalalo ogromnie, zeby nie powiedziec ze wlasciwie zostal juz tylko procent lub dwa szansy.
Co nie zmienia faktu ze nadal nad tym pracujemy.
Mysle ze jest to najlepszy prezent dla graczy na Aka jak i dla mnie. Chcialbym podziekowac wszystkim, ktorzy sie do tego przyczynili, a wiec alleluja i do przodu:
- Kiro (za mase pomyslow i poprawek, niestety skrzynka wodki musi poczekac
) - Yurez (za mase propozycji poprawek i kilka linijek kodu)
- Matt (za chec do pracy i dokonfigurowanie firewalla
) - BlizzarDavid (za pomysly, ktore moze kiedys zostana wykorzystane)
- Tajemniczy Pan Z (za ukazanie bledu, wielka pomoc i przyszla wspolprace)
Sobie dziekowac nie musze, wystarczy nieprzespanych nocy, nerwow i siwych wlosow, zeby wiedziec ze to przeprawa nie dla kazdego, ale bylo warto w 100%.
To wszystko spowodowalo ze swieta juz inaczej beda w tym roku wygladaly, a przynajmniej nie zepsuje mi ich wiadomosc ze serwer padl sryliard razy w ciagu tych wolnych dni.
No nic, pozostalo mi zyczyc Wam wszystkim Wesolych Swiat i do zobaczenia na serwerze / Otsofcie. Gud baj.
Aka, EK, Sraka i SimpleDB 0.1.8
Troche sie wydarzylo ostatnimi czasy, po updacie na Akademickim, przyszedl czas na debugowanie silnika. Gdb znow poszedl w ruch, poprawilismy kilka bledow zwiazanych z naruszeniem pamieci (dzieki za pomoc Kiro), ale nie to okazalo sie najwiekszym problemem. Otoz debugger wywalal bardzo dziwny backtrace. Lapal sygnal SIGABRT a w backtracie nie pokazywal nic, co mogloby naprowadzic na przyczyne crashu.
-
b7a8b000-b7a92000 r-xp 00000000 08:01 2339875 /lib/i686/cmov/librt-2.7.so
-
b7a92000-b7a94000 rw-p 00006000 08:01 2339875 /lib/i686/cmov/librt-2.7.so
-
b7a94000-b7a95000 rw-p b7a94000 00:00 0
-
b7a95000-b7b72000 r-xp 00000000 08:01 4007807 /usr/local/lib/libiconv.so.2.4.0
-
b7b72000-b7b73000 rw-p 000dd000 08:01 4007807 /usr/local/lib/libiconv.so.2.4.0
-
b7b73000-b7c56000 r-xp 00000000 08:01 3991231 /usr/lib/libstdc++.so.6.0.10
-
b7c56000-b7c59000 r–p 000e2000 08:01 3991231 /usr/lib/libstdc++.so.6.0.10
-
b7c59000-b7c5b000 rw-p 000e5000 08:01 3991231 /usr/lib/libstdc++.so.6.0.10
-
b7c5b000-b7c61000 rw-p b7c5b000 00:00 0
-
b7c61000-b7db6000 r-xp 00000000 08:01 2338393 /lib/i686/cmov/libc-2.7.so
-
b7db6000-b7db7000 r–p 00155000 08:01 2338393 /lib/i686/cmov/libc-2.7.so
-
b7db7000-b7db9000 rw-p 00156000 08:01 2338393 /lib/i686/cmov/libc-2.7.so
-
b7db9000-b7dbc000 rw-p b7db9000 00:00 0
-
b7dbc000-b7dc8000 r-xp 00000000 08:01 2339860 /lib/libgcc_s.so.1
-
b7dc8000-b7dc9000 rw-p 0000b000 08:01 2339860 /lib/libgcc_s.so.1
-
b7dc9000-b7e0b000 r-xp 00000000 08:01 3990211 /usr/lib/libgmp.so.3.4.2
-
b7e0b000-b7e0c000 rw-p 00042000 08:01 3990211 /usr/lib/libgmp.so.3.4.2
-
b7e0c000-b7e0d000 rw-p b7e0c000 00:00 0
-
b7e0d000-b7e0f000 r-xp 00000000 08:01 2338396 /lib/i686/cmov/libdl-2.7.so
-
b7e0f000-b7e11000 rw-p 00001000 08:01 2338396 /lib/i686/cmov/libdl-2.7.so
-
b7e11000-b7e1d000 r-xp 00000000 08:01 4037234 /usr/local/lib/libboost_thread-g cc42-mt-1_34_1.so.1.34.1
-
b7e1d000-b7e1e000 rw-p 0000b000 08:01 4037234 /usr/local/lib/libboost_thread-g cc42-mt-1_34_1.so.1.34.1
-
b7e1e000-b7e41000 r-xp 00000000 08:01 3991797 /usr/lib/liblua5.1.so.0.0.0
-
b7e41000-b7e42000 rw-p 00023000 08:01 3991797 /usr/lib/liblua5.1.so.0.0.0
-
b7e42000-b7e66000 r-xp 00000000 08:01 2338397 /lib/i686/cmov/libm-2.7.so
-
b7e66000-b7e68000 rw-p 00023000 08:01 2338397 /lib/i686/cmov/libm-2.7.so
-
b7e68000-b7e7d000 r-xp 00000000 08:01 2339873 /lib/i686/cmov/libpthread-2.7.so
-
b7e7d000-b7e7f000 rw-p 00014000 08:01 2339873 /lib/i686/cmov/libpthread-2.7.so
-
b7e7f000-b7e82000 rw-p b7e7f000 00:00 0
-
b7e82000-b7e95000 r-xp 00000000 08:01 4007847 /usr/local/lib/libz.so.1.2.3
-
b7e95000-b7e96000 rw-p 00012000 08:01 4007847 /usr/local/lib/libz.so.1.2.3
-
b7e96000-b7fca000 r-xp 00000000 08:01 4131940 /usr/local/lib/libxml2.so.2.7.3
-
b7fca000-b7fcf000 rw-p 00133000 08:01 4131940 /usr/local/lib/libxml2.so.2.7.3
-
b7fcf000-b7fd0000 rw-p b7fcf000 00:00 0
-
b7fd4000-b7fde000 r-xp 00000000 08:01 2338402 /lib/i686/cmov/libnss_files-2.7. so
-
b7fde000-b7fe0000 rw-p 00009000 08:01 2338402 /lib/i686/cmov/libnss_files-2.7. so
-
b7fe0000-b7fe3000 rw-p b7fe0000 00:00 0
-
b7fe3000-b7fe4000 r-xp b7fe3000 00:00 0 [vdso]
-
b7fe4000-b7ffe000 r-xp 00000000 08:01 3590655 /lib/ld-2.7.so
-
b7ffe000-b8000000 rw-p 0001a000 08:01 3590655 /lib/ld-2.7.so
-
bffeb000-c0000000 rw-p bffeb000 00:00 0 [stack]
-
-
Program received signal SIGABRT, Aborted.
-
[Switching to Thread 0xb7a89b90 (LWP 1227)]
-
0xb7fe3424 in __kernel_vsyscall ()
-
(gdb) bt
-
#0 0xb7fe3424 in __kernel_vsyscall ()
-
#1 0xb7c8c640 in raise () from /lib/i686/cmov/libc.so.6
-
#2 0xb7c8e018 in abort () from /lib/i686/cmov/libc.so.6
-
#3 0xb7cc934d in ?? () from /lib/i686/cmov/libc.so.6
-
#4 0×00000022 in ?? ()
-
#5 0xb7ccf624 in ?? () from /lib/i686/cmov/libc.so.6
-
#6 0×00000002 in ?? ()
-
#7 0xbffffa46 in ?? ()
-
#8 0xb7d9c5a4 in ?? () from /lib/i686/cmov/libc.so.6
-
#9 0xb7a89213 in ?? ()
-
#10 0xb7d9c5a4 in ?? () from /lib/i686/cmov/libc.so.6
-
#11 0x32e6f98e in ?? ()
-
#12 0×32343238 in ?? ()
-
#13 0×00386338 in ?? ()
-
#14 0xb7db7ff4 in ?? () from /lib/i686/cmov/libc.so.6
-
#15 0xb7db9160 in ?? () from /lib/i686/cmov/libc.so.6
-
#16 0x282428c8 in ?? ()
-
#17 0xb7a89248 in ?? ()
-
#18 0xb7cd1826 in free () from /lib/i686/cmov/libc.so.6
-
#19 0x62696c67 in ?? ()
-
#20 0×65642063 in ?? ()
-
#21 0×74636574 in ?? ()
-
#22 0x2a206465 in ?? ()
-
—Type to continue, or q to quit—
-
#23 0x25202a2a in ?? ()
-
#24 0x25203a73 in ?? ()
-
#25 0x30203a73 in ?? ()
-
#26 0×20732578 in ?? ()
-
#27 0x0a2a2a2a in ?? ()
-
#28 0×00000000 in ?? ()
Tym razem potrzebowalem profesjonalisty, wiec poszla wiadomosc do Yureza (tworcy yurots). Niestetysam Yurez nie pojmowal dlaczego gdb nie wywala nic konstruktywnego, zaproponowal zainstalowanie bibliotek debug (tych ktore sa linkowane do silnika). Ale zamiast tego postanowilem zainstaowac nowe wersje wszystkich wykorzystywanych bibliotek, na szczegolna uwage zasluzyl liblua, ktory juz wczesniej wykazywal nadmierna sklonnosc do crashowania serwera, dlatego zostal skompilowany z flaga -g.
Nie dawalo to rezultatow, ale odkrylem blad w moim makefile ze sciezka do LIBLINK, oraz brakiem jednej z bibliotek! Wiec teraz powinno byc o wiele lepiej, ale nie ma co krakac zawczasu, zobaczymy jak to wyjdzie. Niebawem znow trzeba bedzie podebugowac.
Mimo wszystko, jesli ktos znalby inne rozwiazanie tego problemu, lub wiedzial jak zinterpretowac ten backtrace, to miloby bylo to uslyszec
Jedziemy dalej – start Eternal Kingdoms, oczekiwanego serwera przez wielu. Coz tutaj wiecej mowic, wczoraj odbyl sie hucznie zapowiadany start, jednak jak to mozna bylo sie domyslec, niewiele z tego wyszlo, kilka restartow, problemy z maszyna etc. Mogli sie lepiej przygotowac do startu, to fakt ale tak czy siak zawsze wystapia jakies problemy. Co najwazniejsze powinien byc otwarty beta test dla spolecznosci, tak zeby mozna bylo wyprobowac obciazenie maszyny i serwera i ponaprawiac bledy przed premiera.
W kazdym razie, wierze ze przed EK swietlana przyszlosc, szczegolnie kiedy Dulin zastapil Budynia ;] W poniedzialek jest nowy start, miejmy nadzieje ze wszystko pojdzie gladko.
Nie mialem niestety mozliwosci sprawdzenia serwera in-game. Nie ma klienta pod linuxa
A windy pod nosem nie mialem, wiec nie wypowiem sie na ten temat, ale znajac mapperow i kodera, musi byc dobrze.
A juz teraz zapraszam Was do odwiedzenia strony i forum serwera:
Mimo iz serwer jest pod patronatem konkurencji (pozdrawiam ;]) to ciesze sie ze ten projekt wystartowal i bede mu kibicowac po ostatni dzien. Zreszta, kto powiedzial ze patronat musi byc tylko jeden?
Coz jeszcze? Wypuscilem nowa wersje mojej klasy, SDB 0.1.8 – do pobrania z repozytorium Google.
Zmianie ulegla cala funkcja query oraz debug (jak sie okazalo niezbyt dobrze smigajaca
). W tej chwili klasa jest wedlug mnie gotowa do pracy i mozna za jej pomoca wycisnac wszystko co trzeba i bezblednie z mysqla. Sam musze zaaktualizowac liste ots, do nowej wersji, a wlasnie a propo listy.
Strasznie nudno sie ja kodzi
Dopoki ie bedize nic nowego z czym bede musial sie zmagac, to bedzie to klepanina, rejestracja, logowanie i inne pierdy, ile razy mozna to samo pisac inaczej?
Ale zapewniam Was, ze lista Otsoft bedzie miala swoje wlasne, dodatkowe funkcje, ktorych nie znajdziecie na innych listach + oczywiscie wszystkie podstawowe
A propo dodatkow, zastanawialem sie nad ocenianiem serwera i komentarzami, ale wydaje mi sie to zbedne, w koncu polowa ludzi szukajacych serwa na listach ma iloraz inteligencji rowny automatowi do coli (sorry, ale to prawda
) a takich komentarzy raczej nie byloby milo czytac.
Ale o ficzersach jeszcze nie raz bedzie mowa. A w dniu premiery listy poleci mailing do wszystkich userow otsoft
Sorry z gory za spam, ale raz na rok moge Was troche zasmiecic
No i w sumie tyle na dzis i pewnie na caly miesiac. Narta.
Otsoft 1.2 Chmura tagów
Nareszcie znalazłem trochę czasu zeby zając się skryptem Chmury tagów, który zacząłem pisać już dobrych kilka tygodni temu, jednak nie został dokończony ze względu na problemową strukturę bazy danych
Dzisiaj jednak trochę ją przebudowałe, tak aby tagi z newsów jak i z wyszukiwarki trafiały do jednej tabeli a z tamtąd już skrypt sobie dał radę dalej. Po przepuszczeniu wszystkich tagów przez strtolower sporo się wykruszyło jako zdublowane klucze, ale to nie był największy problem, jak zwykłe największym problemem był algorytm przetwarzania danych, tak aby wyświetlane tagi miały osobne wielkości. Nie byłem tutaj zbyt oryginalny, ale system działa bez zarzutów
Jedyną rzecza nad która się zastanawiam do tej pory jest to, czy pobierać rekordy z bazy losowo czy np w zależności od ilości wybrań/klinięc? Mimo wszystko raczej zostanę przy losowych – wiadomo że użytkownicy będą klikali w tagi, co tym sammym podniesie ich counter o jeden, więc jeśli chmura by się nei zmieniała, to podane frazy rosłyby w siłe, a przecież trzeba też dać szansę innym prawda?
Równocześnie wywaliłem losowe cytaty. Nie cieszył się zbytnią popularnością a i niewiele można było tam napisać, jedyny smród jaki pozostawiłem po sobie to panel admina w którym nadal można zarządzać cytatami i słowa nie ma o konfiguracji chmurki tagów, ale wszystko w swoim czasie.
Long time no see huh?
Oho, już jakiś czas nie napisałem tutaj nawet jednego słowa, czas nadrobić zaległości i poopowiadać co się wydarzyło, a wydarzyło się trochę.
Zacznijmy od updatu Akademickiego – na stronie www.akademicki.eu lub ots76.com możecie znaleźć nowy layout, grafikę zrobił jakiś kolo, nie wiem nawet kto, ale najważniejsze że nawet dał rade, chociaż mógłby się bardziej postarać, kod php nabazgrałem – chociaż nie robiłem tego z jakimś wielkim zapałem
Mimo wszystko to co miało być to jest, jeszcze statystyki – które najprawdopodobniej będą odświerzane co jakiś czas, tak aby nie zjadały zbyt wielu zasobów. Cron +mysql i gra gitara.
Idźmy dalej, na otsoft.pl wielu zmian nie zaznamy, zbyt byłem zajety Akademickim, ale pewnie coś w tym czasie zrobiłem o czym nie pamiętam
Napisałem sobie wczoraj mały systemik zarządzania mapą, kto jest w posiadaniu, statystyki, historia, notki zmian itd. ale zastanawiam się czy nie dać przy okazji możliwości ściagnięcia mapy przez http, chociaż to jest trochę niebezpieczne w gruncie rzeczy, mimo że zabezpieczeń jest od groma…to jednak chyba warto się pomęczyć i włączyć klienta ftp i chyba tak zostanie.
Na studiach narazie cicho i bardzo dobrze, chociaż już trzeba sprawozdania odnosić i jakieś marne kartkówki pisać… byle do świąt
Na koniec polecam mega shizową gierkę:
http://jiggmin.com/play.php?game=the_Game_of_Disorientation
Miłej zabawy ;D
Ogólnie na temat Open Tibia
Pare suchych zdań na temat czym ten stwór jest, dla tych którzy z tym akronimem spotykaja się po raz pierwszy.
Open Tibia Server -Otwarty Serwer Tibii, alternatywne serwery gry Tibia – emulatory protokołu tej gry.
Wykorzystują one lukę prawną, związaną jeszcze z wersją niekomercyjną Tibii. Same serwery są legalne, lecz używanie oficjalnego klienta Tibii do grania na nich nie jest zgodne z prawem, ze względu na warunki licencyjne gry. Oprogramowanie serwerów jest tworzone na licencji GNU GPL przez wielonarodową grupę ochotników za pośrednictwem systemu >SVN udostępnianego przez SourceForge. Prócz tego istnieją jeszcze dystrybucje tworzone na podstawie obrazu z repozytoriów SVN, zawierające funkcje niedostępne w oficjalnej wersji silnika. W Internecie krążą setki zmodyfikowanych wersji silnika, począwszy od pierwszych modyfikacji dla Tibii 6.0 po najaktualniejsze. Praktycznie każdy może pobrać kod źródłowy serwera, zaaplikować wybrane przez siebie łatki dodające nowe funkcje i opublikować własną wersję serwera.
- Zamieszanie i pierwsze pieniądze
Całe to zamieszanie wokół serwerów Open Tibia rozpoczęło się w zasadzie w momencie, kiedy ludzie zaczęli na tym zarabiać, prekursorem finansowych rozwiązań był bodajrze AVD serwer, który sprzedawał konta premium na zasadzie przelewów bankowych, serwer stał jak dobrze pamiętam około jednego roku (2005?), był to największy serwer open tibia zrzeszający największą ilość graczy pod protokołem 7.4 lub 7.5.
Cechą charakterystyczną było to, że account maker tego serwera był wzorowany na oryginale z tibia.com. Co się stało że AVD zniknął z sieci tego nie wiem, ale pewnie chodziło o pieniądze
- Yurez i jego silniki
Od tej pory koderzy z całego świata zakasali rękawy i zaczęli tworzyć kod do silnika gry. Jednym z najbardziej zaangażowanych i profesjonalnych ludzi był Yurez, który wypuścił wszystkie wersje YurOTS. Były to pierwsze serwery, które pomału ale z dobrym skutkiem emulowały Tibię. Dziesiątki tysięcy linijek kodu po to aby każdy z nas mógł ściągnąć YurOTS i pobawić się z kolegami w „domową Tibię”
to były na prawde piękne czasy, Yurez pracował jak pszczółka i wypuszczał nowe wersje.
Wszystkie jego programy związane z OTS można nadal ściągnąć z jego strony:
Zareklamowałbym teraz swój mały download, ale sobie podaruje
I tak na prawde to Yurez zaczął ten bałagan. Tak Yurez, to przez Ciebie teraz Cipsoft nie trzyma moczu i zrzera paznokcie patrząc na tysiące graczy, którzy zrezygnowali z Tibii i grają teraz na OTSach
I chwała Ci za to.
Silniki Yureza stały się materiałem wyjściowym do dalszej obróbki, Devland, Neverland, Armonii i mnóstwo innych silników bazowało na Yurezie, właściwie można powiedzieć że było to 95% . YurOTS poległ na wersji 0.94f – ostaniej pod protokół 7.6, od tamtej pory koder nie ruszył więcej żadnego kodu związanego z OTS, może Cipsoft przyjął go do pracy, kto wie
- SVN – nowa era dla serwerów Tibii.
Dalsze losy OTS były rozwiane jak stara szmata na śmietniku ;] Skład załogi tworzącej kod zmieniał się bardzo często, aż do momentu kiedy pojawił sie SVN
i silniki pod protokół 7.92 wzwyż.
SVN wprowadził bardzo dużo pożytecznych zmian w kodzie, od teraz administrator serwera więcej czasu mógł poświęcić skryptom LUA, bowiem w ich tkwiła cała moc, svn postarała się aby jak najmniej dodawać do kodu samego silnika, postawiła na zewnętrzne pliki i bardzo dobrze. Nie ma już tak wielu dziur do poprawienia w najnowszych silnikach, OTS zmierzają do punktu w którym zostanie już tylko dodawanie tego, co Cispoft wypuści i edytowanie skryptów, map i innych peryferyjnych plików.
- SMS Premium
Ale wracając do tych zarobków. Cały wic polega na tym że ostanio każdy z nas może zamówić sobie specjalny numer telefonu, na który gracze mogą wysyłać smsy, z każdego takiego smsa administrator dostaje prowizje, w granicach 30% jego wartości, to żadna tajemnica tego rodzaju sposób zarobkowania był wykorzystywany już wcześniej, szczególnie łatwo można było się nań natknąć na stronach porno
Osobiście nie płaciłem gwoli ścisłości
Sama idea wydaje się skomplikowana, jednak istnieje wiele firm, które prawie wszystkie formalności z sieciami komórkowymi załatwią za nas (i oczywiście zabiorą sobie część prowizji
). Jednym z najbardziej popularnych jest Dotpay (do 31 maja trzeba zmienić domene w skryptach z allpay.eu na dotpay.eu, jakby ktoś zapomniał
). Wygodny panel zarządzania smsami, możliwość ustawienia treści i ceny smsa, prosto łatwo i wygodnie, a po drugiej stronie? Gracz też ma wygodnie, wysyła smsa na wskazany numer, przychodzi mu kod potwierdzający, kod wprowadza w formularzu na stronie i gotowe, pełna automatyzacja
i już nie trzeba chodzić do banków czy na pocztę aby zamówić konto PACC.
Premium SMS stało się tak popularne, że teraz co drugi, ba nawet można powiedzieć ze prawie każdy serwer posiada pacc sms w swojej ofercie. Co ma swoje plusy i minusy oczywiście.
- Co dalej z serwerami?
Cipsoft się wypina i tylko patrzy jak dolary wymykają się pokrętnie z ich portfeli, trudno…Koderzy pracują nad aktualizacjami, zaplecze i szara strefa rośnie w zaskakującym tempie, serwerów otwartych przybywa, faktem jest jeszcze to, że na 100 serwerów może 5 pozostanie na dłużej, ale to już historia na inną noc
Jesteśmy już w momencie kiedy ludzie wykupują serwery dedykowane i to już stało się normą. Myślę, że następnym krokiem będzie rozdysponowanie jedego serwera na kilka maszyn dedykowanych, np na 3, jedna odpowiedzialna za logowanie graczy, druga przechowujaca wszystkie dane + apache+php, trzecia na której uruchomiony będzie silnik gry, a wtedy na jednym serwerze będzie można już zobaczyć po kilka tysięcy graczy.
Który z nas pierwszy zrealizuje ten cel?
