Dear Cummunity
I would like to realize a game with the following server / client concept:
- A Master Lobby Server (TNet Lobby Server Client)
- A Master Data Server (TNet Server / Client ) (for Login evaluation, centralized profile storage, etc.) This server should be connected from every game client directly to load / save profile data (for example). This server has a connection to a database with user and group data.
- And last but not least a Game Server (TNet Server / Client ) which is local. This should handle the normal game object sync.
Currently I have a centralized lobby server and the "local" game server which handles the object syncing, and so on. But I'm not sure what's the best way to realize the centralised Master Data Server. Should I create a second TNet Instance which communicates to the master server? This may could be fine because of the RFC event system. Or should I implement an own TCP handler to communicate to the master server, but
The reason for the "Master Data Server" is, that I don't want, that the game clients directly access the main database.
The reason for the "local" Game clients is simple the performance and the bandwidth saving, so that only the game result, login, and so on has to be sent to the Master Data Server.
Has anyone experience what the best and most robust solution for this scenario would / could be?
Or is there another simpler solution for that? Maybe I don't see the most obvious solution for that, because I was studying around the concept too long...
Another question is the related to custom packages: Is there an elegant way to realize custom packages without messing around ever and ever again when a new version of TNet is released and I would keep my code up to date?
Thanks in advance, EdLan