Forum Tibia.pl

Forum Tibia.pl (http://forum.tibia.pl//index.php)
-   Niusy (http://forum.tibia.pl//forumdisplay.php?f=12)
-   -   Kulisy techniczne gier MMORPG. (http://forum.tibia.pl//showthread.php?t=173253)

neopostman 02-05-2008 00:15

Kulisy techniczne gier MMORPG.
 
W godzinach szczytu w Tibii przebywa nawet do 60 tysięcy osób. Jak tak dużo osób może grać w jednym momencie? Jaki sprzęt jest niezbędny do tego, aby wszyscy cieszyli się płynną grą? Dzisiaj chcemy wam uchylić rąbka tajemnicy i wprowadzić was w nasz świat od nieco innej, technicznej strony ;).


Za każdym razem, gdy logujesz się w naszej grze, wiele operacji, zapisanych w naszych serwerach jest sprawdzanych, m.in: Który outfit został ustawiony jako domyślny? Czy twoja postać spała w łóżku i czy regenerowała punkty hp i manę? Czy ów bohater wciąż jest właścicielem swojego domu, czy właśnie dobiegło to końca? Czy wciąż jest właścicielem konta premium czy zaloguje się w świątyni w mieście poza obszarem premium? Ponadto twoja postać musi się zalogować w tym samym miejscu, w którym się wylogowała i dodatkowo musi pojawić się informacja o dacie twojej ostatniej wizyty. Wszystkie te drobiazgowe i mało znaczące dla ciebie operacje są wykonywane od momentu wybrania twojej postaci do zalogowania się na niej. W większości wypadków nie zajmuje to więcej niż 2 sekundy. Czas w grach MMORPG typu Tibia odgrywa bardzo ważną rolę. To oznacza, że wszystkie akcje, które chcesz zrobić, muszą być wykonane jak najszybciej. Jeżeli chcesz, aby twoja postać ruszyła się, ona wykonuje ten ruch w momencie naciśnięcia klawisza a nie 3 sekundy później. Jest to bardzo ważne m.in podczas walki z różnymi potworami lub postaciami. W rezultacie wszystkie urządzenia i algorytmy są ciągle w miarę możliwości polepszane aby utrzymać jak najmniejszy czas reagowania twojej postaci. O jakich urządzeniach mówimy ? Wyjaśnimy to wam w dalszej części artykułu.

Wiele gier on-line opiera się na jednym serwerze. Gracz pobiera klienta, następnie instaluje go na swoim komputerze, po czym loguje się do gry poprzez internet. Jednak jest kilka różnic, jeśli chodzi o Tibię. Ów gra jest utrzymywana przez 200 różnych serwerów. 18 serwerów jest odpowiedzialnych za oficjalną witrynę- www.tibia.com. Są serwery na których oddzielnie umieszczamy obrazki i zdjęcia, inne odpowiadają za informacje dotyczące loginu postaci, jeszcze inne przechowują statystyki, no i wreszcie takie, dzięki którym możesz pobrać odpowiedniego klienta. Kilka innych przechowuje informacje z forum. Za każdym razem, kiedy odwiedzasz naszą stronę, najpierw zostajesz połączony z serwerami, które przeniosą cię na inne w zależności od tego, jaką operację wykonasz. W ten sposób nasza strona działa o wiele szybciej, aniżeli miałoby to być wykonywane poprzez użycie jednego serwera. Jednak sama gra wykorzystuje o wiele więcej serwerów. Najważniejsze są serwery odpowiedzialne za płynność gry, logowanie i te w których przechowujemy bazę danych naszych graczy. Jednak twój komputer nie może się połączyć z tymi serwerami dopóty, dopóki nie będziesz miał zainstalowanego i w pełni sprawnego klienta.

Klient.
Klient to program instalowany na Twoim komputerze. Za jego pomocą możesz widzieć całą mapę świata. Twoja postać jest zawsze skoncentrowana na środku mapy. Dzięki temu możesz widzieć wszystkie otaczające cię postacie i efekty specjalne, m.in czary. Na twoim komputerze zawsze zapisywane są rzeczy takie jak: tekstura mapy, wygląd potworów, twoje outfity i konfiguracje hotkey'ów. Za każdym razem, gdy chcesz wykonać dowolną operację, klient wysyła informację do odpowiedniego serwera. Bez niego wszystkie nie byłyby one wysyłane do serwerów i gra nie miałaby miejsca.

Login serwer.
Zanim zaczniesz swoją grę, musisz zalogować się, co wiąże się z połączeniem do odpowiedniego serwera. Zawsze, kiedy się logujesz, login serwer weryfikuje twoje hasło w bazie haseł i identyfikuje twoje konto. Po tym, jak wybierzesz swoją postać, odpowiedni serwer definiując odpowiednie algorytmy przenosi cię na twój świat. Posiadamy kilka login serwerów rozmieszczonych w różnych miejscach na całym świecie. Jest to ważne rozwiązanie, ponieważ nasza gra jest cały czas płynna, nawet w przypadku, kiedy któryś z tych serwerów jest nieczynny, po prostu zostaniesz przeniesiony na inny. Dodatkowo na nich przechowujemy wszystkie aktualizacje obejmujące grę, więc za każdym razem, kiedy się logujesz, zostaje sprawdzane to, czy posiadasz najnowszą wersję klienta. Jeśli posiadasz starszą wersję, automatycznie zostanie ona aktualizowana na nowszą wersję.


Baza danych.
Najważniejsze dane są zapisywane na serwerach bazy danych. Za każdym razem, gdy próbujesz się zalogować, login serwer pobiera stosowne informacje z serwera bazy danych. Tutaj sprawdzamy m.in to, czy wpisane hasło jest poprawne, jak i nanosimy odpowiednie poprawki, na przykład zmiana hasła ale najważniejszą funkcją jest "zapamiętywanie" cech twoich postaci. Jesteś tutorem lub członkiem gildii? Posiadasz konto premium? Wszystkie te informacje są przechowywane na serwerach bazy danych.


Serwer gry.
Po tym, jak wszystkie informacje, dotyczące twojej postaci zostaną pozytywnie zweryfikowane, klient łączy się z serwerami gry. W Tibii, każdy z 74 światów ma swój własny serwer, na każdym z nich może się połączyć tysiąc graczy. Takie rozwiązanie jest stosowane w grach z bardzo rozległymi mapami. Inne, mniejsze gry on-line takie jak TibiaME posiadają kilka różnych światów ulokowanych na jednym serwerze.
Serwery gry spełniają wiele rozmaitych funkcji tj: informowanie twojego klienta m.in o tym, że zostałeś zaatakowany, obliczają, ile potrzebujesz uderzeń aby awansować w odpowiednim skillu, sprawdzają, czy jakieś potwory są niedaleko twojej postaci. Serwery gry wysyłają również do twojego klienta informacje, aby sprawdzić, czy jesteś zalogowany. Jeżeli nie otrzymają reakcji, twoja postać zostanie wylogowana po jakimś czasie.
Jak już wspomnieliśmy wszystkie operacje są wykonywane w bardzo szybkim czasie. Jest tak, ponieważ mapa całego świata Tibijskiego jest zapisywana w serwerach gry. Jest to wiele szybsze rozwiązanie aniżeli przechowywanie mapy w serwerach bazy danych. Dodatkowo wszystkie przedmioty istniejące w Tibii, potwory, przedmioty w twoich depozytach, informacje dotyczące questów i czarów są przechowywane w każdym z tych serwerów. Gdyby informacje tego typu, byłyby wysyłane do każdego świata przez serwery bazy danych trwałoby to zdecydowanie dłużej.
Największym problemem okazały się połączenia pomiędzy serwerami gry a klientem. Jedyną rzeczą, dzięki której możemy zapewnić dobrą szybkość tych połączeń jest wybór dużej liczby serwerów umieszczonych u licznych usługodawców. Dzięki temu nawet jeżeli u jednego dostawcy serwery są nieczynne, pozostałe działają bez zarzutów. Był to jedyny czynnik, dzięki któremu przenieśliśmy chwilowo światy z amerykańskich serwerów na inne.
Za każdym razem jak będziesz chciał się wlogować, twój klient połączy się z naszymi serwerami. Wtedy to login serwer sprawdza twoje informacje w bazie danych, po czym widzisz listę twoich postaci. Po wybraniu odpowiedniej postaci, login serwer przeniesie cię na serwer gry dla odpowiedniego świata. Po zalogowaniu klient utrzymuje kontakt z naszymi serwerami co pozwala ci na wykonywanie wielu operacji twoją postacią, jak i sprawdzanie, czy cały czas twój klient utrzymuje kontakt.
Jak widzicie Tibia działa dzięki pracy wielu serwerów. Cały czas pracujemy nad tym, abyś mógł poruszać sie po Tibijskim świecie coraz płynniej. Nawet, jeśli napotkasz niewielkie problemy techniczne, masz świadomość, że Tibia jest grą, która działa płynnie i która jest stale ulepszana ;).

_Cyrus_ 02-05-2008 12:41

''Tibia jest grą, która działa płynnie'' 0.o !

;D

neopostman 02-05-2008 12:47

Cytuj:

Oryginalnie napisane przez Bunczer-Smalec (Post 2034376)
Juz niemieli o czym kur.. temat jebn..c tylko o jakich sprawach technicznych. My tu czekamy od 1.5 roku na nowe swiaty i codziennie sprawdzamy czy moze sa juz a moze kiedy wyjda a oni takie cos ... h** mnie obchodzi ich technologia. Ja chce New Worlds i juz ... Moja wypowiedź ~~ prawie jak ADHD ...

Przeczytałbyś artykuł to byś wyczytał, że każdy świat ma oddzielny serwer. Więc nowy świat to nowy serwer. A nowy serwer to nowe koszty. Chcesz nowy świat ? Wyślij im 7 tysięcy euro i będziesz miał swój własny.

Rybzor 02-05-2008 12:51

Cytuj:

Oryginalnie napisane przez neopostman (Post 2034378)
Przeczytałbyś artykuł to byś wyczytał, że każdy świat ma oddzielny serwer. Więc nowy świat to nowy serwer. A nowy serwer to nowe koszty. Chcesz nowy świat ? Wyślij im 7 tysięcy euro i będziesz miał swój własny.

7 tysięcy euro to oni zarabiają zanim zdążysz mrugnąć :x

L.Sniper 02-05-2008 12:58

"Cały czas pracujemy nad tym, abyś mógł poruszać sie po Tibijskim świecie coraz płynniej " ciekawe... Ja jakoś nie widzę w tym Tibijskim świecie płynności , caly czas mozna napotkać lagi i kicki ;)

