This is an automated archive made by the Lemmit Bot.

The original was posted on /r/factorio by /u/ParanoikCZ on 2025-05-07 13:54:54+00:00.


When starting SA, I was actually concerned LTN is discontinued (it’s already 2.0 ready) so I was looking for alternatives, tried few and Railway Logistics Dispatcher seemed to be promising. Eventually, I started vanilla for achievements and was all the time thinking how to do train stuff without mods. And here we are. It’s possible to setup your train network only with interrupts. Totally generalized trains, only two types (for cargo and fluids). No radars, nor waits or advanced wiring. Just interrupts. And I would say it’s even more effective since these mods usually uses depot station as the train’s home and only updates its route when there.

Aside of common refuel, there is need for three different interrupts: Load, Unload and Depot if train is not needed.

Setup:

There are multiple ways how to achieve this, but let’s have ALL stations that supply something to be named same name - 'Supply"/‘Fluid Supply’. (If you want to identify stations or factory, you can use map tags). Let’s unify ALL requesters as ‘[resource icon] Unload’. You can ofc differ station names by expected train sizes and categorize your trains accordingly. In this example, only one train size (2+4) is used. Set all station limits to 1, unless you are using waiting tracks.

Station names with map tag

Loading trains:

I guess this should be pretty straightforward. If the train is empty, go to supply station and wait until full.

Loading interrupt

Note: You need to recreate another interrupt for fluid trains, but in overall, only this will be different.

Unloading trains:

Unloading is where stuff starts to be funny. Since the train is full after loading interrupt finished, we need to check cargo type and properly select unloading station accepting loaded items. To achieve this, you’ll need to set a condition with exact cargo that contains a wild item parameter, which is then properly propagated to a target station. You’ll need to write this station name manually. Wait condition is clearly waiting for the train to be empty.

Unloading interrupt

What will happen? When the train is full, item parameter (icon) is loaded and propagated to the target station name. The train will try to find the closest one with proper name and if there is no available, it will wait in supply station until any will be free to accept loaded cargo.

Depot:

Since now fine, basically you’ll start filling your network with trains, but they’ll start to get stuck at some point because trains that unloaded their cargo wants to go to stations supplying cargo which are occupied by trains blocked by occupied unloading stations. So, what we want is when the train doesn’t have proper work, park it in depot until it has something to do.

So, firstly, setup some depot parking like this and don’t forget to set trains limit to 1.

Depot

For depot interrupt, we want to trigger it when target station is not available, and we want to trigger it only for empty trains since full has to wait in loading station otherwise your depot will be flooded with full trains and clogging whole network. Target will be depot without any waiting condition. This will lead into instantly triggering the loading interrupt after arriving into depot. Which will retrigger to depot if there is still nothing to do and since it’s already sitting in depot and trains always chose closest station, it won’t do anything, just sit, and wait in the loop until some supply station becomes available.

Important: don’t forget to tick allowing interrupting other interrupts.

Depot interrupt

Note: Set some basic, e.g. 5s wait if having like 100+ trains to avoid constantly looping in depot<>load interrupts.

Tip:

You might have noticed on the first screenshot that my unloading stations are red. They are red because they are disabled by wiring. What am I doing is disabling stations when trains cannot be unloaded. Why? Because it doesn’t make sense having train sitting in supply and requester stations, so basically idea is to limit amount of trains and overall logistics. How am I doing this? Connect all chests in requester station to train stop, calculate chests capacity, deduct train capacity and set stop to be enabled when under threshold. In this example, there are 4 wagons, each handled by 4 chests. So, chest capacity is 48 stacks by 50 (for ores) by 4 chests by 4 wagons, totalling in 38400 resources. Train capacity is then 40 stacks by 50 by 4 wagons, totalling in 8000. So, a train could properly unload if there are less than 30400 resources in the station. I’ve rounded down and using 30/60/120K for different stack sizes. It’s kind of annoying, but since you start doing that, copy/paste eases the whole process. Also, for this, unloading cargo wagons needs to be properly balanced.

Train stop wiring setup