Hi all!

This might be a dumb question, but it's a new area for me.

So I'm planning to build a dedicated multiplayer hosting server. And I'm thinking of experimenting using GoLang for that. Or is it a better idea to stick with Godot for that as well? What are the pros & cons?

Are there any good articles written about the subject?

You can use Godot for dedicated multiplayer servers. This avoids code duplication by letting you reuse your client logic on the server (and vice versa).

See Exporting for dedicated servers in the documentation.

@Calinou said: You can use Godot for dedicated multiplayer servers. This avoids code duplication by letting you reuse your client logic on the server (and vice versa).

See Exporting for dedicated servers in the documentation.

I see. thanks! I'll do some deeper reading on it.

4 days later
8 months later
2 years later

monvcxyb As for articles, I found some helpful ones on optimizing GoLang for game servers and networking—might be worth a search!

Could you provide links to the articles you're talking about? Otherwise your post looks questionable.

like the @Calinou suggested, thats the best approach unless you building something big like star citizen. I would make the server side a separate node and based on launch arguments run either game or the server thingie. From my limited experience godot handles all the heavy lifting, using highlevel multiplayer you can pretty much relax about object syncing and stuff like that. Add few nodes, mark few properties for multiplayer sync and it works like magic.

P.s. im working on server browser in godot multiplayer.. so this is something im interested too. The idea that i got is and from my tests with godot engine (not diving into source code) for something like server browser to work in godot, hoster needs to open atleast 2 ports for public, one would be game port and other query port to send data about the game server to clients that query the server list in server browser. With that said you need also another server/service that keeps a list with all the hosted games, and serve this list to players that query server browser. When player/client gets that master list, he query each IP and retrieve server game datas and displays that on the browser.

I have written the masterlist server in godot, that can be run separately, and now im working on the browser and simple host game example.. I have started on this quest month or more ago.. It takes so long because i got like only few hours to work on this on my work days, and almost no time on weekends. Once im comfortable ill post repo/project.

P.p's
You can ofc do this thing using http and web server, i think there was a tutorial for this on youtube already, but i wanted to do this all in godot using godot, gdscript 🙂 so that everything is written in one language using same engine 🙂. And its a fun project. Cant wait to get to the real game development 😃

2 months later

If you’re looking for a dedicated multiplayer server, I’d highly suggest giving BlueAngel.host a look. I’ve been using them for a while now, and it’s been a great experience. Their servers are known for being reliable, which means you won’t have to worry about unexpected downtime or lag issues that can mess up a game. The setup process was straightforward and user-friendly, even if you’re not tech-savvy.
What stands out is their customer support. Whenever I had questions or ran into minor issues, their team was quick to respond and super helpful. It’s nice to know someone on the other end genuinely wants to help you get the most out of your server. If you want a smooth and hassle-free experience, blueangel.host is worth considering.

Shameless plug bet i finally made this some time ago.

This is masterlist server, that will hold any game that wants to be publicly discoverable.
https://github.com/kuligs2/gdmaster

This is an example of godots server using multiplayer API with server browser that works along with the masterlist server.
https://github.com/kuligs2/gdmaster-server-browser

Idea here is that your game creates server using godot multiplayer API, then it sends UDP packet to the masterlist server with game data.
Players open server browsers and GET list of servers from masterlist, and then they ping each IP to get more detailed up to date game info.

Havent tested in 1000k player production, but you know how it goes 😃