Server commands

Level: admin

Description:

```
Execute a command in the context of the AI for the given player
```

Level: ctrl

Description:

```
Can not be done during PBEM.
```

Level: basic

Description:

```
This command allows you to play the game with a different player-name
from your account username, so that other players don't
recognize you. Since player-name defaults to username upon entry,
do this command only AFTER arriving in-game.

You can only do this command once, in the first two turns after joining a game.

This command only works on the player who requests it.

Admins should use the /playernation command instead. (NB: the /name
command changes both the username and playername so won't serve as
an alias.)
```

Level: info

Description:

```
The AI will govern your nation but do minimal changes.
```

Level: info

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.
```

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.
```

Level: hack

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 commands only
    ctrl  -  commands that affect the game and users
    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 'firstlevel' 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.
```

Level: ctrl

Description:

```
Set message to send to clients when they connect.
Empty message means that no message is sent.
```

Level: ctrl

Description:

```
Can not be done during multiplayer or PBEM. The 'create' command is only available before the game has been started.
```

### 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.
```

See also: kick, remove

### debug - Turn on or off AI debugging of given entity.

```
Synopsis:
```
```
/debug [ player <player> | city <x> <y> | units <x> <y> | unit <id> ]
```

Level: ctrl

Description:

```
Can not be done during multiplayer or PBEM. Print AI debug information about given
entity and turn continuous debugging output for this entity on or off.
```

### 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.
```

### delegate - Give another player temporary control of a nation while its original owner is away

```
Synopsis:
```
```
/delegate to <username> [player-name]
/delegate cancel [player-name]
/delegate take <player-name>
/delegate restore
/delegate show <player-name>
```

Level: basic, hack

Description:

```
Manages temporary control by another player.

Usage Examples:

```

```
**/delegate to Bob**: Allow Bob to use "/delegate take" to control your nation.

```

```
**/delegate cancel**: Revoke permission to control your nation.

```

```
**/delegate take Sue**: Take temporary control of Sue, if delegated to you.

```

```
**/delegate restore**: Cancel "/delegate take". Relinquish control [of Sue], if delegated to you. Revert to your own nation. Also happens whenever the nation's original owner reconnects.)

```

```
**/delegate show**: Show to which player you have given delegation rights.
**ADMIN LEVEL**

```

```
The [player-name] argument can only be used by connections with cmdlevel 'admin' or above, to force the corresponding change of the delegation status.

```

```
**/delegate to Bob Sue**: Give Bob delegate control of Sue's nation.

```

```
**/delegate cancel Bob**: Cancel Bob's delegation

```

```
**/delegate show Sue**: Show to which player Sue has given delegation rights.

```

### detach - detach from a player.

```
Synopsis:
```
```
/detach <connection-name>
```

Level: info

Description:

```
Can not be done during PBEM. Only the console and connections with cmdlevel 'hack' can force other connections to detach from a player.
```

### easy - Set one or all AI players to 'easy'.

```
Synopsis:
```
```
/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.
```

### endgame - End the game immediately.

```
Synopsis:
```
```
/endgame <player1 player2 player3 ...>
```

Level: ctrl

Description:

```
This command ends the game play.
```

### experimental - Set one or all AI players to 'experimental'.

```
Synopsis:
```
```
/experimental <player-name>
```

Level: ctrl

Description:

```
With no arguments, sets all AI players to skill 'experimental', and sets the
default level for any new AI players to this.  With an argument, sets the
skill level for that player only. THIS IS ONLY FOR TESTING OF NEW AI
FEATURES! For ordinary servers, this option has no effect.
```

### explain - Explain server options.

```
Synopsis:
```
```
/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>').
```

### 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.
```

### first - If there is none, become the game organizer with increased permissions.

```
Synopsis:
```
```
/first
```

Level: info

Description:

```
Cannot be done in longturn games.

If 'cmdlevel first come' has been used to set a special 'first come'
command access level, this is the command to grab it with.
```

### handicapped - Set one or all AI players to 'handicapped'.

```
Synopsis:
```
```
/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.
```

### hard - Set one or all AI players to 'hard'.

```
Synopsis:
```
```
/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.
```

### ignore - Block all messages from users matching the pattern.

```
Synopsis:
```
```
/ignore [type=]<pattern>
/ignore <player-name>
```

Level: basic

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".
```

### kick - Cut a connection and disallow reconnect.

```
Synopsis:
```
```
/kick <username>
```

Level: basic

Description:

```
The connection given by the 'username' 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.
```

See also: cut, remove

### list - Shows 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: basic

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.
```

### load - Load game from file.

```
Synopsis:
```
```
/load <file-name>
```

Level: hack

Description:

```
Load a game from <file-name>. Any current data including players, rulesets
and server options are lost.

```

### 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: hack

Description:

```
The unsafe prefix runs 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'

```

### mapimg - Create image files of the world/player map.

```
Synopsis:
```
```
/mapimg
```

Level: internal server

```
Used by the internal server to create the map images used in the
display list of on-going singleplayer games. Not for human use.

In theory, could be used by a GM to create a history of mini-maps
as the game progresses.

```

### metaconnection - Control metaserver connection.

```
Synopsis:
```
```
/metaconnection u|up
/metaconnection d|down
/metaconnection ?
```

