Files
assaultcube-/docs/server.xml
T
driAn 7a11a2b754 no message
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@1022 e016b1c5-ed68-44aa-a2f7-31cac88cffde
2007-05-28 22:01:37 +00:00

192 lines
7.2 KiB
XML

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?xml-stylesheet type="text/xsl" href="transformations/cubedoc2xhtml.xslt"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" lang="en" xml:lang="en">
<head><title></title></head>
<body>
<h1>
Setting up a Server
</h1>
<h2>The AssaultCube Server</h2>
<p>
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 <b>28763</b>, with <b>28764</b> being used for the server info requests (both UDP).
See the <a href="getstarted.xml">Get Started Guide</a> to find out how to join a server.
</p>
<h2>Main Configuration</h2>
<p>
The AssaultCube server is mainly configured using command line options set in the server script <i>actioncube_server.bat</i> on windows or
<i>actioncube_server.sh</i> on linux.
</p>
<div class="code">
bin_win32\ac_server.exe -c8 -n"My AC Server"
</div>
<p>
Possible command line options can be obtained from the <a href="startup.xml">startup section</a> of this documentation.
Run the script to start the server.
</p>
<h2 id="maprotation">Maprotation</h2>
<p>
In the maprotation file specified on the command line (default: <i>config/maprot.cfg</i>), you can specify
the map, mode, time and voting for your server. Each line defines one round. Example:
</p>
<pre>
// 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
</pre>
<p>
The first line, <span class="code">ac_complex:0:10:1</span>, means, the map <i>ac_complex</i> is played
in mode 0 (Team Deathmatch) for 10 minutes. The connected players are allowed to vote.
</p>
<h1>Administration</h1>
<h2>Cheating</h2>
<p>
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.
</p>
<h2>Server Master</h2>
<p>
AssaultCube adapts the useful feature called <i>master mode</i> known from the Cube 2 games. It's implemented in a different way though.
Servers operate in a so called <i>master mode</i> 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 <span class="code">setmaster</span>
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.
</p>
<div class="code">
<a href="reference.xml#identifier_setmaster">setmaster</a> B
</div>
<p>
where is <i>B</i> is 1 to claim master or 0 to give up master.
</p>
<p>
The master can change the master mode of the server using the <span class="code">mastermode</span> command:
</p>
<div class="code">
<a href="reference.xml#identifier_mastermode">mastermode</a> N
</div>
<p>
sets the master mode to <i>N</i>. Possible master modes are:
</p>
<ul>
<li>0 (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.</li>
<li>1 (private) - Noone can join the server anymore. Good for games with friends when cheaters are around, cheaters wont even connect, so wont have the chance to try and screw things up.</li>
</ul>
<p>
Once you claimed master, you can also kick people from the server. Open the scoreboard (key: TAB) to look up the client number (cn) of the player
you want to kick.
</p>
<div class="code">
<a href="reference.xml#identifier_kick">kick</a> N
</div>
<p>
kicks the player with the client number <i>N</i> from the server. See the scoreboard to look up the client number.
</p>
<p>
The current master can enable the auto-team option for the server. If enabled, newly connected clients will be forced to the smaller team and switching to the bigger
or equal sized team won't be possible anymore. A team shuffle is performed every time the game mode changes from FFA to a team mode and when the auto-team
option is initally enabled.
</p>
<div class="code">
<a href="reference.xml#identifier_autoteam">autoteam</a> N
</div>
<p>
where <i>N</i> is 1 to enable and 0 to disable the auto-team option.
</p>
<h2 id="serveradmin">Server Admin</h2>
<p>
There is an additional client role a player can claim called 'admin'. In addition to the commands a master
can execute, an admin can also ban players from the server.
Claiming admin state works similiar to the master state,
however it requires a password that matches the server configuration.
</p>
<div class="code">
<a href="reference.xml#identifier_setadmin">setadmin</a> N P
</div>
<p>
where is <i>B</i> is 1 to claim admin or 0 to give up admin. <i>P</i> is the required password.
The owner of a server can <a href="startup.xml">configure this password</a> to gain control over his server using this command.
As soon as a player successfully claims admin, all existing master or admin players lose their privileged state.
So assume a some dumb player abuses the master state and kicks all players from your own server, you
can get control back by issuing these commands as example:
</p>
<div class="code">
<a href="reference.xml#identifier_connect">connect</a> myserver.mydomain.com; <a href="reference.xml#identifier_setadmin">setadmin</a> 1 myPassw0rd
</div>
<p>
This connects to the server myserver.mydomain.com and immediately claims admin state using the "myPassw0rd" password.
</p>
<div class="code">
<a href="reference.xml#identifier_ban">ban</a> N
</div>
<p>
bans the player with the client number <i>N</i> from the server and refuses any connection attempts from his IP for the next 20 minutes.
</p>
<div class="code">
<a href="reference.xml#identifier_removebans">removebans</a>
</div>
<p>
This removes all active bans.
</p>
<h2 id="mastermenu">Server Operator Menu</h2>
<p>
Some administrative actions can be done using the GUI. To bring up the server operator menu, navigate to <i>Main Menu->Multiplayer->Server Operator</i>
</p>
</body>
</html>