
Rule 3 There is always an exception to rules of best practice.īefore I go and make an absolute do or don’t list, remember that for every rule, there’s probably at least one very specific situation in which the rule doesn’t work or needs to be changed. So, let’s make some rules that will make your rail networks much more robust and performant. We need to ensure blocks are well-defined to prevent locks and crashes. (A track was destroyed or added.)Ī train does not care about other trains inside the same block. The destination station status changes.A signal on it’s current desired path changes.Otherwise, stop and wait.īut this part is where it gets really interesting, and we can start making rules of thumb that make our lives easier. You may enter this block if it is not occupied or reserved AND you can exit this block. You may enter this block if this block is not occupied or reserved. Here’s where my condition explanations come into play: (from the viewpoint of the train) Normal Signal: Scenario time! The train begins to depart the station, and it sees a signal…

(Stop trains in emergencies by destroying the tracks they are on!) Once a train has figured out where it’s trying to go, there are only three things it’s concerned about: (“blocks”) If you didn’t already know this, you should go check out that presentation I linked earlier.Īll signals always do this, no exceptions. I’ve seen a lot of people try to explain how signals work, but they often make it sound more complicated than it is.Ī signal takes one section of placed rail and splits it into two logical zones. Trains are not that complicated, they are simple machines which follow a very well defined set of rules, most of which are controlled and applied via signals. Rule 2 Think like a train to understand the train. You’re bound to see some of these in almost any modular network of real mid-to-late-game use. (Extremely bad, ran out of fuel, hit a tank, biters broke the rail, etc)

In this post I will show you the principles behind building rail networks in Factorio, so that you understand what you’re doing before you do it, you understand the problems when they appear, and, if no mistakes occur, you create networks that never jam ever. This article was partially inspired by Korezaan’s post: Post has been updated September 2019! Read on further below,

January 2021: Factorio 1.1 introduced stop train limits! Read my take on the feature here.
