Installation Instructions


See the README.unix.txt file that is included in the .tar.gz archive. Please also take a look on the note about command line options for auto saving further down. It has Windows examples, but the core part about the command line arguments for auto saving in Junctioneer is still the same.


  1. Make sure you can run win32 binaries. 64-bit systems without a 32-bit compatibility layer are not supported.
  2. Download the zip-file
  3. Extract the contents to <some directory>. Your regular windows user needs to have write access to this directory.

  4. Optionally:
  5. Create a shortcut on the start menu/desktop to <install dir>\Junctioneer.exe
  6. Use the shortcut to run the program

Please, continue and read the next section about auto saving options which is important if you experience crashes or similar problems that you want to report.

Auto save command line options

There are a few command line arguments which can be used to fine-tune how often the program should make auto saves. The auto save function do not save to the regular save file, instead it creates numbered files in the <install dir>\maps\autosave directory. The files are quite small, but if you want, you can erase the contents of the autosave directory from time to time. The auto saves are meant to be used as backup and for reproducing crashes if/when they occur. To show the available arguments run Junctioneer.exe --help from the terminal (in the <install dir>).

An example output is show below for version of Junctioneer. Please check with your version if new commands have been added, or if old commands have been removed/renamed.

Executing junctioneer.exe --help in the windows command prompt including the results of the command.

If you need help on how to add command line arguments to a shortcut in windows, please refer to the windows shortcut CLI arguments howto.

Since 0.3.0 beta 1, you can also edit options.xml in %AppData%\Junctioneer (windows) or ~/.junctioneer (linux) to set the auto save options.

Terminology Overview





Traffic Lights

User interface


The user interface consists of three main features:

Junctioneer start in build mode, which allows network construction as well as saving and loading of maps. When you run a simulation, the program enters simulation mode which does not permit save/load or modifying of the network. When simulation is stopped, Junctioneer goes back to build mode.

Build mode

In build mode there are three main ways of construction:

If one of the two tools is used, then tool specific actions will appear to the right of the toolbar as well as in the right click menu. A few actions (usually experimental) do not have a icon yet and do only appear in the right click menu. Depending on the current selection different options are available. To not give too many options, creating of new objects is for example only available when no object is selected. You can only select links with the link tool and only nodes with the node tool.

Link tool details

Link selection and modifications deserve some further explanations. For links there exist several selection levels:

  1. No link selected
  2. Link is selected, but no specific part of it
  3. Link is in edit mode and a path point or path element is selected

To proceed from one level to the next you click on the link. To select a path point you have to click close enough on it so that it becomes blue. To move up one level the escape key can be used. You can also click some distance away from the link to deselect. Depending on what level you are at different tool actions will be present. Also note that most actions are only available at the topmost level that is possible for the action to be executed.

Node tool details

The node tool should be fairly straight forward to use. It can create/move/edit properties/delete nodes. There is a shortcut to bring up the node properties window: double click on a node to bring it up. Just keep in mind that you need to first select the node tool, since clicks on nodes will only be detected by the node tool.

From the node tool you also find an action to merge two links if they are connected to a junction node which has no other connections. A such merge will result in the node being deleted.

Newly created junction nodes will not use any control mechanism to avoid collisions. To set the control mechanism, open the node edit window and select either traffic light control or yield control. The yield control in Junctioneer is not very efficient to encourage you to use the signal control features. Also note that for yield to work, both the right of way link and yield link have to be sufficient long to allow cars to see each other. For traffic control, please see the howto on traffic lights.

Simulation mode

If there is at least two schedule periods, the Schedule Viewer is opened automatically when simulation mode is entered. The Schedule Viewer shows a graphical timeline with all schedule periods. A vertical line shows the current time in the schedule. (new in 0.2.0)

In case you use a formula to define the length of schedule periods, that formula will only be evaluated when that period is about to be activated and during the time that the period is active.


Note: Some hotkeys cannot be used when a text edit box is selected for typing.





How to ... ?

Use Traffic Lights

This howto has its own page: link to the Traffic Lights howto

Use Expressions

The expression feature described here requires Junctioneer 0.2.0 or later.

In some edit boxes, expressions are allowed. Expressions can use simple math and built-in functions to calculate a resulting value. For example, the maximum speed of a vehicle type can be described using an expression. This expression is evaluated when vehicles are created, and may include (among other things) calls to the random number generator to give varying vehicle properties. Setting the maximum speed to 1.2 + IntUnif(0, 3) * 0.2 would give vehicles with 1.2, 1.4 or 1.6 as maximum speed. If IntUnif is replaced by DoubleUnif, then all values between 1.2 and 1.8 may be chosen.

Since 0.3, you can also use expressions to define the length of schedule periods to allow some dynamics in traffic control.

Expressions can contain


When expressions are entered in the GUI, feedback is given on the fly if they are valid or not. This validation works by simply evaluating the expression as you type and see if any problem occurs. For deterministic expressions that do not read any simulation state information this should give a good validation. For expressions that make use of random functions and/or simulation state information, extra care has to be taken to write expressions that will always be valid. For example, make sure that your expressions never will give division by zero.

In the tooltip of fields that allow Expressions, there is usually a note on the allowed range of expression results. The allowed range will be enforced by clamping the result from expressions down to the allowed value range.

List of built-in functions

The list of built-in functions is also distributed with the binary and can be viewed offline from the help menu.

Built-in functions in 0.3.0 beta 1

Built-in functions in 0.2.0

Use Command Line Arguments in a Windows Shortcut

This howto assumes that you already know which argument command that you want to append to Junctioneer. In this guide the command --autosave-intervall=1 will be used. (the procedure is the same for any other program)

  1. Right click on your shortcut and open the properties dialog
  2. In the edit box for target, append your desired command at the very end. After the quote characters that surrounds the path if it contains a space.
  3. Click okay
In the shortcut properties, add the command at the very end of the target property.

My target path in the image above do not contain any spaces, but I've added the quotes there manually so that it will be easier see where they should be relative to the appended command.