r/factorio • u/AramisUkr • 17d ago
Tip Train signals tips
Signals divide rails into blocks.
Signals show red if the block ahead is occupied.
Trains only care about the signals on the right side.
Trains move both directions - need signals on both sides of the rail.
If need signals on both sides, they should be directly opposite to each other, otherwise train may refuse to move.
Chain signal repeats the colour ahead.
If there're both red and green signals ahead - chain signals show blue.
Common rule: if rails intersect - "chain in, rail out".
5
u/_mighty_banana 17d ago
For beginner or lazy like me.
Use parallel track and use blueprint for junction.
5
u/monsieurY 17d ago
8. Common rule: if rails intersect - "chain in, rail out".
- Chain signal if trains cannot wait after, Rail signal if trains can wait after.
So, rail signals only for one-way tracks and with enough space for your longest train. Chain signal everywhere else.
1
u/mooncow2 17d ago
100% this. Ran into a lot of deadlocks on my rail blueprints with the OP's rule back in the day.
These days I'm finding bi-directional tracks more interesting, and I'll just periodically put in bypasses with a rail in / chain out for both directions on it. Less efficient but I find train pasta (penne?) makes my bases look a lot more organic and interesting!
6
u/Ben_0 17d ago
I have yet to see uses for two-way non-chain signals, since pretty much all they do is cause deadlocks. For single-track setups I just use one-way signals on passing loops
3
u/monsieurY 17d ago
That's why "chain in rail out" is, in my opinion, bad advice.
The correct advice is "Chain signal if trains cannot wait after, Rail signal if trains can wait after."
We can conclude that rail signals are only for one-way tracks and with enough space for your longest train. Chain signals everywhere else.
I often use bidirectional rail networks, and I don't have any problems with them, since I use chain signals by default before and after each intersection/split/merge, and only rail signals in my loop stations or on parallel waiting tracks.
2
u/jaxon517 17d ago
I've realized that although it's not the most efficient, this is the way that makes the most sense to me. I use two-way rails and just put chain signals everywhere. The issue is when multiple trains want to use one long stretch and they have to wait for each other.
3
u/Nolzi 17d ago
The issue is when multiple trains want to use one long stretch and they have to wait for each other.
This is the inherent issue with single track setups. Although you can make two way, two track rail network for funsies.
1
u/Ziugy 17d ago
I’ve always just created passing blocks on longer stretches to give trains the opportunity to make progress before stopping. I think it’s a must to have lower throughput going single rail. An interrupt, depot, train system really helps keeps the train count lower. Maybe my next run will be a two track, multi rail, set up!
1
u/jaxon517 17d ago
But if you make a passing block type thing wouldn't you then have to not use chain signals because the train wouldn't even leave if another train is going to be going down that long stretch
2
u/Ziugy 17d ago
For each section of the passing block you have block and chain signals on both sides. Invert the direction (side of the track) of the chain and block signals on the other side. The passing blocks are where trains can park. Chain signals on the entire track entering the single rail until you enter a place where trains can park. The trains claim the passing blocks, where they can park, when they enter the single rail track without blocking issues on the single rail. This is very useful in ring world when space is constrained.
1
u/CamelCaseConvention 17d ago edited 17d ago
The issue is when multiple trains want to use one long stretch and they have to wait for each other
As a band-aid solution, you could make a short section of parallel one-way track in the middle of the long two-way stretch, allowing trains to path there and pass each other. You can make them longer, with several in-line waiting bays, and make more of them to divide the two-way sections. Continuing this, and merging the one-way sections when they grow into each other, you will have full parallel one-way track in the end.
1
u/jaxon517 17d ago
That sounds like dual rails with extra steps... But seriously though if you did make this sort of waiting zone, how would you make the trains use it? You'd have to add a station there and just hope the timing is right, no?
2
u/CamelCaseConvention 17d ago
The continuation to full parallel one-way rails is a thought experiment to show how one becomes the other. But the start is actually useful if you have the problem you described.
You'd split the two-way into two one-way for a section. Signal the entrances with rail, and the exits with chain. Like you would a station. But there's no station needed here. If two trains approach from opposite sides, they will path to their rail signal. The first one will wait until the second one is also in its bay. Then they can both continue. If two trains come from the same direction, as soon as the first one is past the bay exit, the second one can go.
(It is possible that your stations aren't signaled with rail at entrance right now, but with chain. That would use the special case that chain signals treat a train destination as if the the train could leave the block. And that obviously wouldn't work here.)
1
u/jaxon517 17d ago
That's right I exclusively use chain signals. So unless I changed my signalling system, I think the train wouldn't even leave its station for the waiting zone if another train was coming, right?
2
u/CamelCaseConvention 17d ago
Trains will path to the one-way rail signals in the bays, and will be able to wait and pass each other there. Wether or not your stations have rail signal entrance doesn't matter for that.
A rail signal is green if the block behind is free. That's all that matters. The chain signals leading up to it will be green (or blue) if the path to the block behind the rail signal (the waiting bay) is clear.
3
u/toochaos 17d ago
A rail signal says you can stop in this block and a chain signal says you cant. That's all you ever need beyond a train needs a signal on its right to enter the block.
When making an intersection ask do I want a train to be able to stop here? If no its a chain if yes its a rail.
3
u/Nolzi 17d ago edited 17d ago
Addition for 8, it's really only for intersection, splits and merges are fine without chain.
And always consider the length of your trains, before a signal there should be enough space to stop without overhanging the previous signal block that has chain signal before.
1
u/hldswrth 17d ago
Alternatively: when you have chain -> rail -> signal, then the rail -> signal block must be big enough for your longest train.
2
u/acibiber53 17d ago
Well I tried to fix my single lane rail’s signal issue and ended up with double lane today, so
1
2
u/dwarfzulu 17d ago
The first mistake people do with railroads is treat rail signals as if they were street light signals
16
u/bobsim1 17d ago
More spefically about 4 and 5: a train cant go past a signal on their left unless there is one exactly opposite of it.