One dedicated server, multiple game sessions?

My company expects our project to have a lobby where clients connect to a single, authoritative dedicated server, and wait for up to 4 players to join before starting a game session. That’s the easy part. The hard part is trying to figure out a way to have this feature remain available to all players, even when a match has already been started (including the ability to start another game session)… And without the need to buy more dedicated servers.

Is this possible?

1 Like

Just to clarify, we want to allow more than 1 session to be played at the same time, instead of forcing others to wait for a previous session to end. It’s a 4-player card/board game, so it’s a bit silly to deny anyone’s ability to play when a multiplayer session already exists. And our server can handle the bandwidth & CPU power, so it’d be a waste of $$$ if we had to buy multiple physical servers to achieve this.

1 Like

Just run multiple dedicated servers on single machine and bind them to different ports or IPs in your disposal, thats common practice in game server hosting business. I mean you can’t find much games that do what you describe primery because you can run multiple processes in one machine. Not to mention running other (software) servers on sperate process improves multi-threading as non-used cores can handle other server and way you describe it (which is is indeed possible but only via C++ and creating new world instances, i’m not sure how it would work with replication) won’t do much diffrence, UE4 (and machine as result) still would need to handle each world sepretly.

I think what you aiming for is similar set up to Rocket League (which is game made on UE3), which has lot of dedicated server running running all the time. and they have match making servers that monitors those servers and connect clients to selected free. I know this because you can see server name when you join the game, now sure why they placed it in HUD ;p

The biggest challenge is match making server (not sure if Steam for example can handle that for you) but it easier challenge then running multiple world instances and you could set it up over HTTP and ofcorse cost, as more players you gonna have, one machine might not be enough, Rocket League had that issue, but primarly was caused by prefermence issue of there match making system, when game appeared on PS Plus people jammed the server.

Alternatively and i think you should consider that, is let users host the games, PC gamers love that aspecially if your game is compatitive, clan severs are have thing and game server hosters will be happy to provide them hosting without you paying anything, but on consoles i’m not sure if Sony and MS allows this setup

1 Like

Thanks for the input! This will be a 2-4 player board game involving cards, and we plan to target PC (Steam) and iOS, and we do plan to make it slightly competitive, but a bit less so than what you would expect out of an MMO, FPS or MOBA game (it’s much more relaxed than any real-time, action-based game). A single session will take up very little of our CPU power, so until we grow our userbase & finally start turning a profit, we plan to utilize this server for everything – matchmaking lobby, game sessions, databases… basically everything besides our actual website. I am rather fluent in C++, so that’s not really an issue here either. It’s mainly just the idea of getting UE4 to play nice with this sort of implementation, until it’s within our budget to acquire more physical servers.

Does UE4 support any sort of raw TCP/UDP send/receive? If that’s the case, then I suppose running multiple instances of the game could work, as I could just write a small console app in C++ which would act as the session manager & matchmaker, then have all clients connect to that, which would also be responsible for starting new server-side instances of our game. Hopefully this idea isn’t too far-fetched?

Actually, just as I submitted that comment, a co-worker shared THIS wiki page with me. So unless I’m overlooking something, it looks like I’ll be doing what I’ve stated above. Thanks again!

Hello, I am working on the same issue.

I am interesting to know, how you complete this.

We are making a Racing Game now.

And we need to build the multiplayer Game Server.

I am trying to TEST Dedicated Server now.

Did you have any suggestions ?

( Thanks for everyone Help for me. ~ )

Same problem

Server as Windows Service. Use Firedaemon.