NIMBY Rails

NIMBY Rails

Not enough ratings
Comprehensive signaling guide (1.16) by adlet and Kaaai
By adlet and 1 collaborators
This guide explains how signals in NIMBY Rails work and how to signal your lines and stations. It includes contents you can find in our Quick Signaling Guide and Automated Stacking Guide.
   
Award
Favorite
Favorited
Unfavorite
IRL railroad signaling basics
We start with an example of real railroad signaling. This is based on traditional blocks in a fixed location, the illustration is a bit simplified. This section also explains a couple of basic concepts.

Example 1 - IRL signaling

The illustration below shows a railroad fragment (not to scale!) including blocks, junctions and signals. Blocks are track sections inside green boxes. Junctions are tracks between green boxes. Signals are placed at the end of the blocks. Arrows show the possible direction(s) of travel.



Blocks, junctions, routes and signals

  • A block is simply a continuous piece of track where a single train is allowed to be located (drive or stand). A block should be long enough to allow a train to completely fit within the block and it does not include any switches (points, turnouts), crossings, gauntlets, etc.

    • Line block vs. station block. A line block is a driveable section on a railroad line. A station block is a track at a station where trains are expected to stand. Line blocks tend to be much longer as trains pass them at speed while a station block can only be barely longer than the length of a train.
    • Single direction vs. bidirectional block. This affects whether the block is intended for movements in a single direction only or both directions. Signals must coordinate with block directions.

  • Junctions. These are areas where trains transition from one track to another through switches, cross other tracks, etc. Junctions are located between blocks. A junction may connect many blocks.

  • Route. Routes are predefined track paths from one block through the junction to another block. Routes can also be unidirectional or bidirectional.

  • Signal. Signals are used to permit trains to exit one block and enter the next. A signal should NOT be placed inside a junction, it should always be at the exit of a block - just like in a street intersection you stop the car in front of an intersection, not in the middle of it. Signals at or near stations are often called exit (from station) or entrance (into station) signals.

    Multiple signals may permit entering into the same block. For example, in a 5-track station, there will be 5 signals which may all allow to proceed onto a single main line block.

    A signal's normal aspect is red. It is switched to green in anticipation of an approaching train following its specific orders.

  • Interlocking. Junctions (switches) and signals are coordinated such that a green signal from block A through the junction to block B is coupled with switches thrown to allow the train to move accordingly. Any other switches potentially in conflict will be thrown in a different direction.

Tram signaling

Trams operate at slow speed and can stop quickly. As a result they normally operate on sight, without signals. Signals may be installed at intersections, similar to any city traffic.
NIMBY signaling basics
NIMBY supports two signaling methods, which we call block method and open track method. Block method is similar to real railroad signaling as discussed above, and uses blocks.

Open track method allows to combine multiple blocks by converting blocks into single-direction open track. Not all blocks can or should be converted into open track. Both methods can be used as required or desired in the same save.

Block method

Similar to IRL railroads, the track has individual blocks, with signals only allowing one train into each block. Track switches, crossings, etc. are considered to be outside any blocks and can be referred to as junctions.

Example 2 - Block method signaling

Example 2 uses the same railroad fragment as Example 1 but has been signaled for NIMBY using the block method. You can see the signaling is very similar. The only difference is related to the single track (bi-directional) line. This is because NIMBY signaling does not fully support bi-directional line operations. Details of bi-directional line signaling are discussed in a subsequent section.

Block method uses one type of signal, called path signal.



Open track method

The open track method allows fewer signals than the block method. This is achieved by combining multiple blocks and converting them into open track. Blocks can be combined if there are no junctions between them (or if the only junction is a diverging track). Using open track often means getting rid of most real-life signals.

Open track

An open track (thank you SaRo for the term suggestion) is a continuous piece of track, at least a block long (usually multiple blocks), where any number of trains can drive at the same time, without risk of collision. Open track allows travel in one direction only. An open track is similar to a one-lane highway or tram operation on sight.

An open track has an entrance and an exit. A balise (=track contact reader device) starts an open track. A path signal (or another balise) ends the open track.

Example 3 - Open track method signaling

Example 3 also uses the same railroad fragment as Examples 1 and 2, but has been signaled for NIMBY using the open track method. Most (but not all) blocks have been converted into open tracks, marked purple. Many signals have been eliminated and balises have been placed at the start of each open track.



