Fully Automated Rail Layer

Fully automated rail-layer
8 months ago
0.13 - 0.16
Owner: Choumiko
Source: Choumiko/FARL
Homepage: https://forums.factorio.com/viewforum...
License: MIT
Created: 2 years ago
Latest Version: 2.1.2 (8 months ago)
Factorio version: 0.13 - 0.16
Downloaded: 304212 times


(Fully Automated Rail Layer)

  • Places rails, signals, electric poles, concrete, etc. while driving
  • Customizable placement of poles, multiple parallel tracks, lamps, turrets etc. with blueprints
  • Bulldozer mode: removes rails,signals, poles, lamps, walls behind the train
  • Maintenance mode: removes rails,signals, poles, lamps, walls in front of the train, places new layout
  • Removes trees and stone rocks that are in the way (and adds 1 wood/tree, 15 stone/rock to cargo)
  • Place rails on water if the train has concrete loaded
  • Connects poles with red/green wires
  • Cruise control: keeps the speed at ~87km/h (full speed when not placing rails) without pressing W, deactivate by pressing S
  • For modders: Support for modded "compound" entities (Modders take a look at Mod support below)
  • Support for modded rails, changeable via the settings


Look at the forums
FARL Autopilot


  • Press J (default) to toggle trains between automatic and manual mode when inside a train

Mod support

Modded rails should work out of the box, as soon as updating FARL to at least 1.0.6

There are 2 remote functions to tell FARL whether it should raise on_robot_built_entity/on_robot_pre_mined events for a specific entity:
- remote.call("farl", "add_entity_to_trigger", "entity-name")

If FARL should no longer keep on raising the events use this command (probably never):
- remote.call("farl", "remove_entity_from_trigger", "entity-name")

To make it work just add FARL as an optional dependency in your info.json and do the remote.call in on_configuration_changed.
FARL stores the names in global and only removes them if the interface is used or the entity doesn't exist anymore (checked in on_configuration_changed)


2.0.0 and above: see ingame changelog

  • fixed FARL not properly detecting some modded rails


  • fixed error when removing stones that don't have a drop probability
  • added missing locale key


  • fixed error with Autopilots "drive without me" option


  • fix possible desync


  • fixed error when loading with Factorio 0.15.27


  • fixed desync when FARL removes stones/trees with results with probability != 1


  • changed wire selection from button to drop-down
  • cruise control adjusts max speed based on fuel type
  • fixed error trying to connect red/green wires to non existing pole
  • fixed error when out of concrete/stonepath with blueprints containing tiles


  • Added an option to place ghosts when running out of items, defaults to true, ghosts for rails and concrete are not created
  • FARL now accepts blueprints in any rotation (horizontal/vertical), the chainsignal can be placed to allow travel in any direction
  • clicking the Read button with a blueprint reads the blueprint from the cursor instead of searching the hotbar
  • clicking the Vertical/Diagonal button with a blueprint writes the FARL blueprint to it
  • In blueprints with multiple electric poles with the same wire reach distance, FARL will use the pole closest to the chainsignal to connect the circuit wires
  • reduced message spam


  • fixed error when adding FARL to an existing save


  • fixed stupid recipe for the vanilla inserter, this also fixes conflicts with Angels Petrochem/Refining
  • fixed FARL picking up dirt, grass, etc. tiles if Dectorio is installed


  • fixed error with AAI Industries


  • fixed error when starting on a different rail than the selected one
  • fixed FARL not removing red dessert rocks
  • fixed FARL adding more stone than intended when removing rocks


  • fixed errors when opening the settings


  • added support for modded rails in the FARL settings


  • fixed crash when a locomotive or cargo wagon where destroyed


  • fixed cruise control not working when driving the "backwards" locomotive in double headers
  • fixed FARL freezing the game when creating a loop with rail ghosts and using the Autopilot


  • fixed gui not being destroyed when mining the FARL the player is in


  • fixed error with invalid item name


  • version for Factorio 0.15.x
  • added error messages when reading invalid/too many blueprints


  • FARL gets the same equipment grid as the vanilla locomotive, if FARL doesn't already have another grid assigned


  • fixed a load order issue with VehiclesEquipement
  • fixed FARLs with an equipment grid loosing the equipment when mined


  • fixed FARL looking for blueprints in the main inventory instead of the quickbar when in Sandbox scenario / god controller


  • fixed error when FARL was the only mod that added a hotkey


  • added hotkey to toggle between automatic/manual mode when inside a train (Hotkey is only added when Honk isn't installed)
  • fixed FARL only reading blueprints in the first 3 quickbar rows
  • fixed error when removing trees that don't drop an item when mined


  • FARL scans for ghost tracks in front of it when activating and follows them
  • FARL can follow ghost tracks on its own (Select "Drive without me" once FARL has detected ghost tracks)
  • added equipment grids to locomotives. Any locomotive with a FARL-Roboport equipped will now work like FARL
  • fixed blueprints for entites with direction/recipe (e.g. Flamethrower)
  • FARL raises on_robot_built_entity/on_robot_pre_mined events whenever an electric pole is created/destroyed


  • version for Factorio 0.14.x


  • collect/drop wood option now also affects stone from rocks
  • if game.player.cheat_mode is set to true, FARL doesn't use items
  • cheat_mode/godmode does not drop wood/stone if the train is full


  • added support for Bio Industries wooden rails
  • fixed parallel tracks always having the force of the first player


  • fixed signals not being found in blueprints if placed in the wrong tile
  • fixed error with hazard-concrete


  • fixed bulldozer mode eating rails when removing curved track



  • fixed signal distance on vertical tracks


  • fixed bulldozer mode not working
  • fixed error when creating default blueprints