Rail Logistics Daemon (RLD)


A streamlined, UPS-first train logistics daemon for megabases: tag stops as providers, requesters, and depots and RLD dispatches trains for you — with native chain deliveries and one-command in-place migration from LTN.

Content
17 hours ago
2.0
12
Trains
Owner:
ranger203
Source:
N/A
Homepage:
N/A
License:
MIT
Created:
23 hours ago
Latest Version:
1.0.1 (17 hours ago)
Factorio version:
2.0
Downloaded by:
12 users

Rail Logistics Daemon (RLD)

Automatic train logistics that stays fast at megabase scale. Tag train stops as
providers, requesters, or depots, set thresholds, and RLD dispatches trains
to move cargo from where it's produced to where it's needed. Items, fluids, and
item quality are all first-class; multiple independent networks via ID masks.

Why RLD

UPS above all. Every design decision defers to performance:

  • Event-driven engine — no per-tick polling of trains, stops, or deliveries.
  • Dirty-flagged scanning with an adaptive slice: per-tick cost stays flat as the
    base grows, and stops where nothing is happening are re-read less often.
  • No pathfinding in the match loop — candidates rank by cheap straight-line
    distance; real pathfinding only builds a committed route.
  • Native chain deliveries — a freed train goes straight to its next delivery
    instead of returning to a depot (unless low on fuel; default gate 30%). Higher train
    utilization = fewer trains = more UPS.

Features

  • Full per-stop control: provide/request thresholds (stack-based or absolute),
    priorities, train-length limits, locked slots, max trains.
  • Classic depots with depot-only refueling; closest-free-depot return routing.
  • RLD Manager — a tabbed dashboard (Stations, Depots, Trains, Deliveries, History,
    Alerts, Help). Costs nothing while closed; snapshots, never polls.
  • Status lamps on every stop, event-driven.
  • Delivery timeout, duplicate-name detection, no-path handling with automatic depot
    failover, and a full alert system.

Moving off LTN? Migrate in place

RLD includes a guided, one-command in-place migration for bases built on
LTN (Logistic Train Network) — made for megabases where rebuilding isn't an option:

  1. Disable the LTN dispatcher (LTN's own mod setting).
  2. /convertLTN-to-RLD — dry run: reports every stop, role, and warning. No changes.
  3. /convertLTN-to-RLD run — swaps each LTN stop for the RLD equivalent at the same
    position, preserving all circuit wiring
    , translating thresholds, priorities,
    network IDs, and requester setpoints.
  4. Verify (a full report lands in script-output/rld-migration-report.txt), then
    remove LTN.

The migration reads each stop's stored combinator configuration directly — thresholds
and roles survive even for stops that are idle mid-conversion.

Commands

Command What it does
/convertLTN-to-RLD [run] [collapse] Dry-run / perform the LTN migration
/rld-check-duplicate-names List stops sharing a name within a network
/rld-set <setting> <value> Change any RLD runtime setting from console/RCON
/rld-release Release trains held after a delivery timeout

Notes

  • Single-surface dispatch (deliveries don't cross surfaces).
  • Factorio 2.0+.