Bi-directional track signaling is the same as in Example 2, because open tracks must have a single direction. Thus, the single track line, middle track of the three track line, the terminus station and the depot tracks remain as blocks.

Station blocks are not usually converted into open tracks, because they are often bi-directional and typically to short for more than one train at once. Train stacking at stations is addressed in a subsequent section.

While possible, it's usually not practical to convert a single block between two junctions into an open track - it's simply too short to improve throughput. However, a block that is only as long as a train should not be converted into an open track - it could lead to delays or deadlocks.

Creating open tracks is not required. However, having fewer signals could speed up game performance.

One-way signals

All open tracks and many blocks are single-direction. Add a one-way signal to mark the desired direction. You only need to install this signal where trains exit the open track (block), and only if otherwise possible for trains to enter it the wrong way (e.g. a crossover or track split). One-way signal is like a "Do not enter" sign on the roads, and applies to the entire track between any platform and any switch. Thus one sign per open track (block) is enough, unless there are platforms inside it. A good location for the one-way sign is near the exit path signal.

Because trains can always reverse at platforms, you can add a one-way sign on the side of the platform trains should not exit from as a safety measure.

Example 4 - Placement of one-way signals

In examples 1-3 the arrows (which are really NIMBY one-way signals) were used to indicate direction of travel. Example 4 is the same railroad fragment and signaling as Example 3, but it now illustrates the minimum recommended placement of one-way signals (there aren't many!)

NIMBY signal types and track reservations
This is an overview of all NIMBY signals (1.16).
One-way [shortcut 1]
  • Prohibits trains from operating on a track section in the opposite direction
  • Applies to entire section between any platform(s) and/or switch(es)
  • Place where trains exit from the one-way section (like "Do not enter" sign on roads)
Platform stop point [shortcut 2]
  • Ends platform inside a track segment (otherwise, the platform is the entire segment)
  • Previously used to indicate exact train stop position on track (now done with advanced stops)
Balise [shortcut 3]
  • Place to start an open track that allows multiple trains driving in one direction
  • Do not use on bi-directional track - can lead to head-on collisions
  • See explanation below on track reservations
Path signal "bounds only same direction" [shortcut 4 default option]
  • Place at exit from one block (open track) into the next (before any junction)
  • Allows the train to proceed or stops based on whether the train's path is open
  • Normal color is yellow ("unknown"). Turns red when a train is stopped.
  • See explanation below on track reservations
Path signal "bounds always" [shortcut 4, choose option in signal overlay]
  • Limited use - mostly, to allow the second train into a station block in certain circumstances
  • Use train stacking and multi-train platforms (and not this signal) in special cases discussed below
No-way [shortcut 5]
  • Prohibits trains from operating on a track section in any direction
  • Applies to entire section between any platform(s) and/or switch(es)
  • Can be configured to apply only to trains or lines with selected tags, or alternatively those without selected tags
  • Place near any entrance inside the restricted section

Path signals and track reservations

Path signals turn red (="stop") or stay yellow (="go") to an oncoming train based on whether its path is open.
  • The path is this train's intended travel route until the next path signal or the next balise.
    • That is, until the next path signal of type "bounds only same direction" in the same direction. The path is also ended by path signal "bounds always" in either direction. These signals are rare and for special cases only.

  • The path is open if not in conflict with track reservations by any other train.
    • "Not in conflict" = not "touched upon" (crossed, merged with, too close, etc.) by any other trains' reserved paths.

  • If the train proceeds, this locks signals for any other trains on conflicting paths. Thus, path signals provide junction interlocking.
    • A train will proceed through a balise even on a conflicting path and may cause a collision.

A train in operation (on-shift) always reserves a path in front of it until the next path signal or balise.

  • An on-shift train standing at a platform reserves track like any other train. Even if it won't depart for many hours. An off-shift train does not reserve track.



  • Track nodes behind the train are released from reservation, and other trains may proceed if no longer in conflict.

  • When the train reaches the next path signal or balise, it attempts to set path beyond that point and until the following path signal or balise. If the path beyond is not open, the path signal will stop the train (but balise won't).
The first train to reach a path signal will reserve its path beyond it.
  • If two trains are at path signals at the same time, the winning train is selected by the software.
You can check track reservation by turning on the track reservation mode under Map Options (shortcut [End]) and rolling mouse near the track.

How to signal in NIMBY
As discussed above, NIMBY railroad consists of blocks, open tracks and junctions. There are no signals in the middle of blocks or open tracks, and because sequential blocks can be converted into an open track, most signals in NIMBY are effectively placed around junctions.

Signaling technique
  • Identify junctions - places where tracks cross, merge, or simply get too close (closer than the train width).
    • Multiple track crossings, merges, etc. close to each other => combine into one junction. If a train cannot fit between two switches - that's all one junction.

  • Signal each junction. See below.
    • You will also define where you have open tracks and blocks around junctions.
    • Bi-directional track (single track lines) can be signaled in alternative ways. See a following section.

  • Set up additional blocks and open tracks as desired for operational needs.
    • These may be for smooth operations as desired.

  • Add special signaling arrangements when setting up lines. Discussed in following sections.
    • Secondary platforms at stations
    • Stops for multiple vehicles
    • Train stacking (depots, stations)

How to signal a junction
  1. Each track into/out of the junction: determine if it's open track or block, and direction of travel

  2. Open tracks that start from the junction => place a balise to start an open track

  3. Open tracks and blocks that end into the junction => place an "exit" path signal
    • If trains could enter them the wrong way also add a One-way signal. This is usually the case when there is bi-directional track inside the junction.

  4. Single-direction blocks that start from the junction => rely on exit signals in #3. No other signals needed



Blocks and open tracks
After signaling junctions, blocks and open tracks adjacent to junctions are already signaled. You may want additional blocks or open tracks for operational purposes.
  • Open track => balise at start, path signal at end.
    • If open track follows a junction, the balise is after the junction.
    • Open track may directly follow another open track or a block=> place a balise between them.

  • Single-direction block => path signal to enter, path signal or balise at exit.
    • If block follows a junction, the entrance path signal is before the junction.
    • If block exits into a junction or another block => place a path signal at exit.
    • If block exits into an open track => place a balise at exit.

  • Bi-directional blocks => path signals to enter and to exit at each end. See a following section for more details.
    • If block follows a junction, the entrance path signal is before the junction.
The example below is the same as for junctions, but signals are explained from perspective of blocks and open tracks.



Stations and depots
Stations are no different from any other track. After signaling junctions, stations adjacent to junctions are already signaled. Depots in NIMBY are the same as stations.
  • Station inside open track or block => one-way signal to prevent exit in wrong direction (if applicable). This is to prevent train route AI from reversing the train in a glue run (see below).
  • Station next to a junction => place "exit" path signal or one-way signal on each track
  • Station exits into a block => place a path signal at exit
  • Station exits into an open track => place a balise at exit.
The example below is the same as for junctions, but signals are explained from perspective of stations.



Dead-end tracks not in use
  • Place No-way signal. This is to prevent train route AI from reversing the train in a glue run (see below).


Train route AI
At every station a train determines its route forward to the next station. The fastest route is selected. The same process occurs at the last station of the line, when the next order starts in a different station. In this case, the train will follow a "glue run" to the new destination. Unlike defined lines, glue runs cannot be seen on the map. You may not realize the train will reverse in an unintended place or enter a "wrong way" track (if not protected with a one-way signal).

Whether on a defined line or a glue run, trains can reverse at any platform and any dead-end track. (Partially blueprinted track has a dead-end too.)
  • Placing One-way or No-way signals at platforms and dead-ends is a good safety measure to prevent collisions and unwanted turnarounds.
Bi-directional track - principle and methods
Single-direction track needs protection only in junctions. Bi-directional track also needs to be protected throughout its length, against head-on collisions and train deadlocks.

Head-on collision prevention
Track reservations from the path signals at each entrance must overlap, so they can detect each other. (Track reservation extends from the path signal until the next same-direction path signal.) That is, there needs to be a stretch within the section that can be reserved by signals from both ends.



Because balises end track reservations from both sides, they should not be used in the bi-directional section.

Deadlock mitigation
The approach in the previous paragraph also substantially reduces, but does not eliminate the risk of train deadlocks. NIMBY signaling functionality in 1.16 cannot prevent deadlocks. It needs to be supplemented with a good track plan, timetable and trains operating on time.

To eliminate deadlocks, set an exit track from a bi-directional section. This is a track that can only be used to exit (not enter) the section and that any train can use. See more in next section.

How to signal bi-directional track

Bi-directional track can be signaled as a junction, a single block, or two blocks (for each direction).



Signaling as junction
  • No different than signaling any other junction
  • Easiest and most effective, use it if it works for you, especially on shorter sections
    • For example, between two stations, with 0-1 stations inside the section
    • Best if single-direction tracks on both sides
  • Allows one train at a time
  • Trains won't stop in the section as there is no signal
  • Lowest chance of deadlock
    • However: can limit throughput on longer sections, including on adjacent tracks
How to signal:
    Inside section:
  • No signals
    Outside section:
  • Entrance path signals at exit from each block (open track) leading into section
  • Balises at start of each open track leading from section
  • One-way signals at each track trains should not enter from bi-directional section

Signaling as a single block
  • Allows one train at a time
  • Trains may be stopped at signal in the section
  • Can be effective on longer bi-directional sections, in two primary cases.
    • When a long bi-directional section is a branch joining the main line
    • When you want to select next station's secondary track closer to the end of section, not when entering the section
  • Use in both cases may help improve throughput
    • However: may create deadlock, especially when line terminus at one end
  • Can signal section in one direction as junction, in the other direction as block
How to signal:
    Inside section:
  • Path signals at each exit
    Outside section:
  • Same as junction



Signaling as two blocks
  • Allows two trains in one direction at a time
  • Trains may be stopped at signals in the section
  • Can improve throughput in section and on adjacent tracks
    • However: may create deadlock, especially when ending with terminus station
    • Also, path signals do not set train priority. Ten trains may run in one direction before any train goes in the opposite.
  • Use if throughput is critical
  • Can signal section in one direction as two blocks, in the other direction as junction or one block


How to signal:
      Inside section:
    • Path signals mid-track - must be placed so lenses face each other
      • Pick a point on the track. If your line goes west-east, any signals for trains coming from the west must be located east of this point. Any signals for trains coming from the east must be located west of this point. This will ensure reservations from opposite-side entrance signals overlap (for any point between the signals located inside the section).
    • May also place path signals near each end of section, using the same rule
      Outside section:
    • Same as junction
Signaling in other ways
It is possible to signal a bi-directional section as one or two blocks in one direction and three or more blocks in the other direction. However, setting more than two blocks in each direction is highly likely to create deadlocks, as track reservation overlap from the opposite entrance signals is not possible.



Bi-directional section also cannot be an open track, because open tracks should have a set direction.
Deadlocks
Deadlocks often occur when two or more trains try to use the same bi-directional line without a dedicated exit track. Deadlocks can also occur in other circumstances if signals are not placed correctly.

To avoid a deadlock, the number of trains in any two neighboring stations B and C (counting from exit signal A2 from the previous station A leading to B, and ending with exit signal D1 from the next station D leading to C) should not be more than Nb + Nc - 1, where Nb and Nc are the number of tracks in stations B and C (presuming each track in B and C is bi-directional and only takes one train). This can only be achieved in NIMBY by an effective timetable and on-time operation, supplementing good signaling and track plan.



Exit track
Exit track reduces the risk of deadlocks. Exit track is a track trains can only use to exit the bi-directional section.
  • Ensure line setup provides for the use of this track.

Collisions, overlap, signal calibration
Diamonds

As used in the game, those places where tracks get close and as a result trains could collide.
  • Actual diamond crossings
  • Track merge
  • Single/double slip switches
  • Gauntlet
  • 3/4-rail dual track (if built using two tracks placed closely)
  • Places where two tracks are too close (so that trains on them will collide)
      Example. Shinkansen trains are ~3.4m wide. Two parallel tracks laid 3m apart will result in trains colliding, whether they run in the same or opposite direction.



Diamonds are marked in another color for many (but not all) track types. Also, when you click on any signal inside a diamond, it says "Too close" and the track segment is shaded red.
  • Don't place path signals inside diamonds => leads to collisions and/or deadlocks.
All diamonds (except dual track, see special case below) should be (part of a) junction.

Collisions
A collision generally occurs when front of one train hits any part of another train.
  • Hit from behind - trains must be on the same track
    • NOT a collision due to 1D collision prevention - game rule that stops a train from crashing into another train in front of it if both are on the same track.
    • If a fast train catches up with a slower train, it will stop for a few seconds and then continue.
    • No need for signals to prevent hit-from-behind collisions
    • This is the reason open tracks can exist.

  • Head-on
    • Trains are on the same or adjacent tracks.
    • Always fatal (player intervention required to continue).

  • Side or back collision - trains on different tracks
    • Usually non-fatal (the train in front can pull away and allow the other train to also continue).
    • However, if the train in front is parked for a while => a major timetable disruption.
    • Also, if the train in front faces a path signal => a deadlock.

  • Vertical clearance collision - a train near bridge or tunnel entrance collides with a train at ground level.
    • Game design limitation. Each individual car resides at the higher of the levels of its two ends. A car half-way into tunnel is considered to be at ground level.
    • A car half-way into tunnel (onto a bridge) will collide with a ground-level train above (below) it.
    • To prevent, extend bridges/tunnels a car length away from track above/below.

    Examples vertical clearance collisions. These are rarely fatal.



    To resolve a fatal collision or deadlock, reset a train ($50,000).

    Trains only collide on the same level (vertical clearance collisions aside). Trains at levels minus or plus infinity do not collide (except at merges).

    Signal calibration

    Path signals stop a train to prevent collisions in diamonds. One type of diamond is when two tracks get too close. When is close "too close"? The path signal does not know if you run a small tram (2.1m wide) or a Russian EMU (3.5m wide).

    Path signals work by detecting conflicting paths inside diamonds, and the exact size of diamonds is determined by track's overlap value, which each node has. If track overlap value does not match trains running this track, it's possible signals will allow trains to collide (or stop a train even if it cannot collide).

    Track overlap

    Attribute of each track node. By default, 2 meters. Intended to represent the width of the "danger area" around the track that the signal should be calibrated to protect.
    • Important for diamonds of type "too close" (tracks pass close to each other)
    • Important for any diamond, if signal is too close to junction: overlap that is too small may allow a collision (best solution - move the signal away from the junction).



    • For straight or gently curving track, use widest train's width plus small margin as overlap.
      • For example, if trains are max 3.0 m wide, set overlap to 3.2 meters.

    • In sharp curves, use wider overlap. Use the table below for guidance.
      • For example, for a 16m single tram car on 15m radius track, the overlap should be 5m (rounded).
      • When building parallel tracks, set distance between tracks to overlap or more.



    • Overlap can be changed as an option for new track or edited in bulk for existing track.

Special case: dual gauge track and gauntlets
Dual gauge track
3- or 4-rail track that allows trains of different gauge to operate.

Gauntlet (interlaced track)
Short (usually) section where two tracks of the same gauge interlace, due to lack of space (e.g. on or under a bridge).



How to set up and signal
  1. Build by placing one track parallel to another at a small offset. Correct angle for point method track.
    • For example, use 0.2m offset for 3-rail track that includes 1067mm and 1435.

  2. Because trains on these two tracks can collide, regardless of direction, the entire length is effectively a junction and requires special signaling.

  3. Gauntlets (opposite direction): typically short. Signal the same as bi-directional track, as junction.
    • Entrance signals at both entrances, no signals in the gauntlet, balises at exit.

  4. Dual gauge (same direction) can be very long, signaling as junction is impractical. Instead, apply block signaling.
    • Define blocks (e.g. each 1-2 km long) and place path signals next to each other on both tracks.
    • Only one train (on one or the other track but not both) will be allowed into each block.

Special case: secondary platforms
Secondary platform(s)

Alternative platform(s) a train can select at a station or in a depot if the main platform is occupied.



Use cases
  • Divert train to alternative platform at a station (e.g. terminus) if the main platform is occupied
  • Allocate trains across unoccupied tracks in a depot
  • Allow a late train to overtake an on-time train ahead of it
  • Allow multiple trains of one line in the same station at the same time
Routing a non-stopping train through a station or between stations via alternative tracks is not currently possible.

For placing multiple trains in the same platform, refer to multi-vehicle stops and stacked trains sections below.

How to set up
  1. Select one platform as main.

  2. Select one or more platforms as secondary. All platforms must belong to the same station.

  3. Define one or more stop selection signals for the station. Any arriving train must pass through one of these signals.
    • The reservation path from each signal to each platform should be uninterrupted: no balises, same-direction path signals, or bound-always path signals from stop selection signal to the platform.



Notes
  • Main platform is the first choice. If occupied, the train will use the next available platform (in order as picked and listed in the stop).
    • Exception. For technical service lines with black holes for stops (train de-spawns), the main platform will be assigned last. Trains will not despawn from secondary platforms.

  • Having a place on the line where a late train can overtake a train in front helps operate on-time.

  • If the next stop is at the same station (e.g. start of a new run), the train will stay in place for the next stop as long as its actual platform is the main or a secondary platform for this next stop.
    • Example. Train arrives at terminus with main platform 1 and secondary platforms 2 and 3. The next run starts at main platform 4 and secondary 1 and 2. If the train arrives at platform 1 or 2, it will stay in place for the next run's first stop. If the train arrives at platform 3, it will move to one of platforms 4, 1, or 2 using a glue run.
    • Note: in the above setup, the timetable will account for time for train to move from platform 3 to 4.
Special case: multi-vehicle stops
Use cases
  • Allow multiple (2, 3, etc.) same-direction vehicles to stop and load passengers in the same platform.
    • Frequent on busy lines e.g. in city center.
This method can be combined with secondary platforms described in the previous section. It is not compatible with stacked platforms method in the next section.



How to set up
  1. Select station platform using Advanced oversized method. To make a stop oversized in Advanced mode click once, where the first train head should stop and then drag the cursor along the platform. Then click a second time to mark the end of the stop section.

    • Platform length: the combined length of all intended trains, plus 3.2m between trains.
    • Platform start: where the 1st vehicle head stops, extend it to where the last vehicle may end.
    • All trains should arrive to the platform from the same side.
    • Multiple parallel platforms can be selected as secondary.

  2. Define one or more stop selection signals for the station.
    • The reservation path from each signal to each platform should be uninterrupted: no balises, no same-direction path signals, and no bound-always path signals.

  3. For each signal, uncheck "Check beyond stops" box. This allows multiple vehicles into the same "block".



Notes
  • When the vehicle reaches the signal, it is allowed in if there is enough space for it. Otherwise, it is held until the last of the presently standing vehicles departs.

  • When using with multiple platforms, select one platform as main and additional ones as secondary. The game will randomly allocate vehicles between platforms.
    • This is different from the normal allocation with secondary platforms in the previous section,

  • Legacy methods for multi-vehicle stops using secondary platforms still work. However, two changes are necessary.
    • Stop selection signals need to have "Check beyond stops" box unchecked.
    • Delete balises and same-direction path signals between the stop selection signal and the platform (or within the platform).
Special case: train stacking (stations, depots)
Train stacking
Placing two or more trains on the same platform within a terminus station or a depot.
  • NIMBY stacking feature takes trains off-shift and assigns the next departure (and the related shift) to a train with an open path to exit.
Use cases
  • Park two or more trains or trams per track in a depot (through or dead-end tracks)
    • Not compatible with black hole depots.
  • Allow two or more trains to use the same platform at a terminus station (through or dead-end tracks)

How it works
When a train arrives to a depot/station, if one or more trains are already in a platform but there is enough space behind them, the train will proceed and park on the track as well. Each train shift ends with an arrival order (the trains get unassigned). When its time for departure, another order for a shift that starts from this platform will pick the train closest to the exit in the direction of departure.

How to set up
  1. For arrival set an order that does NOT "Continue into next order" (i.e. end of shift). The order should end with a platform set up using Advanced oversized method.
    • Platform length: the combined length of all intended trains, plus 3.2m between trains.
    • Platform start: where the 1st vehicle head stops, extend it to where the last vehicle may end.
    • All trains should arrive to the platform from the same side.
    • Multiple parallel platforms can be selected as secondary.

  2. For departures set a different order (same or different line). The first stop needs to be on the same platform oriented towards exit.
    • If trains continue in the same direction, can use the same line and the same stop to start the next order.
    • If trains reverse and go back, set up a different stop (same or different line), oriented opposite from the arrival platform.
    • Compatible to use with secondary platforms as well



  3. Define one or more stop selection signals for the station.
    • All trains should arrive passing one of these signals.
    • The reservation path from signal to each platform should be uninterrupted: no balises, same-direction path signals, or bound-always path signals.

  4. For each signal, uncheck "Check beyond stops" box. This allows multiple trains into the same "block".

  5. All trains involved should be approved for each shift that can start during stacking.



Notes
  • This method implies a longer stop time, because trains go off-shift and then pick a new shift.
    • If there are on-shift vehicles in the same platform, it won't work. Thus, not compatible with brief stops mid-run (e.g. multiple vehicle stops) on the same platform.

  • A shift can only be picked during the scheduled stop time at the stacking platform.

  • If the front train picks a shift, no trains behind will pick shifts until it pulls away.

  • If two shifts can be picked, the train will pick at random. This may be a later departing shift. Then the earlier shift may never be picked.
    • Example. First stop is 5 minutes long. Pick times start at 5:22, 5:24 and 5:26. The front train picks shift at 5:22 and departs at 5:27. The 2nd train picks a shift at 5:27, and it may be the 5:26 shift. The 2nd train will leave at 5:31. At this time the 5:24 shift has expired and will not be picked.

  • If a train is waiting to spawn (after reset in any location), it may pick a shift starting from the stacking platform. In this case, one train may remain in the stacking platform, and one shift may not operate.
    • Avoid resetting trains when they cannot re-spawn right away.

  • Legacy methods to stack trains still work. The two primary legacy methods are:
    • Specific train assignment to a specific place within the platform. Likely no changes required in 1.16.
    • Assignment based on sequential secondary platforms. Signaling changes required:
      • Uncheck "Check beyond stops" box for all stop selection signals.
      • Delete any balises and same-direction path signals between the stop selection signal and the platform (or within the platform).
    Legacy methods do not require taking trains off-shift but the departing train may not have an open path to exit.
Junction signaling examples
Below are signaling examples for some typical simple and complex junctions.

Double track line junctions



Single track line joining double track line



Crossovers with reversal possibility on double track line



Crossovers (no reversal possibility) on quad track



Flyover triangle



City examples

Station signaling examples
Railroad stations
Signaling tends to be straightforward and follows the same pattern. The key questions are whether station platforms are inside open tracks or have junctions on one or both sides, which tracks are single direction vs. bi-directional, whether there are stopping and passing trains, and whether train stacking exists.

Example station inside open tracks (i.e. no switches)



Examples (a) simple 3-track station with bidirectional middle track and (b) 4-track station with tracks for local and express trains (no reversals)



Example simple 2-track station on single bi-directional track line (passing siding) - one version with no reversals possible, the other where trains from the east can reverse



Examples (a) 3-track terminus and (b) 2-track terminus on a track curve



Example typical intermediate terminus with turnaround "pocket" tracks



Example multi-track station with main lines on both sides and a depot



Example actual station (Takasaki Station in Japan)



Tram and bus signaling

City stop signaling for two vehicles (trams, buses) in each direction



Terminal loop signaling



An intercity bus terminal



Light rail tracks in city center



A complex and chaotic bus terminal stop

Depot signaling examples
Here are some real-life examples of signaling depots.

Railroad depots

Shinkansen depot in Nagoya with exit single-track bi-directional section on the east side and access to a maintenance shed on the west side.



Toyoda train depot in Tokyo with one dedicated entrance and one dedicated exit track.



Depots are typically connected to the network with a single track bi-directional line. Haijima Depot in Tokyo is a typical example of signaling a railway depot in these circumstances. No signals between the depot and the station.



A tram depot with through tracks tends to have a lot more complex track layout. Below is an example of a typical tram depot signaling.



When designing signaling for a depot, think of how trains or trams will move through it. Make the operational scheme as simple as possible and maximize use of single-directional tracks, as it makes both signaling and operations easier and less prone to deadlocking.

Example operational plan for a real-life depot in Nagoya (may not be totally as IRL)



The same depot as signaled in NIMBY to support the above operational plan.



In the example below in NIMBY, all incoming trains are sent first past the parking tracks to a washing line at the back. Afterwards, they enter parking tracks from the back side of the depot and can be stacked. When stacking several trains per platform, ensure every signal from where trains could enter these platforms has "Check beyond stop" box cleared.



This is an example of a tram depot with dead-end tracks, built by @Boltenhagen and used with his kind permission. Some tracks are for parking and some for maintenance. To move trams between various tracks, a turnaround "platform" is needed and has been added.

4 Comments
adlet  [author] 7 Jul @ 8:21pm 
Thank you!
hy/fix8 6 Jul @ 2:24pm 
These guides don't get enough attention, these are absolutely top notch.
adlet  [author] 13 May @ 12:05pm 
Thanks!
kilgardesvagen 13 May @ 10:57am 
This is a master class in NIMBY signaling. Excellent work. Thank you so much.