Archive for category Development & Releases

Simutrans 124.1 Released

Less than a month after Simutrans 124, a new Simutrans version has been released. This was supposed to be a bugix release to address some of the issues players reported for the 124 release, but it ended up being a minor release with new features (player ranking) and a renovated chat window.

Download Simutrans 124.1

Highlights of this version

  • Player ranking window
  • Renovated chat window (icons only included in pak128 and pak64)
  • For Steam only: The first achievements, rich presence, and the end of the preloader.
  • Fixes related to crashes and installation of paksets.
  • Fixes to the tutorial.

Paksets updated since Simutrans 124

  • Pak64 124.1
  • Pak128 2.9.1

Full changelog

Here’s the full list of changes since the last version.


  • New chat system with personal and company wide messages
  • New squirrel function for convoys is_followed()
  • Integrate Steam API into Simutrans (managing wokshop items, rich presence, and achievements)
  • Split macos builds into macos-intel and macos-arm
  • silent installer in principle suitable for the Microsoft store


  • Support for player ranking in the current year and divers fixes
  • Updating the line schedule of a convoi bound to this line will overwrite any pending changes from that schedule if open in the schedule window
  • scrolled list now takes care of all dynamic resizing => more reliable and more performant
  • check_and_set_dir will attemp to create directories if they don’t exist (and testfile is not provided)
  • some small GUI fixes for size recalculation and related


  • makeobj did not dump empty placeholder parent nodes like MENU
  • remove triple CR since lots of translations with trailing returns
  • only resort player buttons in container if needed to keep buttons responding on first click
  • News windows again in reasonable width
  • Crashes/failed asserts of passenger AI
  • Properly have scrolled list starting at top or bottom
  • log nickname change in chat
  • size of infowindows better match the space
  • Updating the line schedule of a convoi bound to this line will overwrite any pending changes from that schedule if open in the schedule window
  • copy to clipboard
  • New world tool had wrong tooltip and hide building was never in selected state
  • right size of empty textarea groundwindows
  • renaming cities, convois and factories works again
  • Cannot build ship depots on dead-end canal or river tiles
  • Reflect player button color on the player frame when changing player color
  • Working strcasestr implementation
  • Possible crash when requesting more than 12 threads via commandline
  • catch empty strings in dr_mkdir()
  • properly detect portable installations
  • create alsways absolute paths on Windows
  • nsis uninstaller

Simutrans 124 Released

The long awaited Simutrans 124 is finally here! This version comes with a lot of changes, although the most visible ones are the improved support for anti-alising of fonts and some reworked windows. Under the hood, many less visible changes were made to allow this to be the first stable Android release – which means you will be able to play online now on Android too!

Download Simutrans 124

Highlights of this version

  • Improved anti-aliasing of fonts, now using TrueType fonts by default.
  • Reworked main menu and option windows.
  • Reworked list windows, they are now checkered lists easier to read.
  • The minimap now changes if you are in underground mode.
  • The new directory structure allows the players to install paksets if they don’t have admin rights.
  • Fixed loading of heightmaps.

Paksets updated since Simutrans 123

  • pak64 124.0
  • pak128 2.9
  • pak192.comic 0.71
  • pak64.german
  • pak128.german 2.2
  • pak64.nippon 0.62

Full changelog

