Freeciv 3.1.4 server commands[]
start - Start the game, or restart after loading a savegame.[]
Synopsis: |
start |
Level: 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 rulesets 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 rulesets (for 'read' command), - 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: |
quit |
Level: 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 rulesetdir |
Level: 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 info |
Level: 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:
This command is deprecated. Set metamessage setting directly instead. Command sets 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 p|persistent 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. 'metaconnection persistent' or 'metac p' is like 'up', but keeps trying after failures.
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, a random name will be assigned when the game begins. Until then the player will be known by a name 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 the respective module has been loaded or built in to the server. 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: |
away |
Level: basic
Description:
Toggles 'away' mode for your nation. In away mode, the AI will govern your nation but make only minimal changes. This skill level's features include the following. (Some rulesets may define extra level-specific behavior.) Has reduced appetite for expansion.
restricted - Set one or all AI players to 'Restricted'.[]
Synopsis: |
restricted restricted <player-name> |
Level: ctrl
Description:
With no arguments, sets all AI players to skill level 'Restricted', and sets the default level for any new AI players to 'Restricted'. With an argument, sets the skill level for the specified player only. This skill level has the same features as 'Novice', but may suffer additional ruleset-defined penalties. Doesn't build offensive diplomatic units. Gets reduced bonuses from huts. Prefers defensive buildings and avoids close diplomatic relations. Can see through fog of war. Doesn't build air units. Has complete map knowledge, including unexplored territory. Naive at diplomacy. Limits growth to match human players. Believes its cities are always under threat. Always offers cease-fire on first contact. Doesn't bribe worker or city founder units. Has erratic decision-making. Research takes 250% as long as usual. Has reduced appetite for expansion.
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 the specified player only. This skill level's features include the following. (Some rulesets may define extra level-specific behavior.) Doesn't build offensive diplomatic units. Gets reduced bonuses from huts. Prefers defensive buildings and avoids close diplomatic relations. Can see through fog of war. Doesn't build air units. Has complete map knowledge, including unexplored territory. Naive at diplomacy. Limits growth to match human players. Believes its cities are always under threat. Always offers cease-fire on first contact. Doesn't bribe worker or city founder units. Has erratic decision-making. Research takes 250% as long as usual. Has reduced appetite for expansion.
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 the specified player only. This skill level's features include the following. (Some rulesets may define extra level-specific behavior.) Doesn't build offensive diplomatic units. Gets reduced bonuses from huts. Prefers defensive buildings and avoids close diplomatic relations. Can see through fog of war. Doesn't build air units. Has complete map knowledge, including unexplored territory. Naive at diplomacy. Limits growth to match human players. Always offers cease-fire on first contact. Doesn't bribe worker or city founder units. Can change city production type without penalty. Has erratic decision-making. Has reduced appetite for expansion.
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 the specified player only. This skill level's features include the following. (Some rulesets may define extra level-specific behavior.) Doesn't build offensive diplomatic units. Can see through fog of war. Has complete map knowledge, including unexplored territory. Can skip anarchy during revolution. Always offers cease-fire on first contact. Doesn't bribe worker or city founder units. Can change city production type without penalty.
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 the specified player only. This skill level's features include the following. (Some rulesets may define extra level-specific behavior.) Can target units and cities in unseen or unexplored territory. Knows the location of huts in unexplored territory. Can see through fog of war. Has complete map knowledge, including unexplored territory. Can skip anarchy during revolution. Can change city production type without penalty.
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 the specified player only. This skill level has the same features as 'Hard', but may enjoy additional ruleset-defined bonuses. Can target units and cities in unseen or unexplored territory. Knows the location of huts in unexplored territory. Can see through fog of war. Has complete map knowledge, including unexplored territory. Can skip anarchy during revolution. Can change city production type without penalty.
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: |
first |
Level: 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> reset |
Level: 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'.
playernation - Define the nation of a player.[]
Synopsis: |
playernation <player-name> [nation] [is-male] [leader] [style] |
Level: admin
Description:
This command sets the nation, leader name, style, and gender of a specific player. The gender parameter should be 1 if male, otherwise 0. Omitting any of the player settings will reset the player to defaults. This command may not be used once the game has started.
endgame - End the game immediately in a draw.[]
Synopsis: |
endgame |
Level: admin
surrender - Concede the game.[]
Synopsis: |
surrender |
Level: 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:
Reset the option to its default value. If the default ever changes in a future version, the option's value will follow that change.
lua - Evaluate a line of Freeciv script or a Freeciv script file in the current game.[]
Synopsis: |
lua cmd <script line> lua unsafe-cmd <script line> lua file <script file> lua unsafe-file <script file> lua <script line> (deprecated) |
Level: admin
Description:
Subcommands with the 'unsafe' prefix run the script in an instance separate from the ruleset. This instance doesn't restrict access to Lua functions that can be used to hack the computer running the Freeciv server. Access to it is therefore limited to the console and connections with cmdlevel 'hack'
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.
aicmd - Execute AI command[]
Synopsis: |
aicmd <player> <command> |
Level: admin
Description:
Execute a command in the context of the AI for the given player
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 colortest |
Level: 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: |
rfcstyle |
Level: hack
serverid - Simply returns the id of the server.[]
Synopsis: |
serverid |
Level: info