Alanus Lutinum 02-05-2008 13:01

Można by tym sposobem wyjaśnić mass kicki, kiedy jeden serwer pada, to zanim nas przeniesie na drugi dostaniemy kicka.

Chociaż nowe światy to by się przydały.

Driger 02-05-2008 13:34

Noobowskie wypowiedzi mnie oslabiaja
 
Cytuj:

Oryginalnie napisane przez L.Sniper (Post 2034405)
"Cały czas pracujemy nad tym, abyś mógł poruszać sie po Tibijskim świecie coraz płynniej " ciekawe... Ja jakoś nie widzę w tym Tibijskim świecie płynności , caly czas mozna napotkać lagi i kicki ;)

Rozumiesz slowo plynnosc ? Jesli chodzi o serwery i przesylanie danych itp to tibia pod tym wzgledem jest dobrze napisana.

Nowe swiaty dobra , to ulatwi tylko gre wam jesli chodzi o tibijskie PA , ale czy rozwiaze stawianie nowych serwow problem z lagami ? Nie sadze , duza role odgrywa tu dobrze napisany , optymalizowany silnik gry. Bez tego ani rusz .

Leader Fox Dragstar 02-05-2008 13:45

Cytuj:

Oryginalnie napisane przez Driger
Rozumiesz slowo plynnosc ? Jesli chodzi o serwery i przesylanie danych itp to tibia pod tym wzgledem jest dobrze napisana.

