Edit your match logic in Lua. The running match picks up the change on the next tick. No restart, no reconnect, no kicked players.
Three containers, about 90 seconds. Postgres, asobi_lua, and an nginx proxy on localhost:3000.
git clone https://github.com/widgrensit/asobi
cd asobi/examples/hotreload-demo
docker compose upVisit http://localhost:3000. A cube appears. Drive it with WASD.
Open lua/match.lua. Change cube_color or cube_size and save. The browser updates on the next tick.
Implement the asobi_match behaviour in Erlang, or write game logic in Lua. Both hot-reload.