Freeciv-manual/2 (alpha test)

Freeciv 2.6.0-alpha server commands
----
===start - Start the game, or restart after loading a savegame.===
Synopsis:
startLevel: basic
Description:
This command starts the game. When starting a new game, it should be
used after all human players have connected, and AI players have been
created (if required), and any desired changes to initial server
options have been made. After 'start', each human player will be able
to choose their nation, and then the game will begin. This command is
also required after loading a savegame for the game to recommence.
Once the game is running this command is no longer available, since it
would have no effect.
----
===help - Show help about server commands and server options.===
Synopsis:
help
help commands
help options
help <command-name>
help <option-name>Level: info
Description:
With no arguments gives some introductory help. With argument
"commands" or "options" gives respectively a list of all commands or
all options. Otherwise the argument is taken as a command name or
option name, and help is given for that command or option. For
options, the help information includes the current and default values
for that option. The argument may be abbreviated where unambiguous.
----
===list - Show a list of various things.===
Synopsis:
list
list colors
list connections
list delegations
list ignored users
list map image definitions
list players
list scenarios
list nationsets
list teams
list votes
Level: info
Description:
Show a list of:
 - the player colors,
 - connections to the server,
 - all player delegations,
 - your ignore list,
 - the list of defined map images,
 - the list of the players in the game,
 - the available scenarios,
 - the available nation sets in this ruleset,
 - the teams of players or
 - the running votes.
