Build multiplayer games with Asobi

Asobi is an open-source game backend built on Erlang/OTP. Write your game logic in Lua, hot-reload it without kicking players, and run it your way: self-host it, or deploy to managed cloud. Prefer the BEAM? Asobi is a plain Erlang library underneath, so you can use it directly too.

Get a game running in minutes

Self-host - free, no account needed

Open source, Docker only. Runs fully local - no signup, no credentials, no cost. About 5 minutes.

docker compose up -d
# your Lua game + Postgres, server on http://localhost:8084

Self-host quickstart →

Deploy to cloud - we run it

No Docker, no database to manage - we run it, EU-hosted. Deploy to a managed environment in about 10 minutes.

asobi login
asobi init mygame
asobi create prod
asobi deploy prod lua

Cloud quickstart →

Start here

Why Asobi?

You write game logic in Lua - fast iteration, what game devs already know - running on the BEAM, which gives you:

  • Restart-free hot reload. Deploy new code without disconnecting players. Works for both Lua bundles and Erlang beams. Nobody else on the market does this.
  • Fault tolerance. Crash one match, others keep running. OTP supervision trees isolate failures.
  • Concurrency. One process per match, one process per zone. Scales to hundreds of thousands on one node.
  • An Erlang escape hatch. Need behaviour-level control for a hot loop? Drop into Erlang - your Lua and the native path call the same asobi_match behaviour underneath.

Hosting

Asobi is fully self-hostable - see the self-host guide. If you'd rather we run it for you, managed cloud hosting is live at asobi.dev/cloud.

Want something that isn't here?

These docs are new and growing. If a page is missing, shallow, or wrong: open an issue or drop into the Discord.