Files
assaultcube-/docs/commandline.html
T
Rafael Barreto b01dc4eddc bug fixes/enhancements: findsens, scripts, "gospectate", clean up and bug fix update 1.1.0.2 (do not revert this)
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@5600 e016b1c5-ed68-44aa-a2f7-31cac88cffde
2010-08-11 21:07:48 +00:00

690 lines
35 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" >
<html lang="en" xml:lang="en" xmlns:h="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Command-line arguments </title>
<meta http-equiv="content-type" content="application/xhtml+xml;charset=utf-8" />
<link rel="shortcut icon" href="pics/favicon.ico" />
<link rel="stylesheet" href="styles/cubedoc.css" />
</head>
<body>
<div id="main">
<div id="logo">
<img src="pics/head.gif" alt="AssaultCube logo" />
</div>
<div id="title">
<h1>
AssaultCube: Command-line arguments
</h1>
</div>
<div id="content">
<h1>
Command-line arguments
</h1>
<p>
When launching AssaultCube, irrespective of operating system, a small script is used.
These script files can be modified with "switches" to allow different
settings to occur on startup.
<br clear="none" /><b>Note:</b> Some of these options can be changed in-game
through the menus without the need to manually edit the script file.
</p>
<h3>Contents:</h3>
<ul>
<li>
HowTo: <a href="#launcher">Editing the AssaultCube launcher</a>
</li>
<li>
<a href="#clientswitch">Client switches</a>
</li>
<li>
<a href="#serverswitch">Server switches</a>
</li>
</ul>
<h2 id="launcher">
HowTo: Editing the AssaultCube launcher
</h2>
<table>
<tr>
<td width="50" rowspan="1" colspan="1">
<img src="pics/vista.png" alt="Windows" />
</td>
<td rowspan="1" colspan="1">
<b>Microsoft Windows</b>
<br clear="none" />
<p>
In the AssaultCube folder, there is a file named "<i>assaultcube.bat</i>". Right
click this and open it with "notepad" to edit the clients launcher.
Also, after using the server wizard, in this folder will be "<i>server_autoconfigured.bat</i>".
Right click this and open it with "notepad" to edit the servers launcher.
</p>
<p>
All switches are placed after the phrase: <span class="code">bin_win32\ac_client.exe</span>
<br clear="none" />
If you're editing the client, you'll need to add it before the phrase: <span class="code">
%1 %2 %3 %4 %5</span>
</p>
<p>
Remember to save once you're finished!
</p>
</td>
</tr>
<tr>
<td width="50" rowspan="1" colspan="1">
<img src="pics/linux.png" alt="Linux" />
</td>
<td rowspan="1" colspan="1">
<b>Linux</b>
<br clear="none" />
<p>
In the AssaultCube folder, there is a file named "<i>assaultcube.sh</i>". Open it
with your favourite text editor, such as Gedit, Nano, etc. to edit the clients launcher.
<br clear="none" />
Also, after using the server wizard, in this folder will be "<i>server_autogenerated.sh</i>".
Open it with your favourite text editor to edit the servers launcher.
</p>
<p>
All switches for the client must be put inside the quote marks on this line: <span
class="code">CUBE_OPTIONS="--home=${HOME}/.assaultcube --init"</span>
</p>
<p>
All switches for the server must be placed after the phrase: <span class="code">./server.sh</span>.
</p>
<p>
Remember to save once you're finished!
</p>
</td>
</tr>
<tr>
<td width="50" rowspan="1" colspan="1">
<img src="pics/apple.png" alt="Apple Mac OS X" />
</td>
<td rowspan="1" colspan="1">
<b>Apple Mac OS X</b>
<br clear="none" />
<p>
After starting the AssaultCube launcher, under the "main" tab of the AssaultCube
launcher is an "Advanced options" bar. <br clear="none" />
You can type all the switches you need for the client into there.<br clear="none" />
Also, under the "server" tab of the AssaultCube launcher is an "Advanced options"
bar. You can type all the switches you need for the server into there.<br clear="none" />
</p>
</td>
</tr>
</table>
<h2 id="clientswitch">Client switches</h2>
<p>
These variables are specifically for the clients launcher, not the server.
Switches are case-sensitive!
</p>
<table>
<tr>
<td width="120" style="text-align: center;">
<span class="codecommandline">-w</span>X
</td>
<td>
Sets desired screen width to X, default is <span class="code">-w1024</span>.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-h</span>Y
</td>
<td>
Sets desired screen height to Y, default is <span class="code">-h768</span>.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-t</span>
</td>
<td>
Runs AssaultCube in windowed mode (fullscreen off). Using -t1 you can explicitly force fullscreen mode.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-z</span>N
</td>
<td>
Sets the z-buffer precision to N bits. This should be at least 24
or you may experience depth problems.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-b</span>N
</td>
<td>
Sets the screen to N bits per pixel.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-s</span>N
</td>
<td>
Sets the stencil buffer precision to N bits. This should be 8 to enable
shadowing effects, or 0 to turn it off (the default).
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-a</span>N
</td>
<td>
Sets FSAA (Full Scene AntiAliasing) to N samples (i.e. -a4 is 4xFSAA).
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-v</span>N
</td>
<td>
Enables vsync if N is greater 0.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-m</span>M
</td>
<td>
Sets the client to update itself against masterserver M.
M is the base url of the master server and has to end in a / and without a
http:// prefix, the default is masterserver.cubers.net/cgi-bin/AssaultCube.pl/
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">--init</span>
</td>
<td>
Executes the init script before starting the graphics
and sound subsystems (recommended). By default the script <i>config/init.cfg</i>
is used, but you can override this setting by using <i>--init=yourfile.cfg</i>
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span id="mods" class="codecommandline">--mod=</span>PATH
</td>
<td>
Adds the specified path to the list of directories
that are searched when loading resources. Use this to add your own mods in a clean
way without placing files into the main directory.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">--home=</span>PATH
</td>
<td>
Specifies the home directory for the user profile, AssaultCube will write
custom settings and files to this directory (recommended).
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-T</span>
</td>
<td>
Add timestamp to every console log line.
</td>
</tr>
</table>
<h2 id="serverswitch">Server switches</h2>
<p>
These variables are specifically for the servers launcher, not the client.
Switches are case-sensitive.
</p>
<table>
<tr>
<td style="text-align: center;vertical-align: top;" width="120">
<span class="codecommandline">-d</span>
</td>
<td>
This starts an AssaultCube client binary as a dedicated server. The
default is a non-dedicated server with only a single client in graphical mode.
See the <a href="server.html" shape="rect">Server Section</a>.
You don't need this parameter, if you're using the server binary.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-u</span>N
</td>
<td>
Sets the server upstream bandwidth (per player) to N bytes per
second. only set this parameter if you know what you are doing, specifying a wrong
value is worse than not specifying it at all.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span id="serverdesc" class="codecommandline">-n</span>S
</td>
<td>
Sets the server description, for people pinging the server. This usually does not need to
be set if you have a descriptive domain name already, but if you set it, keep it short
as it may otherwise be truncated, i.e. -nBobsInstagibServer
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-n1</span>S
</td>
<td>
Sets a server description prefix.
</td>
</tr>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-n2</span>S
</td>
<td>
Sets a server description suffix.
</td>
</tr>
<tr>
<td></td>
<td>
To enable the admin to temporarily change the server description, a server description prefix
and/or suffix needs to be set. If the admin executes the command <span class="code">/serverdesc DESC</span>,
the server description will be changed to "prefixDESCsuffix".
At the end of the game, the default server description (set by
<span class="code"><a href="#serverdesc">-n</a></span>) is restored automatically.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-i</span>IP
</td>
<td>
Sets the server ip to IP. This option is only useful
for people running servers on machines with multiple network interfaces.
Only use this switch if you really know, what you are doing.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-f</span>PORT
</td>
<td>
Sets the server base port to PORT. An AC server always uses 2 UDP ports: PORT &amp; PORT+1.
The default ports are 28763 and 28764. You need to use different ports, if you want to
run several servers on the same machine (with one IP address). For example, use
<span class="code">-f28765</span> for a second server.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-N</span>ID
</td>
<td>
Sets the log identity to ID. By default, the log identity is 'IP[port]'. On linux systems,
the log identity is used for the syslog to identify server log entries. On windows and
apple systems, the log identity is used to create the server logfile filename.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-F</span>n
</td>
<td>
Sets the syslog facility to n. Values from 0 to 7 are allowed to use the facilities
local0..local7. By default, local6 is used. For further information, check the
documentation of your installed syslog daemon.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-T</span>
</td>
<td>
Add timestamps to every line of the console and file logs.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-LF</span>n
</td>
<td>
Sets the logging level for file logs to level <i>n</i>. On linux systems, this switch can be used to enable (additional) file logging.<br clear="none" />
The following levels can be selected:
<table>
<tr><td>0</td>
<td>DEBUG: logs all messages</td></tr>
<tr><td>1</td>
<td>VERBOSE: logs all messages of level VERBOSE and above (same as console log, when using the -V switch)</td></tr>
<tr><td>2</td>
<td>INFO: logs all messages of level INFO and above (same as console without -V switch), default on windows or mac systems</td></tr>
<tr><td>3</td>
<td>WARNING: log only messages of level WARNING and above</td></tr>
<tr><td>4</td>
<td>ERROR: log only messages of level ERROR</td></tr>
<tr><td>5 (or above)</td>
<td>do not log to file (default on linux systems)</td></tr>
</table>
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-LS</span>n
</td>
<td>
Sets the logging level for syslog logging to level <i>n</i>. This switch is ignored on non-linux systems.<br clear="none" />
The following levels can be selected:
<table>
<tr><td>0</td>
<td>DEBUG: logs all messages</td></tr>
<tr><td>1</td>
<td>VERBOSE: logs all messages of level VERBOSE and above (same as console log, when using the -V switch)</td></tr>
<tr><td>2</td>
<td>INFO: logs all messages of level INFO and above (same as console without -V switch), default</td></tr>
<tr><td>3</td>
<td>WARNING: log only messages of level WARNING and above</td></tr>
<tr><td>4</td>
<td>ERROR: log only messages of level ERROR</td></tr>
<tr><td>5 (or above)</td>
<td>do not log to syslog</td></tr>
</table>
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-m</span>M
</td>
<td>
Sets the server to register itself against masterserver M.
M is the base url of the master server and has to end in a / and without a http:// prefix,
the default is masterserver.cubers.net/cgi-bin/AssaultCube.pl/.
If you want your server to be private and not report to the masterserver, use -mlocalhost.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-p</span>PASS
</td>
<td>
Sets the server password to PASS. Only clients
that use the command "/connect <i>IP PORT PASS</i>" will be able to connect.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-c</span>N
</td>
<td>
Sets the maximum number of players that can play on
this server to N (default 6). If more players try to connect they will get a "server
full" message.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-x</span>M
</td>
<td>
Sets the <a href="server.html#serveradmin" shape="rect">
admin</a> password. If you don't want your commandline to contain the password, or if you need
more than one admin password, use the file "config/serverpwd.cfg".
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-X</span>f
</td>
<td>
Sets the admin password file. The default is <span class="code">-Xconfig/serverpwd.cfg</span>
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-r</span>C
</td>
<td>
Sets the <a href="server.html#maprotation" shape="rect">
maprotation</a> file. Example: <span class="code">-rconfig/maprot.cfg</span>
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-B</span>f
</td>
<td>
Sets the blacklist file. The default is
<span class="code">-Bconfig/serverblacklist.cfg</span>
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-K</span>f
</td>
<td>
Sets the nickname blacklist file. The default is
<span class="code">-Kconfig/nicknameblacklist.cfg</span>
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-I</span>f
</td>
<td>
Sets the serverinfo text filename prefix. The default is
<span class="code">-Iconfig/serverinfo</span>.
The server adds <tt>"_en.txt"</tt> to the prefix to
complete the filename.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-O</span>f
</td>
<td>
Sets the "Message of the day" (MOTD) text filename prefix.
The default is <span class="code">-Oconfig/motd</span>.
The server adds <tt>"_en.txt"</tt> to the prefix to
complete the filename.
The MOTD will only be read from file, if no static MOTD
is given on the commandline ('-o').
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-o</span>N
</td>
<td>
Sets the server's "message of the day" (MOTD).
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-k</span>N
</td>
<td>
Sets the kick threshold. If a players score drops
below it, he will be kicked automatically (default: -5).
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-kA</span>N
</td>
<td>
Sets the kick threshold (in seconds) for the "Away From Keyboard" autokick.
This autokick happens only if the server is OPEN (not PRIVATE and not MATCH),
there are more than 4 players in the game, and affects mainly the teammode games.
The server assumes chatting people and spectators as AFK.
If the value is set less than 30, the AFK autokick is disabled. (default: 45).
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-y</span>N
</td>
<td>
Sets the ban threshold. If a players score drops
below it, he will be banned automatically (default: -6).
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-P</span>S
</td>
<td>
Sets the required role to call specific votes. The two possible player roles are 'player' and 'admin'.
'S' is a string of characters to set vote role requirements per vote type. A lower case character
enables the vote call for normal players, an upper case character sets the vote call to require an
admin. If a character does not appear in the string, the default setting is used.<br clear="none" />
The following votes can be adjusted:
<table>
<tr><td>k</td>
<td>kick players</td></tr>
<tr><td>b</td>
<td>ban players (and remove bans)</td></tr>
<tr><td>m</td>
<td>change mastermode (open/private)</td></tr>
<tr><td>f</td>
<td>force a player to the other team</td></tr>
<tr><td>a</td>
<td>enable/disable autoteam</td></tr>
<tr><td>s</td>
<td>shuffle the teams</td></tr>
<tr><td>r</td>
<td>record a demo of the next game (if autorecording is disabled)</td></tr>
<tr><td>c</td>
<td>clear all demos on server</td></tr>
<tr><td>d</td>
<td>change server description</td></tr>
<tr><td>e</td>
<td>vote for coopedit mode</td></tr>
<tr><td>p</td>
<td>vote for a gamemode that is not supported by the map (default: no one can)</td></tr>
<tr><td>w</td>
<td>vote to kick/ban for "weak" reasons, i.e, the other player is not obviously lagging, nor teamkilling, nor spamming, nor cheating (as far as the server can detect it)</td></tr>
</table>
For example: -PbmA enables ban &amp; mastermode to be voted by normal players but
only admins can change autoteam. The '-P' parameter can be used several times on the commandline.
For example, '-Pb -Pm -PA' is equivalent to '-PbmA'.
The default settings are: "fkBMasRCDEw".
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-A</span>map
</td>
<td>
Restricts voting for a map/mode to admins. Mapname and modenumber (if
specified) are separated by '#'. This switch can be used several times.
Example: -Aac_desert#13
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-M</span>S
</td>
<td>
Sets the required role for sendmap actions. The two possible player roles are 'player' and 'admin'.
'S' is a string of characters to set role requirements per action type. A lower case character
enables the sendmap action for normal players, an upper case character sets the sendmap action to require an
admin. If a character does not appear in the string, the default setting is used.<br clear="none" />
The following sendmap actions can be adjusted:
<table>
<tr><td>c</td>
<td>create new map (initial map upload)</td></tr>
<tr><td>u</td>
<td>update existing map (with same or newer revision)</td></tr>
<tr><td>r</td>
<td>revert existing map to older revision</td></tr>
<tr><td>d</td>
<td>delete map (default: no one can)</td></tr>
</table>
For example: -MCuD enables updating maps for normal players but
only admins can create or delete maps. The '-M' parameter can be used several times on the commandline.
For example, '-MCb -Mu -MD' is equivalent to '-MCuD'.
The default settings are: "CRU".<br clear="none" />
Note: Only maps in the 'incoming' folder are affected. Maps in 'official' and 'servermaps' are treated <i>read only</i>.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-D</span>n
</td>
<td>
Sets the maximum number of recorded demos to be held in server RAM.
Every game will be recorded. The recorded demos will be held in RAM. By default, up to 5 demos will be kept.
To disable automatic demo recording, set the number to 0.
The oldest demo will be deleted automatically if necessary, to allow recording of further demos.
To change the default of 5 demos in RAM, you can add the number of demos to the parameter,
e.g. <span class="code">-D5</span>
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-D</span>I
</td>
<td>
Limit the demo downloading to intermission (it doubles the intermission time if someone is downloading a demo).
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-W</span>f
</td>
<td>
Sets a path (and optional filename prefix) to write all recorded demos to. The example
<span class="code">-Wserverdemos/mydemo</span> would save all demos to the directory
'serverdemos' and prefix the filenames with 'mydemo'. The filename will contain the (optional)
prefix, the (encoded) time, game mode and map. To set a path without filename prefix, use
<span class="code">-Wpath/</span>. A prefix without path can be set by <span class="code">
-Wprefix</span>. The server owner has to take precautions that the demo files don't fill up the
filesystem - especially, if permanent demo recording is also enabled (switch '-D').
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-SW</span>
</td>
<td>
Starts the server as windows service and sets the
name of the windows service that should be used. Works only for the server binary
is started directly from the windows service manager.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-C</span>f
</td>
<td>
Reads commandline arguments from a file. For example,
<span class="code">-Cconfig/servercmdline.txt</span> will read arguments from that file.
Only one parameter per line is allowed. Empty lines, and any text after '//' will be ignored.
The file is only read once at server startup; changing the file's content will not affect a running server.
See config/servercmdline.txt for additional info. No file is read by default.
</td>
</tr>
<tr>
<td style="text-align: center;vertical-align: top">
<span class="codecommandline">-V</span>
</td>
<td>
Sets the server to verbose mode. This enables additional
log messages to be printed, including the server configuration files (after parsing). Using this
switch twice will also enable logging of DEBUG messages. Be careful:
the logfile will contain all content from serverpwd.cfg.
</td>
</tr>
</table>
</div>
<div id="footer">
Rabid Viper Productions 2008/10/19
</div>
</div>
</body>
</html>