Here’s the full list of changes since the last version.


  • pak64.german uses 40×40 buttons and therefore the theme is necessary and should not be missing
  • labelupdate for all windows were it makes sense
  • Checkered list windows
  • obj_xxx_details in translation will display some more details on an obj, especially vehciles
  • traffic lights remove themselves if only a curve or a single tile is below them
  • fontconfig for linux font selection
  • Aliasing fonts
  • Rework of banner and options windows. Added button to play tutorial and load last save to banner
  • rotate house tool will also switch railroad switches (eyecandy only)
  • new parameter in cityroad_speeds for a timeline (year,new_speed) of speed limits of way with pavement
  • rotate also rotates the order of vehicles on a tile to avoid overlapping
  • Sell all convois in a depot with Ctrl + Sell button
  • Signals can be replaced by overbuilding them using left-click
  • missing script ai text
  • menubar can be dragged to each corner
  • Display artist credits for music
  • function find backend specific default TTF font dr_get_system_font()
  • Theme colour parameter for highlighted objects (gui_color_object_highlight)
  • scroll to selected font in load-font window
  • theme parameter gui_color_image_transparency to set transparency color for icons (Yona-TYT)
  • update vehicle history frame with search string
  • .pak files are now also searched for in subdirectories of pakset
  • tooltip warnign when try to cross way without suitable crossing or curves on runways
  • Loading time display in depot, convoi info and vehicle timeline
  • MSI installer for SDL2 MSVC builds
  • single toolbar mode (top and centered) primarily for Android and tablets
  • Try to detect base_dir when installed on linux
  • new tool (and button in signal dialog) for removing signals only
  • map view can be changed with any general tool by dragging the pointer above a threshold


  • High resolution icon for Android
  • all list react immediately on editing the filter name
  • removed a lot of table to speed up convoi list and added route bar
  • right click/control+left -> goto pos, left click -> open window
  • Again orange as default unowned color to have more contrast
  • Decouple label style and show option
  • enforce a minimum width of 5 digits for number edit fields
  • GUI numberinputs stretch horizontally to fill their space
  • Players can’t build over public ways if there is another player halt on them
  • Slightly improved goods window
  • Almost impossible to have a language selected with a non-matching font
  • rename texttype to correct name
  • save button and save window single translate
  • button text to exists translate (equal to the window title of the dialog)
  • state of railroad switches will be saved between games
  • Delete buttons are always shown when saving/loading. Config show_delete_buttons is deprecated
  • Increased default vertical spacing of loadsave items from 0 to 1 (so it doesn’t look super crammed)
  • use internal server list name for backup
  • use 5bit granularity for alpha-blending sometimes
  • do not change debug tab in scenario window if debug text is empty
  • issue warning when old object is overlaid by new one
  • click on ticker jumps to coordinate of message under cursor (or opens message window)
  • send doubled-object warning as message, click on the message shows the full warning
  • only warn about doubled objects with different checksums
  • a go-to-coordinate action will change view to underground/normal view if target is invisible
  • messages, speed records, ticker use 3d coordinates
  • tests use command_x.set_slope
  • Display number of station tiles in parenthesis in convoi details
  • update convoi list name filter on enter to avoid longer delays
  • reflect underground view settings in minimap windows
  • Look for fonts in subdirectories recursively (up to 5 levels)
  • pedestrians spawned on more tiles, more distributed over tiles, now client wise settings for server games
  • Ignore pedestrians for deletion tool
  • only show connection of top factory window in minimap
  • use TAB to change between tabs
  • 6% speed gain to to a freelist with integrated iterator
  • Always allow ‘-until’ command line parameter
  • MacOS bundle is now self-contained
  • removed LEFT_REPEAT message hack, as this destroys left dragging for fps<10
  • discard all but the last drag event in a single call to check_events(() or the calac_route maz be called twice during mark_tiles
  • process events in screen refresh and queue them for execution for more responsiveness on weak devices”
  • reset frame time when zoom in
  • file location in the same directory
  • pakset downloader in separate file
  • Divide minimap ‘Selections’ button into two (Show networks and Selections)
  • Use XDG_DATA_HOME for user dir on linux (only if it has been set)
  • allow dragging scrollpanes instead using scrollbars
  • only load goods for a destination into a single convoi. This avoids loading in parrallel of slow loading convois
  • test connect timeout now 2 seconds (for windows, please adapt and test on Linux/Mac) for query server status


  • generating header script works under windows again
  • all again to connect from vertical cliff to monorailboden
  • vehiclelist ignored name filter for waytypes selection
  • vehicle list did not sort by capacity and was not properly restored after saving
  • hide wayremover, wayobjremover and signalremove icons when those ways are not available
  • labellist positions need to be 3D
  • derive ground info from obj info so long waynames work again
  • a bridge and tunnel has just a default street => do not show info
  • extra margins of objects inside a marginless container fixed => all dialogues open in the same size again
  • if a schedule open not of plane 1 => crash
  • Could connect way to side of sloped elevated way
  • Game lags when paused, especially on big maps
  • Withdraw Line button did not indicate withdraw status correctly
  • OS window sometimes does not close when modal dialogue is open
  • makeobj MSVC builds
  • show waiting bars even without labels
  • banner window does not close on window close!
  • outside was not redrawn when windows minimized
  • wrong function name
  • default char for cyr.bdf and revision detection fpor MSVC
  • start also with a wrong unloadable font specified
  • Error when using ‘makeobj dump’
  • removed unblocking sockets for linux
  • was not working for some time on linux with default template
  • Height conversion mode ignored if selected after heightmap
  • Wrong speed of bridge ramps in some cases
  • Wrong length for bridges in build preview tooltip
  • pakset.nsh
  • built nsis again for github nightly
  • Extract .cab and .tar.gz correctly
  • (THLeaderH) crossings upgrade in ways are upgraded
  • crash when loading vehiles as cnv==1 is used as flag during loading
  • drawing order of private car
  • better calculation of dsip_lane also with overtaking cars and road convois
  • Wrong draw order of road convois turning E->SE or NW->N
  • airplane convois are somewhat working. Need through stops better for this
  • Makeobj ignored switch images for tracks with no seasons
  • Graphical glitches related to translucent player colours
  • Wrong brightness of colours in screenshots
  • Label colours when label is unowned
  • swallow all extra finger events to have better zoom and three finger scrolling
  • Debug assertion failure when starting a new scenario
  • Loading window no longer closes all other windows and does not trigger other loading tools in the toolbar.
  • Missing translation of ‘Depot’ (dataobj/
  • Clamp env_t::max_acceleration correctly
  • Cannot load sounds from pakset if pakset is in user directory
  • ticker messages – use one method to insert in list
  • replace %% in translated strings by %, but only for those strings where the base string does not contain format specifiers
  • Memory label cut off when increasing map size in New World dialogue
  • Broken parsing
  • Crash when trying to load TTF font without family or style name
  • Crash when allocation of buffer for node name fails
  • Crash when dumping pak file containing a node with invalid size
  • Crash when reading pak nodes with malformed or unknown type
  • Crash when using ‘makeobj dump’ on corrupted pak files
  • Crash when reading non-null-terminated object names from pak files
  • Use-after-free when listing node names of pak files
  • crash when such a pedestrian was created near map border
  • do not generate pedestrians on roads without any connected roads
  • Crash when displaying alpha images near window border
  • builing vehicles from the future is not allowed
  • problems with transparent pixels
  • crash in build-station tool without cursor
  • get_available_* returns only descs of buildable objects
  • do not draw on the window boundary
  • correctly check for character 30
  • improved width calculation for numberinput elements
  • cannot build double slopes if the pakset does not support it
  • try to repair broken format strings (replace % with %% for broken specifiers)
  • use double percent sign in translatable strings
  • format string checks
  • fix/remove more RGB555 stuff
  • crash if desc == NULL (may come from scripts)
  • Missing credits of midi tracks
  • Credits of midi tracks
  • correctly handle suspended calls with ct == FORCE
  • crash in scripted tools
  • correctly reset tool-drag event if scenario check failed
  • search_folder_t::search_path if d_type is not supported (koroal)
  • invert schedule function not working properly (koroal)
  • window position not being saved in some cases (koroal)
  • factory_x::get_tile_list returns list of tile_x’s (Yona-TYT)
  • remove preview image of tools if moved on a tile that is forbidden by scenario rules
  • memory leak
  • -addons/-noaddons setting saved in settings.xml
  • do not reset full underground mode when zoom with mouse wheel
  • apply the correct coordinates when processing links in scenario window
  • Vehicle list name filter not saved due to typo
  • initialize restart-variable (Yona-TYT)
  • properly clear random-mode flag
  • do not check for local execution, shut down network on quit
  • size calculation of depot dialog to properly show vehicle list (Roboron)
  • loading of scenarios for paksets from addons (Yona-TYT)
  • (after ranran) loading of legacy translation files
  • schedule positions when rotating non-square maps
  • clear schedule-editing flag if check fails
  • trivial case in haltestelle_t::is_connected
  • crash with invalid defaultparam
  • Cannot build trees on clouds
  • world.generate_goods did not work correctly for mail/freight
  • Uninitialized read in gui_image_t::get_min_size when COLOUR_DEPTH=0
  • Adapt Load Script dialog to new directory structure
  • restore all open convoi and halt windows
  • quit does not quit the server
  • Addons are loaded by default (contrary to documentation)
  • starting a scenario in now a command to do this in the step
  • call the quit tool from dialogues for quitting
  • Undefined Behaviour when converting char * to utf8 *&
  • Crash when supplying invalid default_param to tool_plant_groundobj_t
  • Crash when supplying invalid default_param to tool_build_station_t
  • Crash when supplying null default_param to tool_build_station_t
  • implement constructor in c++ instead in squirrel
  • correctly propagate error when pushing large arrays
  • Crash when supplying invalid default_param to tool_plant_tree_t
  • Speedbonus not being applied to air (reverts partly r9208)
  • use translated error message instead of raw string
  • setslope for scripts on server games on single-height paks
  • accept sym-links as directory
  • dragging of tools with ctrl, propagate flags through defered calls
  • scrolling with mouse wheel in droplists opened above combobox
  • copy way-flags when replacing ground tiles
  • Cannot load addon scenarios if there are no addon objects
  • Use-after-free in makeobj when reading malformed dat file
  • crash when trying to save to unreachable location
  • check for NULL pointers
  • Paks loaded from addon subdirectory even if -noaddons is specified
  • Signals not shown when minimap is set to show tracks
  • Graphical glitch when ticker disappears while background is visible
  • Position of elements in ‘Sort by’ depot combobox
  • PVkraftwerk should produce again power
  • Disable font size button for bitmaps fonts
  • do not updtae crossing speed with new way
  • when deleting stuff from tiles with two or more objects
  • Don’t double sync_step citycars
  • focus with comboboxes
  • pedestrians agon walking diagonal
  • also forbid pedestrian entry on tiles with more than 240 objects
  • Do not generate too many pedestrians per ground
  • pedestrians try to hop to full ground
  • beaches were not properly recognised for environmental sounds
  • Curl pakset download for built-in installer
  • pakset downloader not listing any paksets
  • crash due to calc_route called twice when dragging way tools at low fps
  • Obey control lock tool in more all situations where the control key would work
  • accidently swapped single toolbar option defualt for non-android
  • Pakset selector failed to load a single pakset with no addons
  • Network filter comboboxes take preference capturing the mouse wheel over the minimap
  • control+drag of ways
  • append halt only once
  • show no tooltips on toolbars if cursor is on title bar
  • do not swallow keys and scrollwheel events in scrollpanes
  • windows were topped before the underlying window got their removal message => topped window function not working as expecting i.e. schedule display of convois
  • Disallow merging with public stop (or any stop) to take over ownership
  • heavy_rotate_saves does not delete old saves correctly
  • Cannot load PPM heightmaps
  • Int overflow for large power networks in minimap
  • missing string and no spaces at the end of translator objects
  • switch on and off network overlay when line is active
  • minimap background rendiering mode is not reset but selecting other options
  • crossing logic did not correctly obeyed speed limits
  • After loading a save, the color of the stop list title
  • display_snapshot uses wrong area if area is offset horizontally
  • scaling window with GDI

Pak192.Comic V0.7

The Pak192.Comic recently released version 0.7 of this comic themed pakset. If you are playing Simutrans on Steam and you installed the Pak192.Comic DLC, you will get the update automatically. Otherwise, please see “Where and what to download” section.


Gameplay changes

  • turned “avoid over overcrowding” off by default again
  • , and . now work for controlling time in the game
  • ( and ) now work for sliced view up/down
  • road speeds from 50 to 55 and from 70 to 80
  • pricing that considers the actual build year of the vehicle, instead of the introduction year
  • Pubs now comsume rum as well
  • there is a track/track submenu now
  • increased the productivity of the wiredrawer
  • higher fix costs for ships
  • changed to intro years of 120 and 160 kph track
  • tutorial works with the tutorial button now
  • playing from 1930 onwoards should feel way more complete now compared to previous versions

New objects


  • European sugar production with beets (farm, fields, refinery)
  • biofuel plant
  • Additional coal power plant that better fits early years


  • river stop for goods
  • letter box stop for road
  • docks for pax
  • older post office
  • track with different kinds of gravel beds
  • 1850 station hall
  • steel girder bridge for narrowgauge
  • HUGE HUGE station hall for people that need to prove they have the biggest network
  • narrowgauge tunnel for 50km/h
  • 80kph railway bridge
  • streetlights as (free) wayobj
  • fake city road in cobblestone look
  • Lot of new SBB Type N and L Signals


  • citybuilding “Danivision”
  • citybuilding “Keycaps Skyscraper”
  • citybuilding “Taipei 101”
  • monument “Disco Sphere”
  • curiosity “StarGate”
  • curiosity “Guardhouse”
  • inverse Corner for St. Pölten station building
  • alternate version of all Pölten elements
  • several new citybuildings across all climates


  • more ships for channels
  • gigaliner converter for semitrucks
  • HHA DT6
  • Baden IVh
  • a couple of Baden express coaches
  • old Baden compartment coaches
  • lots of old freigth cars and hoppers
  • Baden VIc
  • old AC S-Bahn Hamburg
  • DRG D21b / C21 Abteiwagen
  • DRG “Donnerbüchse”
  • DR Rekowagen
  • DRG E01
  • KPeV EG502
  • KPeV EG511
  • KPeV ES1
  • Getreideschiff
  • old postal tram
  • prussian G12
  • ET 88
  • ET 41

Things that walk around

  • various new generic pedestrians
  • try to spot some easteregg-pedestrians too
  • ducks, swans, sharks and a whale
  • a fox

Improved objects

  • the narrowgauge to road crossings
  • some sounds for some trains (not too many yet sadly)
  • swapped the first and second player colour for green coaches
  • various glitch fixes
  • palyer colour for the Alsterdampfers
  • player colour for V200
  • SBB EW I
  • the old track plattforms
  • updated DRG coaches
  • loading image for beets for many vehicles
  • crossing track narrowgauge now fits the whole tile
  • player colour for bavarian D VIII
  • ET 11


In plus to the “core” Pakset, there are multiple changes to the addons provided within the repository:

New version of the game: The all DACH pakset contains the main pakset and the DACH addons.


  • BR 216 “Lollo”
  • 4 car OBB Cityjet for Vorarlberg
  • Bpm 61 20-70
  • SBB Bpm 20-90
  • BT EW IV
  • orientrote BR 218
  • updated Nuremberg subway cars
  • new SNCB I6 livery
  • update gear values for most british vehicles so they can reach their top speed
  • SNCB HLE 17
  • SBB IC2000 postal car
  • DB Mintling coaches
  • fictional BR 427
  • BR 423 and BR 430 for BWegt
  • BR 422 for VRR
  • BR 426 for BOB
  • BR 425 for Transdev
  • 120km/h Silberling
  • more colours for the BR 110, 110.12, 110.3, 111, 112, 113, 140, 141, 150, 151…
  • HHA AL
  • EMT CLASS 156
  • two RZD sleepers
  • FLIRT 1 for SBB
  • FLIRT 3 for BWegt and SBB
  • extra livery for DSB EG
  • player colour for class 59, 92, 375, 376, IC225
  • 140kph/h TEE VT11.5
  • sleeper 61-7034
  • update of the docklands units to jakops boogies
  • more colours for BR 18.3, 58.2, 75.4
  • Wittenberger Kopf
  • German luggage cars as empty and piece good cars
  • more “preußische Abteilwagen”
  • prussian luggage car PWIRP91
  • RABe512
  • CIWL Lx20
  • express coach Bauart 1935


  • tunnel catenary for standard gauge
  • side swapped catenary
  • infty Tunnel
  • vmin = 121 and vmin = 71 signs
  • track with different kinds of walls
  • infty bridge for track
  • two extra platforms based on the 1850 platform
  • station hall 1890 in 3 parts as well as an inversed version
  • brick build depot
  • 1850 station hall in bright colours

Where and what to download

What’s missing still?

  1. There are only 3 climates actively developed so far, those are Western, Continental and Alpine (temperate, tundra, rocky) other climates are lacking in city development. If you got cities in those climates, you might want to use the climate tools as public player to switch to a more developed climate. Most factories are not affected.
  2. Translations! The German translation now seems pretty complete, while the English translation is still ongoing. And don’t mention anything else…
  3. Ships, ships and even more ships.
  4. Not every mode is able to transport every good at any given time. Best bet is that there is a narrowgauge option for it, second are rail and trucks.


Feedback always is appreciated!
Please tell us what you like, dislike and would want to have improved!

In plus, freely contributing to the pakset is a thing! Pak192.Comic is open source, freely adjustable and auto compiles from github actions. That means, you could just clone the repository, do some funky changes and have github build your very own version without doing a lot for it. There’s no weird encoding, no encrypted values, nothing. If you go to the dat file for your favourite steam engine and change the maximum speed from 100 to 2000, you just did that. It’ll appear in the game just like that. Don’t like coal power stations? Just get rid of them. Want to have a rainbow coloured subway? Just draw a rainbow on the image of your favourite subway train. That’s pretty cool, right? But how about you share your funky changes with the rest of the world by adding them to this repository once they work out just fine. That way you could improve the world!… or well, at least this game.
Link to the GitHub:

In Plus, there’s a lot of stuff to translate. In case you can speak a langauge in plus of German, you’re a perfect match for this!

In case you need help modifiing or contributing towateds the game, do not hesitate to ask for some.

Tags: ,

Simutrans Extra #3: UI improvements, new paksets, new online server and more!

Welcome to Simutrans Extra! I have been pretty quiet so far this year as I needed a break after the Anniversary events of last year, but a lot of things have been happening in the Simutrans world meanwhile. It’s time to review them!

But first, let’s talk about the elephant in the room.

When there will be a new Simutrans release?

We couldn’t make a Simutrans release last year, the reason behind this being the war in Ukraine. Another negative effect of the war is that Ukrainian developer Pelya was drafted for the military. Pelya is not directly related to the Simutrans project, but he maintained a set of scripts that enabled games like Simutrans and OpenTTD (between others) to be compiled on Android.

Unfortunately, the build for Android stopped working and to fix it one would have needed to fix Pelya’s scripts. But no one in the team knew how to do so, so the release was delayed until we could release for all supported platforms at once.

Seeing that the war was not going to end anytime soon, I stepped in some months ago to do something about this. I developed a new build system for Simutrans on Android completely from scratch. It took quite a lot of work, but the end result is a far simpler build and, more importantly, one I know how to fix in case it stops working!

Wars are bad. But you know what’s good? UI improvements! A few of them are currently under development, so you can expect a new release when we are done with them. Let’s see which they are!

Font anti-aliasing is coming to Simutrans!

Thanks to the work made by developers Hajo and Dwachs, font anti-alising is nearly ready for Simutrans. While you can currently set any TrueType font in Simutrans 123, they look quite a bit ugly without anti-aliasing.

Introducing anti-aliasing will finally make these fonts look good at any size (although the UI still needs to be redesigned to adjust to font sizes, specially very large ones). We will also take this opportunity to move away from bdf fonts and change Simutrans’ default font, probably to Noto Sans font.

A screenshot showing how Simutrans looks with Noto Sans and anti-aliasing.

Main menu

What was initially going to be an addition of a “Play Tutorial” button in the initial banner has evolved into a redesign for the entire banner, adding a few more options and now working as a “main menu” to which you come back when you want to start a game.

The new main menu. Final version may change.

Consequently, the options windows and other windows will be simplified and adapted to the new flow.

The options windows. Final version may change.

Improved Station labels and markers

When legendary Hajo came back earlier this year, he focused on improving various part of the UI (which Simutrans is indeed in need of improving). One of his most exciting ideas was a new appareance for station labels and markers which could be defined by themes.

Just look at those, they look fantastic!

Hajo has unfortunately not been active since the start of this year – but you can bet I will do my best to finish this and include it in the next Simutrans version.

Lost and found musicians

You may remember that one of the Anniversary events of the last year was a post showcasing the music of Simutrans, where we asked for help to identify the unkown musicians for some of the songs.

Now with help from jm764 and other members, we have fully identified all the creators of Simutrans music! To honour them, in the next version, Simutrans will display credits for the current song!


Another of Hajo’s comeback works has been a rework of pak44.Excentrique – now with better graphics!

Who said Simutrans paksets have to look old?

The project is on hold as Hajo is not active at the moment.


Okay, hear me. One of the most exciting things about Simutrans is the degree of personalization you can achieve. Experimental paksets like the recently announced pak48.bitlit are a proof of that.

What if your Simutrans game was set in a world made by Electrons, Bytes, Memory and CPUs? Welcome to pak48.bitlit, where you will transport Electrons instead of passengers, Data instead of mail, through uni- and bi-flows instead of roads and tracks!

New online server

In the previous weeks I have been experimenting with the hosting of Simutrans game servers, with the intention of hosting a permanently online Simutrans game server based on Simutrans stable (Simutrans 123.0.1 currently) and Pak128 stable, so anyone who just installed Simutrans can join to experiment online play.

I’ve learned enough in the process, so I will go on and open a new game server in the following days called “Simutrans Public Server” (the precursor server, “Roboron’s Public Server”, will close soon).

Everyone is welcome to join! If we manage to fill all slots, I will spin up a second game server.


We have come to the end of this Simutrans Extra. But worry not, because you will hear from me again, soon. Don’t forget that, as every year, we will celebrating a Screenshot Contest by the end of this year. And for this edition we have a surprise! I will reveal all the details in a few weeks!

Until then, happy Simutransing!

How can YOU contribute to Simutrans

Simutrans is an open source project. That means that anyone – including you – can improve it! Did you ever want to contribute to Simutrans but you have no skill for coding? Worry not, you can contribute to Simutrans in a variety of ways:


Simutrans is constantly updating and adding texts so we are always in need for translators:


Simutrans is always looking for artists! If you want to paint graphics for Simutrans, check:


Reporting bugs and submitting suggestions

Simutrans 25th Anniversary #3: The Simutrans Museum

In the last post of this series we talked with Hajo about the first years of Simutrans. However, many of the players reading this today have never played a Simutrans version from Hajo’s era. If you ever wanted to take a taste of one of the earlier Simutrans releases, today is your lucky day!

The first demo version

A screenshot of Simutrans demo version 0.50, with text in German.

The first of the versions we have made available is not the actual first release, but it is pretty close. This beta version was released on 02/05/1999, while the history.txt starts just two months before (06/03/1999). As the “demo” name suggest, this version has practically no content, and crashes frequently, since it was just a version to show up the Simutrans engine working and a little more. Because of this and the need to use a DOSBOX, we recommend you to skip this version and try the next one if you want to truly play an early Simutrans.

The first playable version

A screenshot of Simutrans beta version 0.78.7 with the minimap and some toolbars and windows opened.

Thanks to the donation of user Khaki we got our hands on one of the firsts playable versions of Simutrans, beta version 0.78.7 (released on 14/06/01, two years after the previous demo). As you can see in the image, this version has already some basic working tools (rail, road, ship and terrain tools). The minimap is also present, with a familiar view.

You can play this version natively on Windows or with WINE under Linux, although you might find some game-breaking bugs (particularly one with pop-up windows).

The Museum and other versions

In the SourceForge Museum you can find the versions mentioned in this post and other versions from Hajo’s era (beta versions 0.80, 0.84.01, and 0.84.10) which were recovered thanks to Markus Pristovsek. Do you have any other previous version of Simutrans not listed there? Please share it with us!

And of course, you can still download (and compile) any version of Simutrans since it became open-source on SourceForge.

Schedule of the Simutrans 25th Anniversary Posts

Talking about Markus Pristovsek, join us two weeks from now as we will interview the lead developer for the 25th Simutrans anniversary!


Simutrans Extra #2: Simutrans for Android, Introducing the Extended Pier System and the New Directory Structure.

Welcome to another Simutrans Extra! For the ones that join us for the first time, Simutrans Extra is a series of articles bringing you the latest news of the Simutrans world, in a bulletin format. You can read previous editions in the Simutrans Steam News section.

We have been very quiet this year so far, but there are nonetheless exciting things to share! We’ll also be celebrating the 25 years of Simutrans during the second part of this year, so stay tuned: special publications coming soon!

But now, let’s review what has been happening these months in the Simutrans world, starting with the biggest plate: the Android port.

Simutrans for Android

Since the past year and thanks to the initial efforts made by krosk, we have a working Android build of Simutrans. This was one of the major goals for Simutrans, and it is finally here!

Publishing the game to the Play Store was a long effort (which prissi took personally), due to Google’s review process. And it is mainly the reason why this Simutrans Extra number took so long to publish – I was waiting for that process to end.

Although the build an publishing is already done, that does not mean that there’s nothing left to do: Simutrans has not been designed to be played on mobile, and a lot of work needs to be done to adapt the current interface to mobile characteristics.

You can download and play Simutrans from the Google Play Store:
Or directly from the GitHub releases page:

For the Google Play Store, you can play the current nightly by joining the beta program. If you encounter any problems or have any suggestions feel free to post them on the Simutrans International Forum.

New directory structure

Traditionally, Simutrans has had two main directories:

  • Base directory – Simutrans installation and paksets go here.
  • User directory – Savegames, configuration and other user-specific stuff go here.

However, with the new pakset installer it was clear that this separation was not enough; we have added a third directory:

  • Paksets install directory – Simutrans paksets installed by the installer will go there.

Why? Well, when Simutrans is installed in the system, the user usually does not have sufficient permissions to allow paksets installation. Also, operating systems (like MacOS) have been pushing for self-contained programs, which was not compatible with pakset installation in the previous directory structure, and involved some hacks to even make it work in the first place.

From now on, paksets will be installed in a separate directory (inside %appdata% on Windows and the user directoyr on Unix-like systems. Note: Name still to be decided). Worry not, because this will not affect traditional Simutrans installations (including Steam) – Simutrans will still be able to read your paksets from the base directory!

Pak128 maintained again

This year started with a bad new: pak128 (default pakset on Steam) was marked as unmaintained, after 5 years without updates. After the announcement was done, however, Simutrans user garro (Gianmarco Garrisi) expressed interest in maintaining it again, and prissi also made some necessary maintenance.

However, this effort is losing momentum. So if you want to collaborate, check “pak128 revive: How to contribute” post in the International Simutrans Forum:

Elevated Way Support System for Simutrans Extended

We have not yet talked about Simutrans Extended in Simutrans Extra, and I owe you a proper presentation. But for current Simutrans Extended players, this is a new worth mentioning.

A new system for elevated way supports (formerly know as “Pier System”) has been incorporated recently into Simutrans Extended (Simutrans’ main fork). The Elevated Way Support System, developed for months by PJMack, is (in the word of its author):

“A new system for elevated ways that allows not only half-height elevated ways, but elevated ways on uneven terrain. Such method involves an new object type pier and new ground type pier-deck where the ground is placed on top of a pier. The system also allows the pakset designer to place restrictions on the ribi of ways both on the pier-deck and under it, as well as place restrictions on what types of piers can be built on others what other types and what types of piers can be placed on the same tile as another.”

You may find helpful this video-tutorial made by MG about this system

How can YOU contribute to Simutrans

Simutrans is an open source project. That means that anyone – including you – can improve it! Did you ever want to contribute to Simutrans but you have no skill for coding? Worry not, you can contribute to Simutrans in a variety of ways:


Simutrans is constantly updating and adding texts so we are always in need for translators:


Simutrans is always looking for artists! If you want to paint graphics for Simutrans, check:


Reporting bugs and submitting suggestions

Simutrans 123.0.1 Released

Simutrans 123.0.1 has been released. This is a small bugfix release to address some of the bugs of the 123 release, but there are also some interesting quality-of-life changes (such as the the option to scale the screen manually).

This release brings the Steam version back in sync with the non-Steam version, so regular players should be able to play network games again with Steam players.

Download Simutrans 123.0.1

Highlights of this version

  • All resizeable windows get minimize button in title-bar
  • Infinite mouse scrolling can be activated manually in the display settings
  • Option to adjust screen scaling manually (either via display settings or ‘-screen_scale’ command line option)
  • Illegal schedule entries are highlighted and a button to clear them up will appear.

Paksets updated

  • Pak64.german
  • Pak128.german 2.1
  • Pak128 2.8.2 (this is the default pakset on Steam)
  • pak48.excentrique 0.19 rc3

Full changelog

Here’s the full list of changes since the last version.


  • Option to adjust screen scaling manually (either via display settings or ‘-screen_scale’ command line option)
  • not connected to any player network as additional option
  • selected convoi in minimap now magenta. Also network display properly updated when activating or closing windows
  • Illegal schedule entries are highlited and a button to clear them up will appear.
  • Infinite mouse scrolling can be activated manually in the display settings; but it will fail with certain touch devices
  • mark obsolete vehicls in vehicle-details tab
  • minimize buttons to convoi, halt and line window
  • button to remove double entries in schedules


  • Infinite mouse scrolling can be activated manually in the display settings; but it will fail with certain touch devices~
  • FluidSynth looks also for SF3 soundfonts
  • All resizable windows get minimize button in titlebar
  • one more row in schedule dialog for a little nicer display
  • lang files are loaded if their name is * or XX*.tab. The first is preferred to avoid confusion by name like


  • show overlay number on vehicle of convoy in depot
  • station display crashes on old paksets when certain windows unicode fonts are selected
  • time and minimum loading were not correctlin shown for schedule entries
  • empty schedules should be allowed…
  • pakset installer closes simutrans again after exiting the second time, but only if no paksets are found
  • sscanf_schedule ensures valid schedule
  • correctly adjust current_stop when moving entries in schedule up/down
  • Mouse pointer is restored after exiting the pakset installer from in-game options
  • allow tunnel building starting from tunnel tiles
  • Exiting pakset installer for a second time no longer closes Simutrans
  • loading of savegames with broken AI data (table keys have to be enclosed by [“..””> not only “..”)
  • when loading AI scripts respect -noaddons setting
  • delete double entries in schedules while editing, fix memory leak
  • Memory leak when translation contains malformed strings
  • tooltip in main menu
  • beach calculation was broken
  • crash in line window (when sorting in reverse order)
  • size of follow convoi when minimap is zoomed
  • Wrong formatting specifier in network_send_data
  • Translations from paksets fail to load
  • schedule highlightnigh in transport net on convois and minimap fixed and restored
  • ISO code can be first or last
  • pakset isntaller in windows after fullscreen enabled caused hang, because of invisble isntaller
  • Runaway simulation speed in some cases if modal_dialogue is open
  • show_month==1 now consistently for 24h per month
  • buy vehicle only with release (fixes also finger usage)
  • no jumping up and down in gui if schedule in empty or waypoint
  • arrow now call the inteded routines
  • arrow also works with two entries in schedule

Simutrans 123 Released

Happy New Year 2022! This year is very special for Simutrans, and we have some special events coming later this year, but for a start let’s announce a new release of Simutrans (123) and bring back to life the Simutrans blog before the fanfare begins.

Let’s also mention that we have a Screenshot Contest for pak192.comic currently going, and there’s a new version of pak192.comic (2021 RC2) available to play with this update!

Download Simutrans 123

Highlights from version 123

  • You can now schedule convois with fixed departure times, and with a specified number of departures each month.
  • Rivers now go from their source through lakes until the sea, and are shippable after passing a lake.
  • Paks can be installed now ingame.
  • You can switch fullscreen mode in the display settings.
  • The new GUI is now enforced in all dialogs.

Paksets updated

The following paksets were updated between the release of Simutrans 122 and Simutrans 123

  • pak64 (123)
  • pak64.german (123)
  • pak128.german (2.1)
  • pak192.comic (2021 Release Candidate 2)
  • pak.Nippon (0.5)
  • Pak64.japan (123.0)

Full list of changes

If you are interested in the full list of changes, you better take some breath, because it is long. There’s nothing more after that, so you can stop reading if you are not interested :-P


  • cbuffer_t::trim() to have consitent line spacing in dialoges relying on imported texts
  • compare savegames (command line parameter -compare)
  • Desync debugging mode: Heavy Mode
  • command-line parameter -scenario also looks in addons directory
  • (ranran) mouseover on any car of convoi works
  • (ranran) edit dialogues with reverse sort option
  • on SDL2 use back button as backspace
  • cancel button for isntall dialogue
  • Print name of test to be executed
  • Automated tests + GitHub Action to run them for each nightly build
  • (Roboron & prissi) Toggle fullscreen mode with GUI
  • three finger movement should drag the map
  • Command line option ‘-scenario’ starts requested scenario if available
  • get_tile_list for buildings and reused it in the code in hausbauer and gebaeude
  • get_tile_list for buildings and reused it in the code
  • easy date format settings from option window
  • (Ranran main) adding factory overlay + FIX: power consumption on multiple inputs/output were broken
  • Button to copy fatal_error to clipboard (for bug reports)
  • reservation overlay now also shows single way directions and signal states (inspired from ranran)
  • single GUI button added to line list to close topmost line window when opening a new one
  • tooltips for line entries
  • revenue to line sorting and remeber last used line statisitcs buttons
  • reselect a tool will close it (new default, set by reselect_closes_tool in
  • haltlist now saved and relaoded
  • chat window transparency in network mode now controlled by theme: gui_color_chat_window_network_transparency and gui_chat_window_network_transparency
  • (Freahk) player color network synchronisation backport
  • Fatal error message when loading pakset fails
  • new button type imagebox for having a delete (and many more graphical buttons)
  • New raw image loader
  • Height map loader now supports PNG height maps
  • More supported image file formats for makeobj
  • (roboron) FluidSynth MIDI backend
  • target tile for jumping to a position (via pos button, window icon or jump dialog) will be marked with the current cursor
  • load translation text files from AI directory for translation (*.tab like etc)
  • (Leartin) totally overhauled edit windows
  • (Leartin) totally overhauled edit windows
  • (Leartin) groundobj editor
  • cursor settings for scripted tools: parameters cursor_area and cursor_offset (THLeaderH)
  • waiting time in schedules is now entered in days hours minutes (but old games will still have the old steps)
  • proper thread support for ZSTD
  • special key “SCORLLOCK”, “DELETE”, ESCAPE”, BACKSAPCE” and “+” sign for shift as modifer in tools key binding”
  • SCROLLLOCK as key binding for the scroll lock key
  • SCROLLLOCK as key binding for the scroll lock key
  • construction cost tooltip also for normal tunnel construction (clicking on slopes)
  • classify_file() to determine file format
  • 2 new height conversion modes: linear + clamp
  • GUI for pakset install script
  • new option in “numpad_always_moves_map” regardsless of numlock state
  • map only moves when numlock off, new tool to move to map view (simple_tool[36]=,keybinding,-1|0)


  • one more row in schedule dialog for a little nicer display
  • (roboron) similar width for labels on extended edit
  • enable heavy mode on command-line
  • two different modes to show selected lines
  • Include name of tool that failed in warning message
  • (THLeaderH) new definitions or roadsing images, which also generates meanigfult warnings
  • removes the maximum gap of 6 during renovation of building levels
  • narrow depot frame
  • make description text in depot a little close like multiline text
  • make depot dialog scalable
  • remove setting departures_on_time
  • handle more than one event per interaction in many cases
  • shrink android size by removing debug symbols from lib
  • more compact info windows (shrink of no information, only show owner if there is one)
  • more compact ground info, seperated climate water from ground type water (now Lake or Open Sea)
  • (ranran) try to move windows so not cover tile clicked with inspection tool
  • (THLeader) stop_halt_as_scheduled=1 in wiil stop convoi on the desginated tile (unless more tiles are needed to fit it into the station)
  • dragger_size to be dynamic
  • Simutrans now allows more than one file per languange. The file must just ending in, where XX is the language code
  • remove magic offset for display_outline_proportional_rgb, and factory is now real tooltip
  • Don’t save offsets of trees also in single player mode
  • scripted tools: work, do_work, mark_tiles have additional parameter to send state of ctrl/shift keys
  • move factory overlay to transparency settings
  • Omit status messages when calling makeobj quietly
  • double orange removed and bright yellow a little better differenciated
  • Log fluidsynth messages to our own log instead of stderr
  • display on request absolute departure times
  • depature board estimates also the departure of fixed slot vonvois which are not yet arrived
  • absolute departure time can be also more than once per month (repeats the time in equal intervals)
  • maintenance of powerline tunnel/underground transformer
  • also flat grounds with some tiles with slopes are now considered for multitile buildings (stations, factories, attractions, city buildings, … )
  • enforce maximum factory distance also for factory connections
  • Use network command names instead of magic numbers for readability
  • Use tool names instead of magic numbers for readability
  • detect language on first start if possible
  • new option set_workdir to debug
  • retry pak install at most once
  • renaming broken files on reading errors
  • line list now saved reloaded and up to standard
  • option gui now saved reloaded
  • label list now saved reloaded and up to standard
  • factory list now saved reloaded and up to standard
  • curiosity list now saved reloaded and up to standard
  • sortarrow and saving for city list
  • sortarrow for goods list
  • sortarrow for vehiclelist
  • renovated halt list to new standard
  • renovate convoi list
  • halt list entry: no status bar
  • removed V_space insde halt list entry and show name in statuscolor
  • extra V_space around halt list entry
  • adjust the toolbar to top left bottom right
  • Gradual loading and unloading (full unload takes loading_time) and full load as well
  • Input of waiting time now in days, hours minutes
  • Confine entries to valid values
  • (PJMack) ribi lookup using shifts and 64 bit ints
  • sort minimap industry list by producer, factories consumer, and then by name (display left to right)
  • Add good category to comsumption info in factories
  • move error message to simtool
  • lines will open with default tab pointing to last seletced one (apart from schedule tab)
  • reload font when changing languages only if default bdf-font changed
  • line windows only opens with schedule tab when opened from convoi schedule or depot
  • Use logging instead of printf for status messages
  • show all connections of open factories windows in minimap
  • Ensure that tree age always fits within 12 bits
  • http to https, update dead links
  • Exit gracefully when simgraph_init fails
  • Distribute cities before trees
  • Allow querying gameinfo of older servers again
  • libpng is now a required dependency
  • Screenshots are saved as PNGs on all platforms
  • change tool_add_message_t to general-tool to be able to send scenario/ai messages over network
  • Added insert and append mode to schedules
  • split the unrelated code for displaying relative time differences and absolute times (as preparation for coming scheduling)
  • disable revert-schedule button before it is shown;
  • schedule editing survive now save-load cycle and entries can be moved deleted by arrow buttons
  • Only public player can skip years in networkmode
  • no tunnel construction without enough money
  • Only display way 1 in tunnelmouth
  • show way images in tunnel portals facing toward screen, so tunnel backimage can leave this spots free
  • speed in crossings is not max speed, no crossings of existing way speed higher than crossing speed
  • (RanRan) rollup all windows patch
  • rivers now go to the sea and pass through lakes. A tiny stream becomes navigatavble after a lake or merging with another stream
  • remove code that assumed all short tiles are slopes
  • new line list, overhauled convoi list, new line function to add all convois with same schedule
  • renovated convoi list astemplate for new line list
  • new single line management window
  • forbid adding/removign entries when part of line
  • schedule intergrated in convoi dialog, meybe still buggy
  • rework message list display, new item class for one display of one message
  • coordinates and ribis now tested in clockwise directions nesw instead nsew as before
  • MacOS build sugegsted by CannonBall7
  • report linenumber in fatal error messages in tabfile-reading
  • Sound now player on GDI via Xaudio2 for individual volume control

And many, many fixes, thanks in part to a new automated testing system, that won’t be mentioned because I would hit the character limit. Happy Simutransing!

Simutrans 120.1.2

Simutrans 120.1.2

A new version of Simutrans is ready for download. It is mostly a bug-fixing release with fixes for bridge building, goods production at factories (just_in_time 2), and map scrolling for certain Windows users. A new compass will be shown on the minimap when used with the new pak64 release. You can find more information and a list of compatible pak-sets – these contain among other things the graphics – in the release thread.

If you encounter a bug, please report it at the international forum. We will be delighted to hear of your experience and to help you with the game when required.

Tags: , ,

Pak128.Britain 1.17 released!

Christmas has come early for pak128.Britain fans! The latest version (1.17) is released today. You can download it from sourceforge.


New in this version:

  • lots of new planes (Milko/JamesPetts)
  • lots of new modern trains (The Hood)
  • new rail tunnel internal graphics (Walsonja)
  • new road stops (Aquin/Wlindley)
  • new rail signal graphics (JamesPetts/Vladki)
  • more citybuildings (Archon)

2015_12_09_10Have fun playing and, as ever, report any bugs to the forum. In particular I’m keen to hear feedback on balancing of the pakset as this is the next big challenge.