How to host multiple sessions on a dedicated server?

Hey folks,

i try to set a dedicated server but with lobbys of up to ten players.

  1. Be in the main menu
  2. Search for lobbys
  3. Select a lobby and join it
  4. Set player color / team etc
  5. Host presses start and starts the game for everyone who joined the lobby
  6. Travel back after the game ended

How can i launch a session on a dedicated server? I dont want to use a listen server because players should be able to reconnect on connection loss. (Also for some other reasons) Do you have any hint on how i can archieve this?

Best regards

M

A single game server process cannot host multiple separate game instances.

Instead, you have to spawn multiple game processes, perhaps on the same server hardware. When doing that, each process needs to listen on a separate set of network ports, because only one process can bind to a particular port on a particular server (network interface, really.)

This may be easier if you use a containerized runtime – package up “a game instance” as a container, and when starting a new “server instance,” spin up a new container instance, with the appropriate configuration info to re-bind the network on the inside of the container to some available port on the outside, and forward that outside to the players who need to join.

2 Likes

Adding to what @jwatte said…

On a Windows box you can run each game/server instance as a Windows Service.

1 Like

I believe I this is the same as my requirement but can you confirm?

Dedicated server hosting the following:

Lobby map
Arena map 1
Arena map 2
Arena map 3 etc

Lobby UMG provides freedom to navigate and join one of the Arena maps that is never ended. Max of 25 players per Arena. Points obtain in maps are updating SQL DB

4 separate game servers?

3 Instances. Using a tool such as firedaemon you can have one installation of the dedicated server software. The daemon tool will create 3 running instances as services.

This is similar to running 3 MS Word docs at the same time. One install of software, multiple instances running.

Your single physical server just needs the resources to handle all running instances + overhead.

Lobby maps are typically only run on clients pre-connect to a game server.

Sweet thanks for the reply. Understood. I’m still under dev of each section and packaging to test that would be a time sync. I guess for the meantime I just test per level and tie together afterwards.

Maybe there’s a batch file i can create with the editor to host all instances.

I was able to accomplish the above for testing.

Lobby:
-server -log -nosteam
Arena: -server -log -nosteam -port=9000

Is it working ?