AssaultCube: Setting Up a Server

Setting up a Server

The AssaultCube Server

Dedicated servers run in the shell only (no graphics), with increased priority yet use very little cpu time and memory, so you can run one in the background, or at the same time with a client if you want to host a game. Server port is fixed at 28763, with 28764 being used for the server info requests (both UDP). See the Get Started Guide to find out how to join a server.

Main Configuration

The AssaultCube server is mainly configured using command line options set in the server script assaultcube_server.bat on windows or assaultcube_server.sh on linux.

bin_win32\ac_server.exe -c8 -n"My AC Server"

Possible command line options can be obtained from the command-line section of this documentation. Run the script to start the server.

Maprotation

In the maprotation file specified on the command line (default: config/maprot.cfg), you can specify the map, mode, time and voting for your server. Each line defines one round.

map Map filename without extension. Do only use standard maps and maps from your packages/maps/servermaps folder.
mode Game mode number. One of: Team Deathmatch (0), Deathmatch (2), Pistol Frenzy (6), Capture the Flag (5), Hunt the Flag (13), Keep the Flag (15), Team Keep the Flag (14), Team Survivor (4), Survivor (3), Last Swiss Standing (9), One Shot One Kill (10), Team One Shot One Kill (11)
time Game time in minutes. Usually 15 minutes for flag modes, 10 minutes for all other modes.
vote 1: allow players to vote for other maps, 0: only admin can change the map
minplayer If specified, the server will skip the map, if fewer than required players are connected at time of game start.
maxplayer If specified, the server will skip the map, if more than allowed players are connected at time of game start.

Minplayer and maxplayer numbers are only checked when a new game is picked from the map rotation. If the player number changes during gameplay, no action will be taken.

Example:

    // server side maprotations
    // WARNING: You can NOT use CubeScript in there
    // Use the following scheme...
    // map:mode:time:allowVote[:minplayer[:maxplayer]]
    // map will be skipped, if minplayer/maxplayer requirements are failed

    // tdm
    ac_complex:0:10:1
    ac_depot:0:10:1
    ac_desert:0:10:1
    ac_mines:0:10:1

    // ctf
    ac_mines:5:10:1
    ac_depot:5:10:1
    

The first line, ac_complex:0:10:1, means, the map ac_complex is played in mode 0 (Team Deathmatch) for 10 minutes. The connected players are allowed to vote.

Administration

Cheating

Cheating is a problem that can't be solved entirely. AssaultCube is opensource, so everyone that knows how to compile it can easily modify the source to do whatever he wants, thats the problem of opensource games. The fact that the whole game logic is client-side, to save a lot bandwith, makes it even easier to cheat. There is no way to avoid this abuse.

Server Admin

There is a client role a player can claim called admin. It can be claimed by the real owner of a server to take control over what is happening when they are present. Claiming admin state requires a password that matches the server configuration.

Related commands:

Use the setadmin command to claim admin if you are already connected to a sever. However if you are locked out of your own server because you are banned, master mode is private or because all client slots are taken, you can use the connectadmin command to get control back though. If you want to leave the server in the hands of a certain player giveadmin can be used to give control to a honest player.

The admin password is configured using the -x command-line option.