The argument may be abbreviated, and defaults to 'players' if absent.
----
===quit - Quit the game and shutdown the server.===
Synopsis:
quitLevel: hack
----
===cut - Cut a client's connection to server.===
Synopsis:
cut <connection-name>Level: ctrl
Description:
Cut specified client's connection to the server, removing that client
from the game. If the game has not yet started that client's player is
removed from the game, otherwise there is no effect on the player.
Note that this command now takes connection names, not player names.
----
===explain - Explain server options.===
Synopsis:
explain
explain <option-name>Level: info
Description:
The 'explain' command gives a subset of the functionality of 'help',
and is included for backward compatibility. With no arguments it gives
a list of options (like 'help options'), and with an argument it gives
help for a particular option (like 'help <option-name>').
----
===show - Show server options.===
Synopsis:
show
show <option-name>
show <option-prefix>
show all
show vital
show situational
show rare
show changed
show locked
show rulesetdirLevel: info
Description:
With no arguments, shows vital server options (or available options,
when used by clients). With an option name argument, show only the
named option, or options with that prefix. With "all", it shows all
options. With "vital", "situational" or "rare", a set of options with
this level. With "changed", it shows only the options which have been
modified, while with "locked" all settings locked by the ruleset will
be listed. With "ruleset", it will show the current ruleset directory
name.
----
===wall - Send message to all connections.===
Synopsis:
wall <message>Level: admin
Description:
For each connected client, pops up a window showing the message
entered.
----
===connectmsg - Set message to show to connecting players.===
Synopsis:
connectmsg <message>Level: admin
Description:
Set message to send to clients when they connect.
Empty message means that no message is sent.
----
===vote - Cast a vote.===
Synopsis:
vote yes|no|abstain [vote number]Level: basic
Description:
A player with basic level access issuing a control level command
starts a new vote for the command. The /vote command followed by
"yes", "no", or "abstain", and optionally a vote number, gives your
vote. If you do not add a vote number, your vote applies to the latest
vote. You can only suggest one vote at a time. The vote will pass
immediately if more than half of the voters who have not abstained
vote for it, or fail immediately if at least half of the voters who
have not abstained vote against it.
----
===debug - Turn on or off AI debugging of given entity.===
Synopsis:
debug diplomacy <player>
debug ferries
debug tech <player>
debug city <x> <y>
debug units <x> <y>
debug unit <id>
debug timing
debug infoLevel: ctrl
Description:
Print AI debug information about given entity and turn continuous
debugging output for this entity on or off.
----
===set - Set server option.===
Synopsis:
set <option-name> <value>Level: ctrl
Description:
Set an option on the server. The syntax and legal values depend on the
option; see the help for each option. Some options are "bitwise", in
that they consist of a choice from a set of values; separate these
with |, for instance, '/set topology wrapx|iso'. For these options,
use syntax like '/set topology ""' to set no values.
----
===team - Change a player's team affiliation.===
Synopsis:
team <player> <team>Level: ctrl
Description:
A team is a group of players that start out allied, with shared vision
and embassies, and fight together to achieve team victory with
averaged individual scores. Each player is always a member of a team
(possibly the only member). This command changes which team a player
is a member of. Use "" if names contain whitespace.
----
===rulesetdir - Choose new ruleset directory or modpack.===
Synopsis:
rulesetdir <directory>Level: ctrl
----
===metamessage - Set metaserver info line.===
Synopsis:
metamessage <meta-line>Level: ctrl
Description:
Set user defined metaserver info line. If parameter is omitted,
previously set metamessage will be removed. For most of the time user
defined metamessage will be used instead of automatically generated
messages, if it is available.
----
===metapatches - Set metaserver patches line.===
Synopsis:
metapatches <meta-line>Level: hack
----
===metaconnection - Control metaserver connection.===
Synopsis:
metaconnection u|up
metaconnection d|down
metaconnection ?Level: admin
Description:
'metaconnection ?' reports on the status of the connection to
metaserver. 'metaconnection down' or 'metac d' brings the metaserver
connection down. 'metaconnection up' or 'metac u' brings the
metaserver connection up.
----
===metaserver - Set address (URL) for metaserver to report to.===
Synopsis:
metaserver <address>Level: admin
----
===aitoggle - Toggle AI status of player.===
Synopsis:
aitoggle <player-name>Level: ctrl
----
===take - Take over a player's place in the game.===
Synopsis:
take [connection-name] <player-name>Level: info
Description:
Only the console and connections with cmdlevel 'hack' can force other
connections to take over a player. If you're not one of these, only
the <player-name> argument is allowed. If '-' is given for the player
name and the connection does not already control a player, one is
created and assigned to the connection. The 'allowtake' option
controls which players may be taken and in what circumstances.
----
===observe - Observe a player or the whole game.===
Synopsis:
observe [connection-name] [player-name]Level: info
Description:
Only the console and connections with cmdlevel 'hack' can force other
connections to observe a player. If you're not one of these, only the
[player-name] argument is allowed. If the console gives no player-name
or the connection uses no arguments, then the connection is attached
to a global observer. The 'allowtake' option controls which players
may be observed and in what circumstances.
----
===detach - Detach from a player.===
Synopsis:
detach <connection-name>Level: info
Description:
Only the console and connections with cmdlevel 'hack' can force other
connections to detach from a player.
----
===create - Create an AI player with a given name.===
Synopsis:
create <player name> [ai type]Level: ctrl
Description:
With the 'create' command a new player with the given name is created.
If 'player name' is empty, random name will be assigned when the game
begins. Until then player will be known by id derived from its type.
The 'ai type' parameter can be used to select which AI module will be
used for the created player. This requires that Freeciv has been
compiled with loadable AI module support and that the respective
module has been loaded.
If the game has already started, the new player will have no units or
cities; also, if no free player slots are available, the slot of a
dead player can be reused (removing all record of that player from the
running game).
----
===away - Set yourself in away mode. The AI will watch your back.===
Synopsis:
awayLevel: basic
Description:
The AI will govern your nation but do minimal changes.
----
===handicapped - Set one or all AI players to 'handicapped'.===
Synopsis:
handicapped
handicapped <player-name>Level: ctrl
Description:
With no arguments, sets all AI players to skill level 'handicapped',
and sets the default level for any new AI players to 'handicapped'.
With an argument, sets the skill level for that player only.
----
===novice - Set one or all AI players to 'novice'.===
Synopsis:
novice
novice <player-name>Level: ctrl
Description:
With no arguments, sets all AI players to skill level 'novice', and
sets the default level for any new AI players to 'novice'. With an
argument, sets the skill level for that player only.
----
===easy - Set one or all AI players to 'easy'.===
Synopsis:
easy
easy <player-name>Level: ctrl
Description:
With no arguments, sets all AI players to skill level 'easy', and sets
the default level for any new AI players to 'easy'. With an argument,
sets the skill level for that player only.
----
===normal - Set one or all AI players to 'normal'.===
Synopsis:
normal
normal <player-name>Level: ctrl
Description:
With no arguments, sets all AI players to skill level 'normal', and
sets the default level for any new AI players to 'normal'. With an
argument, sets the skill level for that player only.
----
===hard - Set one or all AI players to 'hard'.===
Synopsis:
hard
hard <player-name>Level: ctrl
Description:
With no arguments, sets all AI players to skill level 'hard', and sets
the default level for any new AI players to 'hard'. With an argument,
sets the skill level for that player only.
----
===cheating - Set one or all AI players to 'cheating'.===
Synopsis:
cheating
cheating <player-name>Level: ctrl
Description:
With no arguments, sets all AI players to skill level 'cheating', and
sets the default level for any new AI players to 'cheating'. With an
argument, sets the skill level for that player only.
----
===cmdlevel - Query or set command access level access.===
Synopsis:
cmdlevel
cmdlevel <level>
cmdlevel <level> new
cmdlevel <level> first
cmdlevel <level> <connection-name>Level: admin
Description:
The command access level controls which server commands are available
to users via the client chatline. The available levels are:
 none - no commands
 info - informational or observer commands only
 basic - commands available to players in the game
 ctrl - commands that affect the game and users
 admin - commands that affect server operation
 hack - *all* commands - dangerous!
