Is there any viable backend for Godot?

Godot Version

4.2

Question

I’m working on a multiplayer game where I need to store data and keep the data synchronized between the players so I’m looking for a back end that could make this process easier if there is none I would appreciate how could I make my own one I’m not that familiar with godot multiplayer yet.

I’m looking forward something ARM-based since it’s much cheaper also I know Nakama exist but it’s not ARM docker

Are you interested in the api and software? or an actual server hardware to handle the persistent storage?

Godot is built on Enet, but the architect is built to be flexible so in theory you can use whatever you want. Sending messages via custom RPC code on separate packet channels.

Godot also has an http class so you can also do typical REST calls.

Godot doesn’t have a built in database class but I’m sure you could easily implement your own if you wanted to or just get 3rd party interface to a free SQL database.

2 Likes

What exactly are you looking for? Based on the post I’m assuming a database? Maybe if you tell us a bit more about the project you’re building and what would you need a backend for could help.

Building your own REST API on top of a database can be an option, with something like node.js or Spring ( or the relevant framework of your chosen language ) and something like PostgreSQL, MySQL, MariaDB, or MongoDB or something else.

But also, how cheap are you looking for? Linode’s cheapest offering is 5 usd/mo and you can just run Nakama on it without much hassle.

2 Likes

I’m working on a sandbox pixel art mmorpg 2d based game.

I’m looking forward using a database which can help with connecting people together like cockroachdb.

But if I’m being honest I’m kinda lost XD.

It would be amazing if I could use node js since I’m familiar without web dev (not backend).

By cheap I mean by getting for less money more so if I was scaling the server I would still pay the half if it was ARM based

1 Like

I will more forward into this how godot handles stuff ty for ur answer

Also forgot to mention that the game will be in the web

1 Like

Depending on what your needs are nakama could be a good solution as it’s specialized for games and can cover some game logic. Like chat, parties, inventory or matchmaking. Didn’t used it myself for now but I will defently try it once I have a multiplayer game in making ^^

Nakama can easy be hosted with docker-compose

edit: sorry I oversaw you did already mention nakama


If you’re really just looking for a Database you may
check out supabase. it’s a postgress db with realtime functionality via web sockets.

there is an godot plugin Supabase API (4.x) - Godot Asset Library

but I did not use it myself. I just used superbase with Typescript/vue.js before. But I think real-time updates are probably useful for multiplayer games

Supabase can be set up with docker-compose there is also the option for a free cloud version which you can use for trying it out directly.


If you’re looking for a simpler real-time db solution than supabase and you don’t plan your game to be that big. You could go with pocketbase for the start, as it’s much simpler to configure than superbase. It’s written in Go and can be extended with Go or Typescript.

But I’m afraid there is no Godot plugin right now. I use pocketbase myself for small web apps.

Pocketbase uses sqlite therefore there are limitations if your game would get massive. But then you could probably still migrate to supabase


I hope this was somehow helpful. Good luck with your game :slight_smile:

1 Like

I was using, and probably will get back to using, node.js to host a server lookup list that my prototype queried a list of server IP addresses names and player counts.

2 Likes

Don’t know if it supports multiplayer, but SilentWolf is a Godot plugin for leaderboards, player data, etc.:

1 Like