# 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 startup 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. Example:

        // server side maprotations
        // WARNING: You can NOT use CubeScript in there
        // use the following scheme:
        // map:mode:time:allowVote

        // 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 Master

AssaultCube adapts the useful feature called master mode known from the Cube 2 games. It's implemented in a different way though. Servers operate in a so called master mode which allows people to easily and painlessly have games with people they know, without being disturbed by cheaters. The way it works is very simple: the first person to enter a server and use the setmaster command becomes the master of that server. The master of a server can force map changes, set a different master mode and perform other administrative actions normal players can't.

There exist two master modes a server master can set:

- open - Anyone can enter the server. This is the default mode. It is good for games with random people, if no cheaters appear to be around.
- private - Noone can join the server anymore. Good for games with friends when cheaters are around.

The idea behind this is to avoid the need for 'real' administrators that have to babysit the server 24/7. Unlike other games, the players control themselves using the described master role and the master modes.

Related commands:

- setmaster - become master on a server
- mastermode - change the master mode
- kick
- ban
- removebans
- autoteam
- forceteam

## Server Admin

There is an additional client role a player can claim called admin. It can be claimed by the real owner of a server to control the situation if an abusive master is doing bad stuff. Claiming admin state works similiar to the master state, however it requires a password that matches the server configuration.

Related commands:

- setadmin - become admin on a server
- connectadmin - connect to a server and become admin
- givemaster - gives the master state to a player

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. Once the mess is cleaned up, the command givemaster can be used to give back the master state to a honest player.

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

## Server Operator Menu

Some administrative actions can be done using the GUI. To bring up the server operator menu, navigate to Main Menu->Multiplayer->Server Operator