Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

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

Aktivity (1)
Avatar
Elisse
Člen
Avatar
Elisse:16.11.2016 18:31

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.11.2016 18:31
Avatar
Marian Benčat
Redaktor
Avatar
Marian Benčat:17.11.2016 0:42

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.11.2016 0:42
In Smalltalk, everything is an object, In Clojure, everything is a list, In Javascript, everything is fucking mistake
Avatar
Elisse
Člen
Avatar
Odpovídá na Marian Benčat
Elisse:18.11.2016 16:08

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.11.2016 16:08
Avatar
Marian Benčat
Redaktor
Avatar
Marian Benčat:19.11.2016 0:33

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

Nahoru Odpovědět 19.11.2016 0:33
In Smalltalk, everything is an object, In Clojure, everything is a list, In Javascript, everything is fucking mistake
Avatar
Elisse
Člen
Avatar
Odpovídá na Marian Benčat
Elisse:21.11.2016 14:07

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.11.2016 14:08
 
Nahoru Odpovědět 21.11.2016 14:07
Avatar
Luboš Satik Běhounek
Autoredaktor
Avatar
Odpovídá na Elisse
Luboš Satik Běhounek:21.11.2016 14:31

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.11.2016 14:31
https://www.facebook.com/peasantsandcastles/
Avatar
Marian Benčat
Redaktor
Avatar
Odpovídá na Elisse
Marian Benčat:21.11.2016 15:34

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

Nahoru Odpovědět 21.11.2016 15:34
In Smalltalk, everything is an object, In Clojure, everything is a list, In Javascript, everything is fucking mistake
Avatar
Elisse
Člen
Avatar
Odpovídá na Marian Benčat
Elisse:22.11.2016 9:32

Jasné , díky :)

 
Nahoru Odpovědět 22.11.2016 9:32
Avatar
Elisse
Člen
Avatar
Odpovídá na Luboš Satik Běhounek
Elisse:22.11.2016 9:34

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.11.2016 9:34
Avatar
Luboš Satik Běhounek
Autoredaktor
Avatar
Odpovídá na Elisse
Luboš Satik Běhounek:22.11.2016 11:32

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.11.2016 11:32
https://www.facebook.com/peasantsandcastles/
Avatar
Elisse
Člen
Avatar
Odpovídá na Luboš Satik Běhounek
Elisse:22.11.2016 11:57

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.11.2016 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.