With no arguments, the current command access levels are reported.
With a single argument, the level is set for all existing connections,
and the default is set for future connections. If 'new' is specified,
the level is set for newly connecting clients. If 'first come' is
specified, the 'first come' level is set; it will be granted to the
first client to connect, or if there are connections already, the
first client to issue the 'first' command. If a connection name is
specified, the level is set for that connection only.
Command access levels do not persist if a client disconnects, because
some untrusted person could reconnect with the same name. Note that
this command now takes connection names, not player names.
----
===first - If there is none, become the game organizer with increased permissions.===
Synopsis:
firstLevel: basic
----
===timeoutincrease - See "help timeoutincrease".===
Synopsis:
timeoutincrease <turn> <turninc> <value> <valuemult>Level: ctrl
Description:
Every <turn> turns, add <value> to timeout timer, then add <turninc>
to <turn> and multiply <value> by <valuemult>. Use this command in
concert with the option "timeout". Defaults are 0 0 0 1
----
===cancelvote - Cancel a running vote.===
Synopsis:
cancelvote
cancelvote <vote number>
cancelvote all
Level: basic
Description:
With no arguments this command removes your own vote. If you have an
admin access level, you can cancel any vote by vote number, or all
votes with the 'all' argument.
----
===ignore - Block all messages from users matching the pattern.===
Synopsis:
ignore [type=]<pattern>Level: info
Description:
The given pattern will be added to your ignore list; you will not
receive any messages from users matching this pattern. The type may be
either "user", "host", or "ip". The default type (if omitted) is to
match against the username. The pattern supports unix glob style
wildcards, i.e., * matches zero or more character, ? exactly one
character, [abc] exactly one of 'a' 'b' or 'c', etc. To access your
current ignore list, issue "/list ignore".
----
===unignore - Remove ignore list entries.===
Synopsis:
unignore <range>Level: info
Description:
The ignore list entries in the given range will be removed; you will
be able to receive messages from the respective users. The range
argument may be a single number or a pair of numbers separated by a
dash '-'. If the first number is omitted, it is assumed to be 1; if
the last is omitted, it is assumed to be the last valid ignore list
index. To access your current ignore list, issue "/list ignore".
----
===playercolor - Define the color of a player.===
Synopsis:
playercolor <player-name> <color>
playercolor <player-name> resetLevel: admin
Description:
This command sets the color of a specific player, overriding any color
assigned according to the 'plrcolormode' setting.
The color is defined using hexadecimal notation (hex) for the
combination of Red, Green, and Blue color components (RGB), similarly
to HTML. For each component, the lowest (darkest) value is 0 (in hex:
00), and the highest value is 255 (in hex: FF). The color definition
is simply the three hex values concatenated together (RRGGBB). For
example, the following command sets Caesar to pure red:
 playercolor Caesar ff0000
Before the game starts, this command can only be used if the
'plrcolormode' setting is set to 'PLR_SET'; a player's color can be
unset again by specifying 'reset'.
Once the game has started and colors have been assigned, this command
changes the player color in any mode; 'reset' cannot be used.
To list the player colors, use 'list colors'.
----
===endgame - End the game immediately in a draw.===
Synopsis:
endgameLevel: admin
----
===surrender - Concede the game.===
Synopsis:
surrenderLevel: basic
Description:
This tells everyone else that you concede the game, and if all but one
player (or one team) have conceded the game in this way then the game
ends.
----
===remove - Fully remove player from game.===
Synopsis:
remove <player-name>Level: ctrl
Description:
This *completely* removes a player from the game, including all cities
and units etc. Use with care!
----
===save - Save game to file.===
Synopsis:
save
save <file-name>Level: admin
Description:
Save the current game to file <file-name>. If no file-name argument is
given saves to "<auto-save name prefix><year>m.sav[.gz]". To reload a
savegame created by 'save', start the server with the command-line
argument:
 '--file <filename>' or '-f <filename>'
and use the 'start' command once players have reconnected.
----
===scensave - Save game to file as scenario.===
Synopsis:
scensave
scensave <file-name>Level: admin
Description:
Save the current game to file <file-name> as scenario. If no file-name
argument is given saves to "<auto-save name prefix><year>m.sav[.gz]".
To reload a savegame created by 'scensave', start the server with the
command-line argument:
 '--file <filename>' or '-f <filename>'
