SERVER
HOSTING
Arena Zero supports community-run dedicated servers: headless, authoritative, and administrable in-game and from the console. This guide documents the hosting surface as it exists in the current pre-alpha. Server binaries are distributed with playtest builds — hosting details may evolve, and changes are announced on Discord.
What You Need
Server build
Arena Zero ships a dedicated server build for Linux — the game client targets Windows. The server runs headless and authoritative: it simulates the full game at 128 tick without any rendering. Official builds are distributed alongside playtests.
Network ports
Game traffic runs on UDP 7777, the server browser query on UDP 27016. Both must be reachable from the internet for public listing.
Steam GSLT
A Steam Game Server Login Token registers your server with the Steam server browser and enables server-side Steam identity validation for players and admins. Keep your token secret — it identifies your server.
Docker option
A non-root, tini-managed Docker image with a real health check is provided for container hosts. The server never needs root privileges.
Admin Roles
The server ships with a three-tier role system. The roster is configured server-side via environment variables or an admins file — never in-game. Admins get 19 commands across moderator and admin tiers, usable from the in-game admin channel.
Owner
Full control. Top of the rank ladder — only owners can touch other owners' settings.
Admin
Server management: maps, modes, kicks, bans, and moderation of lower ranks.
Moderator
Player-facing moderation tools. Can only act on regular players, never on admins or owners.
Server Console
The dedicated server reads commands from standard input, so it works in any terminal, tmux session, or container supervisor. Match phase transitions also log to standard output, which makes the server easy to script and monitor.
statusplayersmapsconfigkickbans / unbanmapmodesayrestartquit
…and more, including friendly-fire toggles, bot control, and restart utilities. Run help on a live server for the authoritative list.
# example console session — the dedicated server reads commands from standard input
status
players
map de_compound
say Restarting in five minutes for maintenance Built to Be Safe to Run
Identity is server-validated
Admin identity comes from Steam-authenticated sessions verified by the server — never from anything a client sends. There is no password to leak or fake.
Fail-closed everything
Unknown commands, unparseable configs, and out-of-range arguments all deny by default. A non-admin probing for commands gets the same "unknown command" answer as a wrong guess.
Strict-lower rank rule
An admin action can only target someone of a strictly lower rank. Moderators cannot touch admins, admins cannot touch owners.
Full audit trail
Every admin command outcome is logged server-side. Abusing the command surface leaves a permanent record.
Empty-only map swaps
The dedicated console only swaps maps on a provably empty server — no pending joins, no reconnect reservations, no spectators. Populated map changes go through the in-game admin flow instead.
Graceful shutdown
SIGTERM/SIGINT route through one graceful path so matches and state are never torn down mid-write.
Questions about hosting?
The hosting community and the dev team are on Discord. Playtest server builds and setup help are coordinated there. Hosting custom maps? The Map Creation guide covers the community map pipeline. Server operators can also find extended documentation linked from the project's community channels.