Level: hack

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.
```

### metainfo - Set metaserver info line.

```
Synopsis:
```
```
/metainfo <meta-line>
```

Level: ctrl

### metapatches - Set metaserver patches line.

```
Synopsis:
```
```
/metapatches <meta-line>
```

Level: hack

### metaserver - Set address for metaserver to report to.

```
Synopsis:
```
```
/metaserver <address>
```

Level: hack

### name - Change the username and playername of a player.

```
Synopsis:
```
```
/name <player> <new_name>
```

Level: ctrl

Description:

```
Change the name of a player. Can assist Gamemaster in arranging team game
starting positions. Note: this will change both the username (account login)
and the playing-as playername. See /alias for changing playername only
```

### normal - Set one or all AI players to 'normal'.

```
Synopsis:
```
```
/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.
```

### novice - Set one or all AI players to 'novice'.

```
Synopsis:
```
```
/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.
```

### observe - Observe a player.

```
Synopsis:
```
```
/observe [connection-name] <player-name>
```

Level: info

Description:

```
Can not be done during multiplayer or PBEM. 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
```

### password - Sets the password required to connect to the game.

```
Synopsis:
```
```
/password <codephrase>
```

Level: admin

Description:

```
Requires cmdlevel 'admin' Click 'GAME' button from
pre-launch to set password as a standard user.
```

### playernation - Set the nation and other details of a player.

```
Synopsis:
```
```
/playernation <player-name> [nation]
/playernation <player-name> [nation] [is-male] [leader] [style]
```

Level: admin

Description:

```
This command sets the nation of a specific player and optionally,
the gender, new leader name, and civ graphic style of a player.
Gender parameter is 0 for female, 1 for male, and defaults male.
Omitting all [parameters] will reset the player with that name to
defaults. [style] is one of the following {european,classical,
tropical,asian,babylonian,celtic}.
EXAMPLE:
/playernation John Italian 1 Giovanni classical
^ sets the nation with leader named John to the Italian nation,
sets him as male, renames him as Giovanni for this game, and uses
classical style civ city graphics."
```

### quit - Quit the game and shutdown its server.

```
Synopsis:
```
```
/quit
```

Level: hack

### read - Process server commands from file.

```
Synopsis:
```
```
/read <file-name>
```

Level: ctrl

### 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!
```

See also: cut, kick

### 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
```

### rfcstyle - Switch server output between 'RFC-style' and normal style.

```
Synopsis:
```
```
/rfcstyle
```

Level: hack

### save - Save game to file.

```
Synopsis:
```
```
/save
/save <file-name>
```

Level: ctrl

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>
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.
```

### rulesetdir - Choose new ruleset directory or modpack.

```
Synopsis:
```
```
/rulesetdir <directory>
/rules <ruleset name>
```

Level: ctrl

Description:

```
Choose new ruleset directory or modpack. Calling this without any arguments will show you the currently selected ruleset.
```

### score - Show current scores.

```
Synopsis:
```
```
/score
```

Level: ctrl

Description:

```
For each connected client, pops up a window showing the current player
scores.
```

### set - Set server option.

```
Synopsis:
```
```
/set <option-name> <value>
```

Level: ctrl

### show - Show server options.

```
Synopsis:
```
```
/show
/show <option-name>
/show <option-prefix>
```

Level: info

Description:

```
With no arguments, shows all server options (or available options, when used
by clients).  With an argument, show only the named option, or options with
that prefix.
```

### start - Start the game, or restart after loading a savegame.

```
Synopsis:
```
```
/start
```

Level: ctrl

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.
```

### supercows - SHOW supercows. Access: Players. ASSIGN supercows. Access: Admin.

```
Synopsis:
```
```
/supercows
/supercows <username1> <username2> ... <usernameN>

```

Level: basic (list), hack (assign)

Description:

```
Shows or assigns the admins for the current game.
Use up to 10 parameters to set non-player admins for the game.
To assign admins, you must be an admin and specify non-players by username.
```

### 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.
```

### take - Take over a player's place in the game.

```
Synopsis:
```
```
/take [connection-name] <player-name>
```

Level: info

Description:

```
Can not be done during multiplayer or PBEM. 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.
```

### team - Change, add or remove a player's team affiliation.

```
Synopsis:
```
```
/team <player> [team]
```

Level: ctrl

Description:

```
Can not be done during PBEM. Sets a player as member of a team. If no team specified,
the player is set teamless. Use "" if names contain whitespace. 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.
```

### timeaddenemymove - Timeout at least n seconds when enemy moved.

```
Synopsis:
```
```
/timeaddenemymove <value>
```

Level: ctrl

Description:

```
Any time a unit moves when in sight of an enemy player,
the remaining timeout is set to this <value> if it was lower.

```

### 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
```

### unignore - Remove ignore list entries.

```
Synopsis:
```
```
/unignore [type=]<pattern>
/unignore <player-name>
```

Level: basic

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".
```

### vote - Cast a vote.

```
Synopsis:
```
```
/vote yes|no [vote number]
```

Level: info

Description:

```
A player with info level access issueing a control level command starts a
new vote for given command.  /vote followed by "yes" or "no", and optionally
a vote number, gives your vote.  If you do not add a vote number, your vote
applies to the latest command.  You can only suggest one vote at a time.
Voting concludes after a full turn has passed or more than 50% of the votes
have been cast for or against.
```

### wall - Send message to all connections.

```
Synopsis:
```
```
/wall <message>
```

Level: hack

Description:

```
Can not be done during PBEM. For each connected client, pops up a window showing the message entered.
```

### write - Write current settings as server commands to file.

```
Synopsis:
```
```
/write <file-name>
```

Level: hack

Template:ServerManualNav