
Path Signals reserve paths based on information received from incoming trains. Pathfinding is done by Locomotives, not signals. However, trains can be forced to stop within an intersection if their desired exit block becomes occupied with a manually driven train. This system ensures that trains do not stop in the middle of an intersection, which helps to prevent gridlocks. The Path Signal will turn green once the block at the end of the reserved path is vacant. The Path Signal will stop a train if it would have to stop for the next Block Signal while still traversing its reserved path. Unlike Block Signals, Path Signals will "look ahead" to the Block Signal that follows a train's reserved path. Trains appear to reserve paths through multiple Path Signals at once up to the next Block Signal, and will not pass the first Path Signal if any single portion of the path cannot be reserved. This technique can help to avoid "Signal loops into itself" issues, however, it can also allow for gridlocks to occur, if used incorrectly. It is possible to chain Path Signals one after the other for especially complex intersections to increase their throughput. This allows multiple trains to pass through the same block simultaneously without colliding. Other trains can reserve their own paths at the same time, as long as they do not intersect with an existing path. An automated train will reserve a path through the block as it approaches. They automatically subdivide a block into paths, and treat them as individual sub-blocks. Path Signals are designed specifically for intersections, especially complex ones. However, for many of the problems that chain signals typically solve in other games, Path Signals provide a simple and elegant solution. Satisfactory does not have "chain signals", and there is no way to set up a block signal that changes state based on any block other than its own. In particular, where two lines merge, it is not advisable to place signals right before the merge point on both tracks at least one of the signals should be placed further back to give trains on the other line enough time to stop at their red signal. Automated trains will automatically stop at red signals, but player-driven trains are free to ignore red signals, at their peril.Ī Block Signal will not "look ahead" to the block ahead of its own block to check whether it is occupied or not, so Block Signals should be placed some distance apart in order to give trains enough space to brake and come to a stop. There must be only one possible path between each pair of entry and exit signals in a block, otherwise the entry signals may show an error with the message "Signal loops into itself".Ī Block Signal will be red if the block beyond the signal is occupied, otherwise it is green. Rails which touch or clip through other rails will be considered part of the same block, even if the rails do not snap together at the ends: this makes it possible to build crossroads where one track crosses another. All entry signals for a block have to be of the same type, either all Block or all Path.Ī block which contains any part of a train is considered to be occupied, otherwise it is vacant. Blocks on a linear track will have only one entry and one exit signal, but branches will have multiple exit signals, merges will have multiple entry signals, and more complex intersections can have multiple entry and multiple exit signals. Blocks have to have at least one entry signal, as well as at least one exit signal (which will be the next block's entry signal). Signals divide the track into blocks, which is a section of track bounded by other signals. A bi-directional track can be achieved by placing signals on both sides of the track. If only one signal is present, it will prevent trains in the opposite direction from passing through. Up to 2 signals facing opposite directions can be placed on each track joint.

An arrow also indicates the forward direction. The forward direction of the signal is determined by which side of the joint is targeted. A segment is an uninterrupted plain sequence of rails, with no intersections, stops, or signals (all of which define segment borders).Both types of train signals can only be built on the joints of constructed Railway tracks and will automatically snap to them. The pathfinder first builds a list of non-disabled stops that match the name in the schedule, then searches outward from both ends of the train at once, if applicable, in segments.

Factorio version: 0.16 - 0.18 Downloaded: 709 timesįactorio's Rail pathfinder is Dijkstra's_algorithm with various penalties to the distances based on entities attached to the rail, and trains on the rail.
