Diskuze: Herní server separace login/game části?

C# .NET .NET (C# a Visual Basic) Herní server separace login/game části? American English version English version

Avatar
Elisse
Člen
Avatar
Elisse:

Zdravím, už jsem dlouho nic nepsal :)

Tentokrát bych se rád zeptal na téma v názvu. Všiml jsem si, že mnoho her má tyhle záležitosti oddělené a netuším ani tak moc z jakého důvod a jaké z toho plynou výhody a nevýhody?

Popřípadě jak to pak celé funguje? Klient se přihlásí na login serveru a dostane nějaké unikátní ID pomocí kterého pak komunikuje s herním serverem ? nebo jak?

Nemá s tím někdo nějakou zkušenost nebo nějaké tušení? :) Díky moc!

 
Odpovědět 16. listopadu 18:31
Avatar
Marian Benčat
Redaktor
Avatar
Marian Benčat:

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.

 
Nahoru Odpovědět 17. listopadu 0:42
Avatar
Elisse
Člen
Avatar
Odpovídá na Marian Benčat
Elisse:

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? :)

 
Nahoru Odpovědět  +1 18. listopadu 16:08
Avatar
Marian Benčat
Redaktor
Avatar
Marian Benčat:

Funguje to na velmi obdobnem zpusobu jako dnesni webove technologie - AUth2 a JWT. Tedy dostane token.

 
Nahoru Odpovědět 19. listopadu 0:33
Avatar
Elisse
Člen
Avatar
Odpovídá na Marian Benčat
Elisse:

Tokenem je myšlen nějaký jedinečný identifikátor, který je pak posílán na server s každou zprávou?

Editováno 21. listopadu 14:08
 
Nahoru Odpovědět 21. listopadu 14:07
Avatar
Odpovídá na Elisse
Luboš Běhounek (Satik):

U hry není potřeba ten token posílat pokaždý znova, stačí si ho jen zapamatovat pro dané připojení.

Nahoru Odpovědět  +1 21. listopadu 14:31
:)
Avatar
Marian Benčat
Redaktor
Avatar
Odpovídá na Elisse
Marian Benčat:

TOKEN JE vetsinou zasifrovana identita. Koukni se na to JWT, jak jsem ti napsal a pochopis.

 
Nahoru Odpovědět 21. listopadu 15:34
Avatar
Elisse
Člen
Avatar
 
Nahoru Odpovědět 22. listopadu 9:32
Avatar
Elisse
Člen
Avatar
Odpovídá na Luboš Běhounek (Satik)
Elisse:

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?

 
Nahoru Odpovědět 22. listopadu 9:34
Avatar
Odpovídá na Elisse
Luboš Běhounek (Satik):

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.

Nahoru Odpovědět 22. listopadu 11:32
:)
Avatar
Elisse
Člen
Avatar
Odpovídá na Luboš Běhounek (Satik)
Elisse:

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 !

 
Nahoru Odpovědět 22. listopadu 11:57
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.