Help with decision making of the server infrastructure for my fps project

Godot Version

4

Question

Hey guys, I’m fairly new to Godot and I love it so far. For years I’ve had the dream of redeveloping an old FPS game that I loved as a child. The client-side challenges are solvable for me but the multiplayer stuff is a red flag.

My goal would actually be a dedicated server. The first question would be whether I can run multiple room instances in one server or it would be advisable to have multiple server instances for real-time games.

I’d like to create a room system with a maximum of 10v10 games. As a web developer, my first idea would be a routing server that flexibly spawns Docker containers with a Godot headless instance but I’ve also seen Nakama, which looks really promising and would cover a lot of stuff for me. Just not sure if it’s really suitable for realtime game and if it allows running godots own headless server.

My last alternative would be P2P with something like Steam or an intermediary server.

How would you implement something like that?

Yes this is possible, either with multiple processes (or docker containers ((I use docker for my multiplayer dev server )) on different ports or one monolith process with multiple multiplayerAPIs with their own branches. I would lean on the former for scaling purposes.

Nakama is just a cloud based storage and auth as far as I understand, you wouldn’t use it for gameplay, the real meat and potatoes would be handled by Godots packetpeer class.

2 Likes