OpenTTD is a free re-implementation of the popular DOS game Transport Tycoon Deluxe. You are a transport company owner, and you must manage it over the years in order to make profit.
If you do not own the original game, openttd-opengfx and openttd-opensfx contains the free graphics & sounds.
Additionally, you may install openttd-openmsxAUR to get the free OpenMSX music pack. Be sure to read through Timidity#Configuration to setup Timidity correctly, in particular, add yourself to the audio group and configure Timidity to use the Freepats SoundFont.
Original Transport Tycoon Deluxe data (optional)
OpenTTD can use the non-free graphics and sound data of the original Windows/DOS version of Transport Tycoon Deluxe.
You can get these files from the game CD-ROM, from an existing install or you get them from the freely available game installation archive available at Abandonia.
To use the original graphics & sound effects, copy the following files to
- Windows : trg1r.grf, trgcr.grf, trghr.grf, trgir.grf, trgtr.grf
- DOS : TRG1.GRF, TRGC.GRF, TRGH.GRF, TRGI.GRF, TRGT.GRF
- sample.cat from either version
For the original soundtrack, copy the files from the gm folder of the original TTD game directory to
The game can be quite confusing at first. A good tutorial is available on the wiki here.
For an in-game tutorial, a game script has been implemented. Just download 'Beginner Tutorial' with the in-game download manager and load the 'Beginner Tutorial' scenario.
The OpenTTD main configuration file is located at
~/.openttd/openttd.cfg and is automatically created upon first startup.
Various settings in the configuration file can be edited with buttons on the main menu. Each button is explained below.
This window allows you to set options which will be used by default at the start of a new game.
You can also set the default graphics, sound, and music here.
This window allows you to change the difficulty of the game, and specific options about them. You can either use the difficulty presets by selecting the difficulty buttons at the top of the window, or set custom options.
More information can be found here[dead link 2021-05-17 ⓘ].
In this window, nearly all the other settings in the configuration file can be modified. All the options are grouped in expandable sections. You can also search for the setting to be changed using the search utility.
Details about these settings can be found here[dead link 2021-05-17 ⓘ].
AI/Game Script Settings
This window allows you to customize various options relating to artificial intelligence (bots or CPU players) and Game Scripts.
Game Scripts are a goal-based scripts which can perform many in-game actions to enhance or extend the game.
Detailed information about this window can be found here[dead link 2021-05-17 ⓘ].
Players can join a server using the Multiplayer menu. In multiplayer, fast forwarding, pausing by the player and cheats are disabled.
All problems with a server should resolve the administrator of the server and are usually not a bug, just a misconfiguration on the server.
You can start the server by passing the
-D argument, e.g.:
# openttd -D 0.0.0.0:3979
This starts the server and accepts additional commands. Configuration is generated and stored in
~/.config/openttd/openttd.cfg and is read every time the server starts. It can be overriden with commands issued directly to the server while running. Some settings cannot be changed during a game.
You can either create a Systemd service to run on background, or use screen.
To make your server publicly available, you need a public-facing server with all port forwardings set up properly. The default port is 3979.
Tips and tricks
OpenTTD allows using a grayscale image as a heightmap for landscape generation. There is an excellent heightmap generator available at terrain.party, based on real Earth terrain. Alternatively, you can use the botherAUR application, which can download larger areas and contains a number of options for fine-tuning the resulting heightmap (see the README for some notes on usage). You may further use gimp for fine-tuning the heightmap, especially useful are the Levels and Gaussian Blur tools.
A cheat menu can be shown in a local game by pressing Ctrl-Alt-C.
Detailed information about cheats are available here
Always set a password for your own company to avoid others taking over. Some servers reset your password after some idle time.
Chat can be brought up with the
t letter if the rail building menu isn't open.
You can invest in other companies by buying shares (if enabled on server). You can later sell the shares for profit, or loss.
Music is not playing
The soundtrack of the game is made of MIDI files. Therefore, you need a MIDI synthesizer to play them.
The game will automatically try to use TiMidity++ with no additional arguments. If for some reason you need/want to use another synthesizer, OpenTTD provides the "extmidi" music driver, which allows you to configure a command to be ran to play music.
$PATH, you must specify the absolute path.
Edit your openttd.cfg to configure extmidi :
[misc] musicdriver = "extmidi:cmd=<command>"
openttd -m extmidi:cmd=<command>
However, extmidi does not allow additionnal arguments in the command. The solution is to use a wrapper script (for example,
#!/bin/bash #here, we want to use the FluidSynth synthesizer with the soundfont #provided in soundfont-fluid and PulseAudio trap "pkill fluidsynth" EXIT fluidsynth -a pulseaudio -i /usr/share/soundfonts/FluidR3_GM2-2.sf2 $*
Mark it as executable.
Then you can specify the full path to the script as the command to be used with extmidi :
[misc] musicdriver = "extmidi:cmd=/home/<user>/.openttd/playmidi"