OpenTTD Manual
Installation · FAQ
Tutorials and Instructions
Game interface ·


Signals · Stations · Junctions · Carrying capacity · Rail Designs & Tips
Roadways · Tramways · Waterways · Airports · Landscaping
Trains · Road vehicles · Ships · Aircraft · Orders
Game options · Settings · AI settings · Custom graphics (NewGRF) · Cheats · Command line
Graphics and sound
OpenGFX · OpenMSX · OpenSFX
More topics
Climates · Towns · Industries · Economy · Disasters · Tips · Hidden features · Hotkeys · Console · Game Mechanics · Multiplayer · Scenario editor · Online content · Social Integration
Troubleshooting · Links

The console allows you to see Multiplayer chat history and to execute command-line commands in OpenTTD. Most of the commands are used to configure multiplayer servers.


The OpenTTD Console

Using the console

Open the console with the tilde key (~), located to the left of '1' on the main keyboard. On some layout international keyboards the symbol may differ (e.g. on the layout#Germany and Austria (but not Switzerland) German keyboard it is ^ TWICE). There is also a "Toggle Console" option in the help menu.
After the console is open, type in a command, such as "help" and press Enter.


Console commands

Here is a list of all the console commands available in OpenTTD. Brackets [] mean "optional". A vertical line | means "or". Underscores _ in the command name are optional. The list is organized with the most useful commands at the top. This list is also available alphabetically. Remember that quote marks are supposed to be written in the console too!

Help commands

Command Description
help [<item>] Display basic console help, specify <item> for help on that specific command or variable.
list_cmds [<filter>] List all available commands, optionally only commands starting with <filter>.
list_settings [<filter>] List all registered variables including Advanced Settings, optionally only variables containing <filter>.
list_aliases List all available aliases.
list_patches Same as list_settings.

Game commands

These commands work both in single player games and on servers.

Command Description
newgame [<seed>] Start a new game, optionally with a set seed.
restart Restart the same game.
connect <host> Connect to a network game running on <host>. Not available for the server.
reconnect Reconnects to the last server you were playing on. (Introduced in r17466, only in version 1.0 or later)
save <number | file> Saves the current game as <number> or <file>.
load <number | file> Load the savegame <number> or <file>.
part Quit a running game and go back to the intro menu. Not available for the server.
exit / quit Quit the game.

Multiplayer commands

These commands are used to run a multiplayer game Server. Some commands also work for connected clients.

Command Description Clients
kick <ip | client-id> Kick the client with IP <ip> or id <client-id>. No
ban <ip | client-id> Ban the client with IP <ip> or id <client-id>. No
unban <ip> Remove a ban on <ip>. No
banlist List banned clients. No
reset_company <company-id> Delete the company identified by <company-id>. No
pause Pause the game. No
unpause Unpause the game. No
clients List the client id, name, company id, and IP address of each client. Yes
companies Show a list of players and their attributes, e.g. company name, loan amount, number of vehicles etc. No
status Get the status information on all currently connected clients. No
server_info List current and maximum client/player limits. No
say "<msg>" Send a chat message containing <msg> to all players. Yes
say_client <client-id> "<msg>" Send a chat message containing <msg> to the client identified by <client-id>. Yes
say_player <player-id> "<msg>" Send a chat message containing <msg> to everyone in the company identified by <player-id> (1-10). Yes
rcon <password> "<command>" Execute <command> on the server authenticated by <password> while connected as a client. The password must be set in advance locally on the server with by "rcon_pw <password>". Yes
join <company-id> [<password>] Join a company. <password> is only needed if the company you want to join is password protected. Yes
spectate alias to join 255 Yes
move <client-id> <company-id> Move a client to any company. Use company-id of 255 to move the client to spectators. No
client_name <client-id> <name> Rename a client's username. This is useful if a client e.g. joins with an offensive username. No
list_ai List all available AI's on server. Yes
start_ai <ai>[.<version>] Start an available AI, with the specified version if supplied. No
stop_ai <company-id> Stop an existing AI. Afterwards, the company will get completely purged from the map. No

File handling commands

Command Description
cd <directory | number> Change the working directory to <directory> or <number>.
ls / dir List files of current directory.
pwd Print out the current working directory.
rm <number | file> Remove a savegame by name or index.
Command Description
script <file> Record a script to the file named <file>.
exec <script> <?> Executes a local script file.
return Stop executing a running script.
Command Description
content update Updates the list of available online content.
content upgrade Select all files which are upgrades (of locally existing files)
content select [<ID>] Select item by ID or list all selected items
content unselect (ID / all) Unselect item by ID or unselect all
content state Show the state (selected / unselected) of all items
content download Download all selected online content

Other commands

Command Description
screenshot [viewport | normal | big | giant | heightmap | minimap] [no_con] [size <width> <height>] [<filename>] Create a screenshot of the game.
'viewport' (default) makes a screenshot of the current viewport (including menus, windows).
'normal' makes a screenshot of the visible area.
'big' makes a zoomed-in screenshot of the visible area.
'giant' makes a screenshot of the whole map.
'heightmap' makes a heightmap screenshot of the map that can be loaded in as heightmap.
'minimap' makes a top-viewed minimap screenshot of the whole world which represents one tile by one pixel.

'no_con' hides the console to create the screenshot (only useful in combination with 'viewport').
'size' sets the width and height of the viewport to make a screenshot of (only useful in combination with 'normal' or 'big').
alias <name> <command> Create an alias named <name> bound to <command>.
set <setting_name> [<newvalue>] Get and set the setting from the console. If <newvalue> is omitted the current value is printed. See Console Settings for a listing of all available settings.
dump_vars Print all known variables and their values.
getseed Returns the seed used to create the game, for randomly generated games. The seed can be used to reproduce the same starting map.
scrollto <tile> Scroll to the tile numbered <tile>; accepts hexadecimal (prefixed with 0x) and decimal values. Use the land area information tool to get the number of a specific tile.
clear Clears the console screen.
echo <text> Print out <text> on the console.
echoc <color> <text> Print out <text> in color <color>. <color> is a number between 0 and 255.
info_cmd <command> Show technical information on the command <command>.
info_var <variable> Show technical information on the variable <variable>.
debug_level [<level>] Get / set the debugging levels of different parts of the game.
resetengines Resets all usage and availability of engines.


Here is a list of variables available in OpenTTD. See the value of a variable by typing setting variablename. Change the value by typing setting variablename followed by the new value. Set boolean variables with 'on' or 'off'. Reset a text variable to empty by using * as new value.

Server variables

Variable Description Default value
autoclean_companies Automatically shut down inactive companies to free them up for other players. Customize with 'autoclean_(un)protected' and 'autoclean_novehicles' off
autoclean_protected Automatically remove the password from an inactive company after the given amount of months. 36
autoclean_unprotected Automatically shut down inactive companies after the given amount of months. 12
autoclean_novehicles Automatically shut down companies without vehicles after the given amount of months. 0
max_clients Maximum number of players allowed on the server 10
max_companies Maximum number of companies allowed in the game 8
max_join_time Maximum amount of time (ticks) a client is allowed to join 500
max_spectators Maximum number of spectators allowed on the server 10
min_active_clients Automatically pause the game when the number of active players is less than this amount. 0
net_frame_freq Number of frames before a command will be (visibly) executed 1
net_sync_freq Number of frames to check if the game is still in sync 100
pause_on_join Set if the server should pause gameplay while a client is joining. This might help slow users. on
rcon_pw Remote connection password, used to modify a server while connected as a client. Use '*' to disable rcon.

restart_game_year Auto-restart the server when Jan 1st of the set year is reached. Use '0' to disable this. 0
server_advertise Set if the server will advertise to the master server and show up there. on
server_ip IP that the server binds to. Changes take effect the next time you start a server. Use 'all' or '' to bind to any IP.
server_name Name of the server for multiplayer.

server_port Server port number; change this if your firewall interferes. Changes take effect the next time you start a server. 3979 (TCP & UDP)
server_password Server password to protect your server; only clients with the password can join. Use '*' to clear the password.

Other variables

Variable Description Default value
name Your name for multiplayer Player
company_pw Your company password; only clients with the password can join. Use '*' to clear the password.

developer Redirect debugging output from the console/command line to the ingame console (value '2'). 1

Pathfinder variables

See Yet Another Pathfinder for YAPF tuning variables.