Docs / asobi dev

asobi dev - the live loop

One command brings up a full local backend and hot-reloads your Lua as you edit it - no account, no credentials, no restart. This is the fastest inner loop for writing a game.

Run it

cd mygame          # a dir with a lua/ (or game/) folder of .lua files
asobi dev          # backend on http://localhost:8084, WS at /ws

It resolves the Lua directory from --dir, else lua/, else game/. Edit any .lua file and the running engine reloads it in place - in-flight matches finish on the old code, new matches use the new code. Ctrl+C stops the stack.

What it does under the hood

asobi dev writes a managed Compose file to .asobi/dev-compose.yml (regenerated each run) and runs it in the foreground. That stack is postgres:16 plus ghcr.io/widgrensit/asobi_lua:latest, with your Lua directory mounted read-only at /app/game. The container - not the CLI - watches that volume and hot-reloads. It needs Docker with Compose v2 running; there is no login or control-plane involvement.

Flags

  • --port N - host + container port (default 8084).
  • --dir <lua> - explicit path to your Lua directory.

What's next