Friends, I have just started learning dedicated server systems. There are a few concepts I don’t understand, though. As far as I understand, a backend is written for team games such as CSGO (MatchMaking). In each match, a new game is started in another port and everyone is travel there. How should I make this backend? As a former blockchain backend dev, should I let users in with jwt to prevent everyone from entering the server as they wish? Should I start it every time like “gameServer.exe -log -port=1111” or should I just hibernate it? How many games can I run on a server, how many ports can I open? How should I control more than one server? Thank you very much in advance.
A pretty informative thread that answers some of your questions regarding dedicated servers
You would need to make your own system to spin up new servers and direct them to the new server.
Not sure if Epic online services doesn’t have any tools for this. But if you want your own then you will need to write them.
In general terms a “Server” is a single instance of the server files running. A “Physical Box” can run multiple server instances depending on the games demands and the hardware available.
Traditional low count game modes (2-32 players) you can typically run 2+ on a Windows Server [v2022].
- Intel Xeon E3-1270v5 processor (four physical 3.6ghz cores on QPI + hyperthreading + turbo->4ghz)
- 16GB DDR4-2133 ECC memory
World Size, Networked actor count, number of players etc has an impact on this.
Games like CS, Battlefield (1942-4), CoD 1-5, TF/TF2, Unreal Tournament, ran on traditional Game Server Provider (GSP) setups. Each physical box would run multiple 24/7 instances of games. These types of games do not move players to another server. They simply load a new map (rotation).
Epic Online Services and STEAM offer built in matchmaking services.
STEAMWORKS:
https://partner.steamgames.com/doc/features/multiplayer/matchmaking
Most hosting services like GameLift and PlayFab also provide MM services.
MS Azure PlayFab
AWS GameLift