and use the 'start' command once players have reconnected.
----
===load - Load game from file.===
Synopsis:
load
load <file-name>Level: ctrl
Description:
Load a game from <file-name>. Any current data including players,
rulesets and server options are lost.
----
===read - Process server commands from file.===
Synopsis:
read <file-name>Level: ctrl
----
===write - Write current settings as server commands to file.===
Synopsis:
write <file-name>Level: hack
----
===reset - Reset all server settings.===
Synopsis:
reset [game|ruleset|script|default]Level: ctrl
Description:
Reset all settings if it is possible. The following levels are
supported:
 game - using the values defined at the game start
 ruleset - using the values defined in the ruleset
 script - using default values and rereading the start script
 default - using default values
----
===default - Set option to its default value===
Synopsis:
default <option name>Level: ctrl
Description:
Set option to its default value, and track it as 'default' instead
of real value.
----
===lua - Evaluate a line of Freeciv script or a Freeciv script file in the current game.===
Synopsis:
lua cmd <script line>
lua file <script file>
lua <script line> (deprecated)Level: admin
----
===kick - Cut a connection and disallow reconnect.===
Synopsis:
kick <user>Level: ctrl
Description:
The connection given by the 'user' argument will be cut from the
server and not allowed to reconnect. The time the user wouldn't be
able to reconnect is controlled by the 'kicktime' setting.
----
===delegate - Delegate control to another user.===
Synopsis:
delegate to <username> [player-name]
delegate cancel [player-name]
delegate take <player-name>
delegate restore
delegate show <player-name>Level: basic
Description:
Delegation allows a user to nominate another user who can temporarily
take over control of their player while they are away.
'delegate to <username>': allow <username> to 'delegate take' your
player.
'delegate cancel': nominated user can no longer take your player.
'delegate take <player-name>': take control of a player who has been
delegated to you. (Behaves like 'take', except that the 'allowtake'
restrictions are not enforced.)
'delegate restore': relinquish control of a delegated player (opposite
of 'delegate take') and restore your previous view, if any. (This also
happens automatically if the player's owner reconnects.)
'delegate show': show who control of your player is currently
delegated to, if anyone.
The [player-name] argument can only be used by connections with
cmdlevel 'admin' or above to force the corresponding change of the
delegation status.
----
===fcdb - Manage the authentication database.===
Synopsis:
fcdb reload
fcdb lua <script>Level: admin
Description:
The argument 'reload' causes the database script file to be re-read
after a change, while the argument 'lua' evaluates a line of Lua
script in the context of the Lua instance for the database.
----
===mapimg - Create image files of the world/player map.===
Synopsis:
mapimg define <mapdef>
mapimg show <id>|all
mapimg create <id>|all
mapimg delete <id>|all
mapimg colortestLevel: admin
Description:
This command controls the creation of map images. Supported arguments:
 define <mapdef> - define a map image; returns numeric <id>
 show <id>|all - list map image definitions or show a specific one
 create <id>|all - manually save image(s) for current map state
 delete <id>|all - delete map image definition(s)
 colortest - create test image(s) showing all colors
Multiple definitions can be active at once. A definition <mapdef>
consists of colon-separated options:
option (default) description
format=<[tool|]format> (magick|gif) file format
show=<show> (all) which players to show
 plrname=<name> player name
 plrid=<id> numeric player id
 plrbv=<bit vector> see example; first char = id 0
turns=<turns> (1) save image each <turns> turns
 (0=no autosave, save with 'create')
zoom=<zoom> (2) magnification factor (1-5)
map=<map> (bcku) which map layers to draw
<[tool|]format> = use image format <format>, optionally specifying
toolkit <tool>. The following toolkits and formats are compiled in:
 - 'ppm': 'ppm'
 - 'magick': 'gif', 'png', 'ppm', 'jpg'
<show> determines which players are represented and how many images
are saved by this definition:
 - 'none' no players, only terrain
 - 'each' one image per player
 - 'human' one image per human player
 - 'all' all players on a single image
 - 'plrname' just the player named with 'plrname'
 - 'plrid' just the player specified with 'plrid'
 - 'plrbv' one image per player in 'plrbv'
<map> can contain one or more of the following layers:
 - 'a' show area within borders of specified players
 - 'b' show borders of specified players
 - 'c' show cities of specified players
 - 'f' show fog of war (single-player images only)
 - 'k' show only player knowledge (single-player images only)
 - 't' full display of terrain types
 - 'u' show units of specified players
Examples of <mapdef>:
 'zoom=1:map=tcub:show=all:format=ppm|ppm'
 'zoom=2:map=tcub:show=each:format=png'
 'zoom=1:map=tcub:show=plrname:plrname=Otto:format=gif'
 'zoom=3:map=cu:show=plrbv:plrbv=010011:format=jpg'
 'zoom=1:map=t:show=none:format=magick|jpg'
----
===rfcstyle - Switch server output between 'RFC-style' and normal style.===
Synopsis:
rfcstyleLevel: hack
----
===serverid - Simply returns the id of the server.===
Synopsis:
serveridLevel: info