How to signal this train junction properly?

Building train signals

Train signals are a little bit weird at first, but when you understand them it makes so much sense.

When making signals you need to know whether you want tracks to be one or two-way. I'm going to assume the following:

Signals
All tracks except for the top right ones are one-way.

When building rail signaling, here are a few things to keep in mind:

  • When a track splits, you need to have a rail chain signal that "predicts" which of the next tracks is empty
  • If you want a track to be one-way, you must place a signal only on the right side of the track. Your design is perfect so trains can't get stuck (a common thing with two-way tracks)

How (normal) train signals work

Every train signal defines a "block". When a train enters that block, the signal displays 'red' and other trains can't enter that block.

Signals Explained
Because there is a train after the signal, it becomes red. Dark yellow represents the block that the signal creates.

Chain signals work the same way, except they inherit the status of the next signal. If a track splits, it checks both ways. If one of the tracks is not empty, the chain signal becomes blue, signaling the train that only one of the train tracks is empty.

How I would make this work

Lets start with the top right corner - the two-way tracks. Because trains need to be able to pass both ways, these tracks need signals on both sides. Here is what I mean (see 1):

Signals - 1
When the train is coming from the left, the chain signal indicates which of the tracks is empty (dark and light blue block). When the train is coming from top/right, the chain signal indicates whether the (dark yellow) block is empty.

The same principle is used for other tracks, for example (see 2): Signals - 2
A train coming from the right can only go down. When coming back (from the left), the chain signal indicates if the (dark yellow) path is clear

Putting all of this together, we get a functioning track where trains should not crash:

Final Signaling
If you want, you can place more rail signals on the right side of the top left track so multiple trans can wait in line to leave, but that's just aesthetics.


General idea - you want chain signals on everything that's two-directional, so trains don't end up coming from both directions at once. So:

  • Two-way chain signals on the outbound rails (top and right paths). Just place a signal on both sides of the rail at the same spot to do it.
  • One way chain signal on entry to the junction (left path).
  • One way standard signal on exit from the junction (bottom path).
    • Make sure a train can fit between the exit signal, and the signal after it.
  • Make sure entry to the two-way part from the remote stations also has a chain signal.

The other answers focus on the 'how', but for me, the moment it clicked was when I the realised the 'why':

  • A train signal (on either side) creates blocks
  • Trains will refuse to pass to another block unless explicitly there's a green light (from a signal) saying it's OK.

As a result, placing a signal on one side works like a diode (only one direction), so if you want to allow trains to pass the block boundary in another direction then it needs an explicit signal.

If you then add that a signal turns green if the block on the guarded side is free of trains, then you can use this to build up a train network.

Tags:

Factorio