How to Host a Cube 2: Sauerbraten Server (2026 Guide)
Host a Cube 2: Sauerbraten server: the linux_64_server binary, server-init.cfg, UDP ports 28785 and 28786, admin password and map rotation.
Updated Oct 7, 2026 · 6 min read
On this page
To host a Cube 2: Sauerbraten server, download the free 2020 Edition from sauerbraten.org and run the dedicated server: bin_unix/linux_64_server on Linux, or the game with -d on Windows. Set it up in server-init.cfg (name, player cap, admin password, map rotation), open UDP ports 28785 and 28786, and leave updatemaster 1 so it registers with the master server and shows in everyone's server browser.
Sauerbraten is a 2000s arena shooter that is still free, still open source and still played, mostly in instagib and capture the flag. The player base is small, so a server that stays up with a sensible name and rotation becomes a regular haunt quickly. The server itself is tiny.
What you need
| Item | Details |
|---|---|
| Game files | The 2020 Edition (release 2020_12_29) from sauerbraten.org |
| Server binary | bin_unix/linux_64_server on Linux, or the Windows game started with -d |
| Ports | UDP 28785 (game) and UDP 28786 (server info). Both must be open |
| Config | server-init.cfg in the game folder |
| Memory | Very little. A 16 player server fits in well under 1 GB |
The Linux package ships with prebuilt server binaries, so there is nothing to compile on a normal 64 bit machine.
Step 1: Download and unpack
On Linux:
mkdir -p ~/sauer && cd ~/sauer
# download sauerbraten_2020_12_29_linux.tar.bz2 from sauerbraten.org, then:
tar -xjf sauerbraten_2020_12_29_linux.tar.bz2 --strip-components=1
chmod +x bin_unix/linux_64_server
On Windows, install the game normally. The dedicated server is the same program run without graphics.
Step 2: Start it once
# Linux, from the game folder
./bin_unix/linux_64_server
# Windows, from the game folder
bin64\sauerbraten.exe -d
The console prints dedicated server started, waiting for clients.... If the master server accepted it, you also see master server registration succeeded within a few seconds. Stop it with Ctrl+C.
Step 3: Edit server-init.cfg
The server reads server-init.cfg from the game folder at start. The stock file has most lines commented out with //. Remove the // to turn a line on. A sensible public instagib and CTF setup:
serverdesc "Friday Insta"
servermotd "Be nice. Admin is around most evenings."
maxclients 16
serverport 28785
publicserver 0
updatemaster 1
adminpass "change-me-long"
// serverpass "only-if-private"
serverbotlimit 8
lockmaprotation 0
restrictdemos 1
| Setting | What it does |
|---|---|
serverdesc |
Name in the server browser. Keep it short or it gets cut off |
servermotd |
Message sent to players when they connect |
maxclients |
Player cap. The stock file sets 8 |
serverport |
Game port. The info port is always this plus 1 |
publicserver |
0 lets anyone claim master and use every master mode. 1 only allows master through auth or admin. 2 allows claiming master but not the private mode |
updatemaster |
1 registers the server with the master server so it is listed |
adminpass |
Typing /setmaster with this password gives full admin |
serverpass |
Password to connect at all. Leave it off for a public server |
serverbotlimit |
Most bots a master can add. 0 disables bots |
lockmaprotation |
0 lets players vote any map, 1 limits off rotation votes to master, 2 to admin |
The command line flags -n (description), -c (max clients), -j (port), -p (admin password), -y (server password), -o (publicserver) and -m (master server) set the same things. One trap: the server parses the flags first and runs server-init.cfg afterwards, so a line in the file overrides the matching flag. The stock file's maxclients 8 and serverdesc "" will quietly undo -c16 and -n"My Server". Pick one place for each setting.

Step 4: Set the map rotation
The bottom of server-init.cfg defines map lists and which modes use them:
ffamaps = [ complex douze ot academy turbine hashi dust2 ]
ctfmaps = [ hallo flagstone tempest reissen face-capture ]
maprotationreset
maprotation "*" $ffamaps
maprotation "?ctf ?protect ?collect" $ctfmaps
maprotationreset clears the stock rotation, and each maprotation line maps modes to a list. A ? before a mode name matches all its variants, so ?ctf covers ctf, insta ctf and effic ctf. "*" is the fallback for every other mode. Short lists of maps people know work better than the full stock list on a small server.
Step 5: Open the ports
Sauerbraten needs two UDP ports, and forgetting the second one is the classic mistake:
| Port | Protocol | Purpose |
|---|---|---|
| 28785 | UDP | Game traffic |
| 28786 | UDP | Server info, used by the browser to show ping, players and map |
| 28784 | UDP | LAN discovery only, not needed over the internet |
If you change serverport, the info port moves with it to port plus 1. On a home connection forward both to the server PC (see how to port forward a game server) and allow them in the firewall. If the server is missing from the browser after that, work through Sauerbraten server not showing in the server browser.

Step 6: Join and take admin
Players can find the server under Multiplayer and server browser, or connect directly. Press T to open the chat line and type:
/connect your.server.ip 28785
/setmaster change-me-long
The second line, with your adminpass, makes you admin. From there you can change modes, kick, lock the server and add bots. The full list is in Sauerbraten master and admin commands.
Keep it running
On Linux, run the server inside tmux or screen, or as a systemd service, so it survives you logging out. The server re-registers with the master server every hour while it runs, and a server that goes offline drops off the list until it comes back. Bandwidth matters more than CPU here: the docs warn that traffic grows quickly with each extra client, so a 16 player server belongs on a proper connection rather than home upload.
The easy option
A GamezServers Cube 2: Sauerbraten server installs the 2020 Edition for you and sets the description, max players (up to 16), master server and admin password from the panel, with both UDP ports already reachable. The file manager opens server-init.cfg for rotations and the server password (comment out its serverdesc and maxclients lines so the panel values apply), and the server stays online without your PC. Small servers like this are among the cheapest games to host a server for, and friends can split the bill.
FAQ
What ports does a Sauerbraten server use?
UDP 28785 for the game and UDP 28786 for server info. If you change the game port, the info port is always the game port plus 1.
How many players can a Sauerbraten server hold?
Set maxclients in server-init.cfg or -c on the command line. 16 is a comfortable maximum for most maps, and duels and small instagib games need far fewer.
How do I become admin on my Sauerbraten server?
Set adminpass in server-init.cfg (or -p on the command line), then type /setmaster yourpassword in game.
Do players need to buy anything to join?
No. Sauerbraten is free for everyone, so anyone can download it from sauerbraten.org and join.
Why does my server show no name or the wrong player cap?
server-init.cfg runs after the command line flags, so its serverdesc and maxclients lines override -n and -c. Edit or comment out those lines.
Skip the setup. Your own Cube 2: Sauerbraten server.
Then $2.99/mo. Just trying it? $0.75 for 3 days