Diskuze: Herní server separace login/game části?
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Tech serveru byva klidne 10 000 Pokud ale jde o dělení na kategorie, tak většinou bývá
Login, Map a Chat server. Je to kvůli výkonu,, stabilitě a ochraně. Na MMORPG se již dnes používá architektura micro service a Actor frameworky. Treba veci a hy od microsoftu používají často Orleans framework.
Architektury jsou mimo mně, nicméně jak už jsem zmínil otázku jak to teda vlastně funguje v případě nějakého rozděleného login serveru a game serveru, jdu na to správně podle toho co jsem původně napsal?
Funguje to na velmi obdobnem zpusobu jako dnesni webove technologie - AUth2 a JWT. Tedy dostane token.
Tokenem je myšlen nějaký jedinečný identifikátor, který je pak posílán na server s každou zprávou?
U hry není potřeba ten token posílat pokaždý znova, stačí si ho jen zapamatovat pro dané připojení.
TOKEN JE vetsinou zasifrovana identita. Koukni se na to JWT, jak jsem ti napsal a pochopis.
Teď ještě otázka jak se v případě desktop aplikace řeší předání těchto pár informací mezi dejme tomu game serverem a login serverem? Při úvaze že jsou to dvě samostatné aplikace.
Přes společnou DB?
To už záleží na tom, jestli ten login server i herní na sebe vidí - pak můžeš klidně i přes normální TCP request z login serveru na herní, kde bys poslal data co potřebuješ (takže nejspíš nějaký id hráče) a ten token, herní server by si to pak uložil třeba na minutu do nějaké keše.
Ten token by jsi poslal i zpátky klientovi a ten by se po připojení na gameserver tím tokenem prokázal, server se kouknul do tý keše, takže by herní server věděl, které připojení spárovat s kterým hráčem.
No servery na sebe nejspíše prozatím uvidí velmi dobře, pač budou i na stejném stroji.
Nicméně bezva, díky za info !
Zobrazeno 11 zpráv z 11.