Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

Build status

MaSzyna Train Simulator

MaSzyna is a free, polish train simulator. MaSzyna executable source code is licensed under MPL 2.0 license, and comes with huge pack of free assets, on custom license.

Getting Started


List of requirements for compiling executable. For usage/runtime requirements see here.

In brackets there are oldest tested versions.

1. Software:

  • CMake (3.0)

  • make

  • Compiler supporting C++14*. Tested under:

    • Visual Studio (2017)
    • GCC (8.2.1)

    Note: MinGW is not supported now. There were some issues with it.

    * technically, in source code we have some features from C++17, but even older compilers should handle that. You were warned.

2. Dynamic libraries:

  • GLFW 3.x (3.2.1)

    Note: There's some issue in our build system. If link error occurs, use -DGLFW3_LIBRARIES='<path>' in CMake.

  • GLM (

  • serialport (0.1.1)

  • sndfile (1.0.28)

  • LuajIT (2.0.5)

  • GLEW (2.1.0)

  • PNG (1.6.34)

  • OpenAL (1.18.2)

  • pthread

  • Python 2.7

3. OpenGL 3.0.


MaSzyna should work and compile natively under Linux and Windows. Other platforms are not tested. Full list of requirements is here for runtime, and here for building.

Note: Currently our dev team is too small to fully support compiling process. We do whatever we can, to fix and improve it, but still there may be some issues.

If you have any problems, feel free to send issue, or write to us on our dev chat.

Known issues:

  • GLFW may have some problems with linking.
  • there may be problems with order of linking x11, and other libs.

Commands will be written in Bash. No-Linux users must do in corresponding technology.

  1. Clone source code. You may download source code as ZIP archive, or clone it by Git. We won't provide tutorial to second one, the only note worth mention is that, repository doesn't contain submodules, so --recursive is not needed. From now, it is assumed that your working directory is inside directory with unpacked source code.

  2. Make directory, where build files will be stored, then enter inside it.

     $ mkdir build
     $ cd ./build
  3. Generate makefile by CMake. Call:

     $ cmake ../ [flags]

    where flags may be:

    Flag Meaning
    -DCMAKE_BUILD_TYPE=Debug For debug build
    -DCMAKE_BUILD_TYPE=Release For release build
    -DGLFW3_LIBRARIES='<Path>' To set path to GLFW. If other linker errors are present, it is possible to set other library paths as well, to do that corresponding variable must be fund in CMake files, then passed after -D.

    Other CMake flags may be passed as well.

  4. After generation makefile, run make.

  5. If everything went well, compilation process should be finished.


As we don't have any install script, as make install, executable must be copied to install directory "by hand".

Executable will be in ./bin directory, named as: eu07_yymmdd, or eu07_yymmdd_d, where:

  • yy is year,
  • mm is month,
  • dd is day
  • _d is debug flag.

If you currently have MaSzyna assets, just copy executable to install directory. You can download assets from

Note: Linux users may have issue, that Rainsted (third party starter), may not detect executable. In that case it is possible, to simulate Windows executable, by creation shell script, like this:

./eu07.exe (which is technically shell script)

./eu07 $1 $2 $3 $4 $5

If it still won't work you may try to increase (by comments) file size up to 1MB.





Minimum Requirements

  • OpenGL 1.5+
  • 15 GB free disk space
  • sound card, support for OpenAL