How to Host an AssaultCube Server (1.3 Dedicated Server Guide)

Host an AssaultCube 1.3 server: the server script, servercmdline.txt switches, UDP ports 28763 and 28764, the auth key for the master list and admin login.

Updated Oct 7, 2026 · 5 min read

On this page

To host an AssaultCube server, you run the server script that ships with the normal game download (server.bat on Windows, server.sh on Linux), set its options in config/servercmdline.txt, and open UDP ports 28763 and 28764. To show up in the public server browser you also need a server auth key, made in the game with /authkey new server. The whole thing uses a few dozen megabytes of RAM, so the hard part is never hardware, it is ports and the master server.

AssaultCube is old (2006) and small, and that is fine. The game is free, it downloads in seconds and it still has clans, leagues and a handful of busy public servers. A private server is how a friend group or clan gets its own rotation and its own rules.

AssaultCube soldiers fighting in a tight industrial map

What you need

  • The AssaultCube 1.3 package from the official download page. The server is included, there is no separate dedicated server download.
  • A machine that stays on. Any PC or small Linux box is enough. The server is single threaded and light.
  • Two UDP ports: 28763 for the game and 28764 for server info. If you pick a different game port, the info port is always that number plus one.
  • The same version for everyone. Players on an older 1.2 client cannot join a 1.3 server.

Step 1: Install and find the server files

On Windows, install the game as normal. On Linux, extract the .tar.bz2 release from GitHub. Inside the folder you will find:

File What it is
server.bat / server.sh Starts the dedicated server
config/servercmdline.txt Server options, one switch per line
config/maprot.cfg Map rotation
config/serverpwd.cfg Extra admin passwords
config/serverblacklist.cfg Banned IPs and ranges
packages/maps/servermaps/ Custom maps the server can send to players

Step 2: Set the options in servercmdline.txt

Every server option is a command line switch. Instead of typing them each time, put them in config/servercmdline.txt, one per line. A sensible private setup:

-n"Friday Night CTF"
-o"Be nice. Map votes are open."
-c12
-f28763
-xMyAdminPass123
-pfriendsonly

What those switches do:

Switch Meaning
-n Server description shown in the browser
-o Message of the day shown on join
-c Max clients. Public listed servers stop at 16
-f Game port. Info port becomes this plus one
-x Admin password
-p Player password, leave it out for an open server
-Y Server auth key for the master list
-m Master server. Use -mlocalhost to stay off the public list
-r Path to the map rotation file, default config/maprot.cfg

Keep values with spaces inside quotes, with no space between the switch and the quote.

Step 3: Open the ports

Forward UDP 28763 and 28764 on your router to the machine running the server, and allow both through Windows Defender Firewall or ufw. The AssaultCube docs name wrong port forwarding as the most common reason a server fails to register. Our general port forwarding guide covers the router side if you have not done it before.

Both ports matter. The game port carries the match, the info port answers the server browser's pings. If only the first one is open, friends can join by command but the browser shows nothing.

Step 4: Get an auth key for the public list

Without a key, the server runs LAN only. To list it:

  1. Start the AssaultCube client.
  2. Press / and type authkey new server.
  3. Open config/authkeys.cfg in the client's folder and copy the 64 character private key.
  4. Add -Y followed by that key to servercmdline.txt.
  5. Start the server and look for master server registration succeeded in the output.

The master server also has house rules. A rotation with fewer than two different maps can get a server removed from the list. If your server stays invisible, our AssaultCube master server fix guide walks through every cause.

Step 5: Start it and join

Run server.bat or ./server.sh. Players join from Multiplayer in the server browser, or by pressing / and typing:

/connect 203.0.113.10 28763

Note the space between address and port. AssaultCube does not use a colon there. For a password protected server, add the password after the port: /connect 203.0.113.10 28763 friendsonly.

Admin from inside the game

Claim admin with the password from -x:

/setadmin 1 MyAdminPass123

As admin, your votes pass at once, so changing maps and modes from the vote menu is instant, and you can kick and ban from the same menu. Extra admin passwords go in config/serverpwd.cfg, one per line, as password 0. A line ending in 1 instead only lets that password bypass bans, without admin rights.

Map rotation and custom maps

The rotation lives in config/maprot.cfg, one line per map in the form map:mode:minutes:allowVote. For example, ac_mines:5:15:1 plays CTF on ac_mines for 15 minutes with voting allowed. Custom maps go in packages/maps/servermaps/ and are sent to players who do not have them. The details, including every mode number, are in our AssaultCube map rotation guide.

AssaultCube cover art with soldiers and the game logo

When home hosting gets annoying

Home hosting AssaultCube works well until the PC has to be off, the router resets its forwarding, or your home IP changes and everyone's saved address breaks. That is where a hosted server earns its small price.

A GamezServers AssaultCube server is live in about a minute with its own fixed address, so there is no port forwarding at all. The description, message of the day, max players, admin password, player password and master server are fields in the control panel, and maprot.cfg and the map folder are in the file manager or over SFTP. AssaultCube needs very little memory, so the smallest plan is plenty, and friends can split the bill.

FAQ

What port does an AssaultCube server use?

UDP 28763 for the game and UDP 28764 for server info. If you change the game port with -f, the info port moves to that number plus one. Both need to be open.

Is the AssaultCube server a separate download?

No. The server ships inside the normal game package. Run server.bat on Windows or server.sh on Linux.

How many players can an AssaultCube server hold?

Servers on the public master list are limited to 16 players, which suits every mode. Set it with -c.

How do I keep my AssaultCube server off the public list?

Use -mlocalhost as the master server switch, or simply do not set an auth key. Friends can still join with /connect and your address.

Why can't my friends connect with IP:port?

AssaultCube expects a space between address and port: /connect 203.0.113.10 28763. A colon makes the command fail.

Skip the setup. Your own AssaultCube server.

$1.49USD first month

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

Keep reading