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.

A Cube 2: Sauerbraten arena match in progress

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.

A Cube 2: Sauerbraten arena map

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.

$1.49USD first month

Then $2.99/mo. Just trying it? $0.75 for 3 days

Keep reading