self-hosted-node 0.23.1

Headless manabrew engine node for hosting AI games
Documentation

self-hosted-node

Headless room host. Connects to a relay, opens one or more lobby rooms, and runs the games for everyone who joins — with the forge backend it spawns one Forge JVM per concurrent game. Setup, Docker usage, and the full environment variable reference live in the self-hosting docs.

Signals

Signal Behavior
SIGTERM / SIGINT Immediate shutdown: every room closes (relay sockets get a proper WebSocket close), games in progress end.
SIGUSR1 Drain: stop starting new games, close each room once it has no game running, exit 0 when the last room closes. Games in progress run to completion. Use it to retire or replace a node.

The --shutdown-on-stale flag (or SELF_HOSTED_NODE_SHUTDOWN_ON_STALE) is the automated variant: the node polls the version manifest and, when a newer release is published, exits once idle so a pull-on-restart supervisor respawns it updated.