My multiplayer design has the following requirements:
- Authoritative server (players only aware of own state)
- 3 to 6 players per game, average of 4. Synchronous turn based.
- Each player makes a single choice every 60 second turn (one 32 bit int).
- Each player receives <1k state data at turn end.
- A single game session will last 10 to 20 turns.
- Minimal memory use per match/game (<4mb)
- Minor CPU processing done at turn start (<2ms on 4ghz CPU).
- Players can emote and text chat (individual or all players in match)
As the CPU and memory overheads per game sessions are so low I want to have multiple game sessions per instance/container. From reading the forums it looks like I can do this using the legacy multiplayer system (I saw mentsion of one t2 instance running multiple sessions) but using something that's already legacy for a new title makes me feel very uneasy and I'm not sure where the documentation for this can be found.
The new Multiplayer 2.0 stuff looks great, and I really love the new matchmaking system, but from the documentation and poking around the GSDK repo it looks like multiple sessions/matches per instance / container is not a supported use case? I've tried to find information about the overheads of windows containers but none of the material available online presents an analysis of the scenario here - everything focuses on containers vs vm instances and I've personally only ever used containers for standing up typical web microservices, never done any performance analysis.
I feel like one container per game session would be overkill for my use case as my server is c# .and loading the .NET framework into memory for each container (plus whatever other overheads the container has) seems very wasteful.
I already have a server that manages multiple matches in a single instance - refactoring to one-match-per-instance would be trivial though. What I don't have is matchmaking or scaling beyond a single instance which is why I'm evaluating playfab.
I'm looking for some advice on best practice and weather or not multiplayer 2.0 is going to support these kinds of games efficiently in the future.