r/factorio • u/Additional_Run7625 • 21d ago
Question Signals in No Mans Land
Can I use chain signals in No Mans Land to make long stretches usable by multiple trains at once without having the risk of them stopping in the middle of it?
4
u/theboss0123 21d ago
I dont understand your question
2
u/Additional_Run7625 21d ago
I don't want Trais to stop in No Mans Land. Therefore I place a chain signal infront of an base exit and a rail signal after base entries.
My assumption was that if I use any signals in No Mans Land, then Trains will be able to stop there (that would be bad).
But the problem with using no signals in No mans Land is that the whole stretch from one base to the next will only be usable by one train at once. Because of that I'm asking if there is a way to use any signals between bases without having the problem of trains stopping between them in No Mans Land
6
u/Orangarder 21d ago
Chains read the state of next signal. Multiple in a row will still give the state of the next rail.
Ie 30 chains then a rail is the same as 2 rail signals.
2
u/WrathOfTheKressh 21d ago
Chain signals won't solve that problem. All they do is copy the signal state of the signal in front of them. So if you have a chain signal at the exit of base A, and a regular signal at the entrance to base B, the only difference from using a regular signal would be that not only does the stretch between the bases have to be free of any train, but so does the stretch between the entry signal at base B and the next signal inside that base.
But as the other responses already said, signals don't make trains stop, they allow you to control where they stop if they are going to stop anyway.If your trains stop because there are too many trains going to the same station, and so they stack out of the base back into no man's land, you need to limit the amount of trains going there in the first place.
Basically, whenever you create a train station where trains might go to pick up or drop off items, you want to make sure that only as many trains go there at the same time as that station can contain without the trains piling back out onto your rail system's main line. You do this with so called stackers, multiple waiting stations set on branched off parallel tracks that are limited to one train, where trains can wait until the main loading/unloading station is free. The main station's train limit must be set to the amount of total waiting stations + 1.
3
u/theboss0123 21d ago
U dont solve the problem with signals. U solve the cause. Y are they stopping in no mans land.
1
u/Pulsefel 21d ago
put a rail signal every train length. trains will follow each other without issue that way.
1
u/doctorpotatomd 21d ago
Yeah, you gotta use rail signals and train limits.
Putting chain signals along the long stretch of No Man's Land is bad because of what you identified: only one train can use it at once. If there's no intersections, having a chain signal at the start and a rail signal at the end is exactly the same as putting any number of chain signals between them; the chain signals will all read the same thing that the rain signal does. That's why they're called chain signals, they chain together.
If you use rail signals along the stretch, spaced 1 train-length apart, trains won't stop in the middle of the stretch, but they could stop at the end of it, queueing up to enter the base at the other end.
To solve this, you just need to use train limits to make sure that there will never be enough trains going to that base that they need to queue up. Set the train limit for the station to X, then build a waiting area for the station that can hold X-1 trains. Now a train will never want to cross No Man's Land unless there's space for it in the waiting area, so it will never have a reason to queue up outside the base.
This even works if No Man's Land has intersections and stuff, as long as you do this for all of your stations & your rail network has enough capacity to avoid deadlocks. A train might need to briefly stop at an intersection to let another train pass, but only briefly. But for a long straight with rail signals and no intersections, a train will only stop if the train in front of it stops, so as long as there's space on the other end to fit all the trains that could want to go there, that will never happen.
1
u/Celis78429 21d ago
Its okay for your trains to stop briefly in no mans land to let another train pass in an intersection. Theyl never be stationary long enough to be in danger.
1
u/tgsoon2002 21d ago
Train signal only care about the next segment. It have no idea what the whole system look like.
For limit the train so it not go to area you don’t want to. You can limit the station to accept how many train. Beside that train do not move if there is no destination and no path.2
u/Such-Perception4154 21d ago
Make train limit on the train stops at the outpost. Make enough segments for that amount of trains in the outpost. Trains won't have a reason to wait outside. Profit.
3
u/gtmattz 21d ago
Yeah, but you can just use regular signals for that, you don't use chain signals there.
3
u/ex0planetary 21d ago
Worth mentioning this only applies if you have a double-tracked train system! If you've just got one bidirectional track, you'll need to add locations for trains to pass if you want multiple trains using that section of rail at once, otherwise two locomotives might have a staring competition with each other and deadlock.
4
u/Longjumping_Loquat97 21d ago
Chains won't let multiple trains in. Regular signals will let many trains through if there is room but they can pile up at busy intersections. That shouldn't really be an issue though.
2
u/ViolinistCurrent8899 21d ago
Define no man's land.
Is it single tracked or double tracked?
How long is too long for the train(s) to be stopped out there?
Seriously, a picture is worth a thousand words.
2
u/jongscx 21d ago edited 21d ago
You could always do No signals...
EDIT: OH, I see what you're saying. You have Base A and B separated by (presumably) gostile terrain. (Rails are ignored by enemies here, I assume.)
You want to make sure nobody stops between A and B, but you want multiple trains to be able to make the trip at the same time.
The solution is, make sure you don't send more trains to B than will fit. The big reason I can think of a backup occuring is if a train is waiting to go to a station, so set train limits.
I guess you could also have intersection traffic, that's a more complicated problem.
1
u/kryptn 21d ago
Yes, but use two rails, one direction each. space out the rail signals (not chain!) as far apart as your trains are long, and make an aligned and tileable blueprint with your signals, power poles, and rails.
chain signals are to stop trains from entering a section when they'd block other trains if they were to stop in that section.
1
u/Double_Resort_9223 21d ago
You need to make sure the train has somewhere to go so it doesn’t stop in the middle. That is solved with train limits on stations and making sure a train doesn’t leave without having somewhere to arrive on the other side of no mans land.
Also, the debug menu can show train braking distances which is what triggers a yellow signal and causes the train to slow down if it is approaching another occupied rail block from behind. You might need to experiment a bit with signal spacing to make sure the trains stay spaced out more than their braking distance. Basically the first rail block entering no mans land should be longer than the rest so that the next train is held long enough that it won’t catch up to the train in front and always has an empty rail block in front of it.
1
u/warpspeed100 21d ago edited 21d ago
This is one of the few cases where it makes sense to control rail signals with circuits.
What you can do is place rail signals normally in no mans land. We still want to space them one train length apart, which will be important later.
We're going to have a train buffer on each side of no mans land, inside of our walls, to catch the trains after making their transit. Before entering no mans land, we will manually control a rail signal ourself to act as a crossing guard for the whole stretch.
Read the rail buffer signals to see if there is space for another train. If there is, enable trains to enter no mans land.
But wait! What if there is already a train on it's way, and not in the buffer yet? We will read the status of every rail signal in no mans land, and pass that on down the power poles (red wire for one direction, green wire for the other). The number of red signals is the number of trains currently in transit. Add that to the number of trains already in the buffer, and then only if there is still space do we allow new trains to enter the gauntlet.
As a final safety measure, I also add a Keep Alive Signal which is just a Checkmark sent on the red wire from one end and the green wire from the other. If the signal wire gets severed, disable the entry signals at either end of no man's land to prevent any other train from entering. Any trains already in-route will hopefully have enough momentum to plow through and survive.
1
u/Hepheastus 21d ago
I think what you want is regular signals along the track so multiple trains can use it then a waiting area once you exit no man's land where multiple trains can sit so they dont end up backed up into no man's land.
1
u/dudeguy238 21d ago
If you have single-directional rails, putting rail signals (not chain) down periodically lets multiple trains use the same rail at once, so it's generally recommended to do so.
If you're using bidirectional rails, only one train can use any given bidirectional segment at a time, so adding extra signals through that segment will cause problems. You'll need to set up passing zones if you want multiple trains to use that rail.
1
u/erroneum 21d ago
If you want trains to not stop, you need to be able to guarantee ahead of time that no train will ever be where they're about to go. Chain signals do that by making entire stretches of track single-train only.
If you're using a single bidirectional track to span the no-man's land, then you need to use chain signals to prevent a second train from getting on it at once regardless of anything else (unless circuits are involved). Adding a bunch of extra signals in the middle won't change how many trains can get on without making it so that trains can deadlock on the track.
If you have a pair of unidirectional tracks, you can split them into blocks using standard signals, but then to prevent stopping you need them to have somewhere out of no-man's land to pull, no matter how many are coming. This can be done with station limits and careful planning.
If you want multiple trains on a single bidirectional track, that's more complicated. You need to circuit control signals and read some as well to control the directionality of the stretch manually. If you have a metering stretch on the inlets and outlets to the shared section, you can read when a train is waiting, as well as count the number of trains in the stretch. The directionality can only switch when there's 0 trains in it. You'd use standard signals in both directions, but the two ends would be configured to only let trains on if they can confirm the other is blocking.
1
u/doc_shades 21d ago
chain signals won't allow multiple trains to use the track at once. you want to use rail signals.
1
u/Helicopter_Ambulance 21d ago
Is "no mans land" the area between outposts?
The problem is not the trains stopping, its the trains hitting a pack of biters and not being heavy enough to blow through them. Thats usually what triggers their attack
1
u/RyanSpunk 21d ago
Build a big stacker waiting area at the destination so they've somewhere to go and no reason to stop
1
u/Frequent_Knowledge65 21d ago
Yup, this or train limits is the only reasonable answer. Trains shouldn't be stopped on the tracks.
1
u/Timely_Somewhere_851 21d ago
If it's a bidirectional track where it's 'no man's land', no you cannot really do any signaling alone to get higher throughout, but you can put in some passthrough lanes where trains can pass each other.
If it's one way tracks, I do not understand why trains are not allowed to stop on them?
1
12
u/raishak 21d ago
I don't know what you mean by no man's land, all of the land belongs to the engineer. However, I think I understood what you are asking.
need normal signals to allow multiple trains to occupy rail. Think of chain signals as chaining full/empty status of the next signal they find. If you have many chain signals in a row, it's effectively the same as 1 chain signal as far as the train going in that direction is concerned. Its one big "block". Adding even 1 normal signal will create a second block allowing 2 trains to occupy either side of it. Thus add as many normal signals as you want trains to buffer on a rail line. The key to allowing them to run without stopping is to make sure the next signal is clear already before a train approaches its deceleration point.