Jump to content
  • Advertisement
Sign in to follow this  
HateDread

Gameplay server vs game lobby / chat / global stats?

This topic is 695 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I have a dedicated server in standalone C++ with a UE4 client, and am taking an early look at the 'typical' implementations of RTS game lobbies, i.e.
 
tPfQ8It.png
 
 
vaRxAYy.png
 
Does the logic for these systems typically run within the dedicated server .exe, or is there a separate layer on top, such as some other executable (or even in the game client itself) that manages the chat and game setup, which is then forwarded to a dedicated server on game start? What about if there is the option to play both on cloud-hosted games with some official ranking and authentication, and on LAN-based player-hosted games?
 
For example, one could give the game server a 'pre-match' state, where it accepts connections and facilitates communication between clients on the lobby screen, gives the option of map selection, and so on. I'm just not sure if giving this responsibility to the game server is unnecessarily muddying its role, and I'm just missing some better solution. An alternative is to use some external system, or even via some light networking solution in the client, to facilitate game settings and map selection, and then inform game lobby players of the gameplay server's IP so they connect over to it and can start/join the game.
 
Either way, connections to these systems would be facilitated/forwarded by some master server listing of available global games, or via a local server browser for LAN games, thus it's important for the game lobby and chat to work without a master server (for LAN without internet connection).
 
Any resources on this side of things would be awesome.

EDIT:

Here's an example I cooked up of using a separate lobby server, with possibilities of: player-hosted LAN (lobby server would be locally hosted, then), player-hosted custom (online), cloud-hosted custom, cloud-hosted 'official'/ranked:

hzWnLGr.png

I'm wondering what people think. Is it worth using a separate layer for the game lobby, in-between matchmaking/master and game server?
Edited by HateDread

Share this post


Link to post
Share on other sites
Advertisement

A very common setup is to have a "game selector" server which lists all known game instances, and lets players choose an instance to connect to.

Then, the "game setup" for the particular instance is done on the client that is "hosting" the game (and thus also acting as "server" for the game instance.)

Typically, you'd set up # players, map selection, and such things initially on a client, then "list" or "publish" the game to the lobby server (which has a known DNS name / runs on a central server.) Then other clients connect to this game list server, find the game they want to connect to, and connect to that game. This also allows you to do NAT punch-through, by using the game list server as introducer.

Once players are connected to the specific game instance, that'll typically do chat, change-of-maps, selection-of-faction, and such things, as part of the game server/protocol itself.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!