no to Ty chyba chlopcze sie nie slyszysz, tibia pod tym wzgledem to jeden z najbardziej <szukaslowa> eee... nie przemyslanych konstrukcji jakie istnieja

neopostman@
kto tlumaczyl arta?

Rybzor 02-05-2008 13:53

Cytuj:

Oryginalnie napisane przez Leader Fox Dragstar (Post 2034477)
neopostman@
kto tlumaczyl arta?

neopostman, a kto ._.

Leader Fox Dragstar 02-05-2008 13:54

o kurde, XD to niezle, nigdy bym sie czegos takiego nie spodziewal po takiej osobie xd

Rybzor 02-05-2008 13:56

Cytuj:

Oryginalnie napisane przez Leader Fox Dragstar (Post 2034491)
o kurde, XD to niezle, nigdy bym sie czegos takiego nie spodziewal po takiej osobie xd

Jakiej znowu osobie? :o : D

@down
Aaa.. no widzisz, on też posiada te swoje ukryte piękno!

;*

Leader Fox Dragstar 02-05-2008 13:58

takiej ktora do wszystkiego i wszystkich ma pretensje, a soba nic nie reprezentuje xd


up@
no moze byc, nie zaprzeczam ale to nie zmienia faktu ze i tak wole Ciebie ; *

Sir'Matek 02-05-2008 14:15

cipsoft pokazuje że ma dość postów "tylko kasa za pacce im w głowie, tylko by sobie dogodzić" tym artykułem

i bardzo dobrze, może niektórzy zobaczą po co tak naprawde jest pacc i dlaczego jest w nim tyle udogodnień...
Pozdro

Kubaland 02-05-2008 14:38

Nie wiedziałem połowy tego :D

Driger 02-05-2008 15:01

Cytuj:

Oryginalnie napisane przez Leader Fox Dragstar (Post 2034477)
no to Ty chyba chlopcze sie nie slyszysz, tibia pod tym wzgledem to jeden z najbardziej <szukaslowa> eee... nie przemyslanych konstrukcji jakie istnieja

slyszec sie napewno nie slysze , co najwyzej widze co pisze . Jest dobrze napisana pod wzgedem online gra a Ty sie czepiasz. Moze masz jakies argumenty ?

Nie porównuj tylko mi tu Tibi do WoWa czy czegos . Bo jak da sie zauwazyc jest wielka roznica miedzy tymi producentami.

__Pik__ 02-05-2008 15:02

Ciesze się, że wreszcie dowiedziałem się jak to naprawde działa :P W końcu dla informatyka jest to zecz wazna :P A ja nim bede.

Levi 02-05-2008 15:09

Bardzo fajny artykuł może ktoś pomyśli że jednak utrzymanie tego w całości wymaga trochę pracy...

Btw.
Pozdro dla noobka z nerany(Tomas Demolisher) który knifa nie potrafi zdobyć i usilnie zabija mi silmy na których skilluje. :D

..::QRAS::.. 02-05-2008 15:11

Cytuj:

Oryginalnie napisane przez __Pik__ (Post 2034617)
Ciesze się, że wreszcie dowiedziałem się jak to naprawde działa :P W końcu dla informatyka jest to zecz wazna :P A ja nim bede.

A dla ortografa jest to rzecz nie wazna

Shaolin_ded 02-05-2008 15:14

Co do tych serwerów... Jeżeli rzeczywiście jest ich aż tyle to normalnie ŻAL !!!!! pograj sobie na otsie z 300 osobami online - nie ma lagów i cała gra jest tylko na 1 kompie...
Wracając do wowa to ots na zwykłym kompie z 200 graczami mimo świetnej grafiki sie nie tnie i jest mniej niezawodna od Tibi. Jest też jeden serwer na którym może grać do 1 k graczy i też sie nie tnie i nie kicka ...

CzubiX 02-05-2008 15:30

@up, sam jesteś żal, pomyśl zanim napiszesz.


Wszystkie czasy podano w strefie GMT +2. Teraz jest 23:28.

Powered by vBulletin 3