Automatically place correctly spaced rail signals between two selected points based on your train length.
Mods introducing new content into the game.
Version: 0.7.3
Date: 2026-07-21
Changes:
- Avoid legal-but-cramped signal positions beside unrelated rails at merges and crossings.
- Keep user-selected endpoint positions unchanged while applying clearance to generated signals.
Version: 0.7.2
Date: 2026-07-21
Bugfixes:
- Reject final ghost positions unless a momentary real signal attaches to at least one rail.
- Prevent orphan signals on elevated curves and during junction re-signalling.
- Do not reuse detached signals or old planner ghosts on repeated runs.
Version: 0.7.1
Date: 2026-07-21
Bugfixes:
- Fixed valid second endpoints being rejected on the entry end of curves, ramps, and junction rails.
- Route discovery now genuinely explores both physical directions from the first endpoint.
- One-way versus paired two-way mode now remains correct whichever route direction reaches the second endpoint.
- Paired endpoint ghosts now use the actual opposite signal side for every endpoint orientation.
Version: 0.7.0
Date: 2026-07-20
Features:
- Route discovery now tries both travel orientations from the first endpoint and chooses the shortest valid route.
- Endpoint sides still determine one-way versus paired two-way output without requiring the first endpoint to face toward the route.
Bugfixes:
- Fixed valid retries being rejected after Ctrl+Z or signal removal when Factorio exposed the first endpoint through the opposite rail-end orientation.
- Route search states now retain endpoint orientation independently, including across branches and merges.
- Successful and cancelled plans leave no temporary endpoint signals behind.
Version: 0.6.2
Date: 2026-07-20
Bugfixes:
- Fixed the non-recoverable "Entity is not rail-signal" error when placing the first endpoint.
- Temporary endpoints now use LuaEntity.silent_revive instead of reading rail-signal-only fields from an entity ghost.
- Ghost revival preserves Factorio's internal ground or elevated rail attachment without creating a robot construction job.
- Uses the Factorio 2.1 writable minable_flag property when locking temporary endpoint signals.
Version: 0.6.1
Date: 2026-07-20
Bugfixes:
- Endpoint placement no longer depends on the cursor ghost still being present when Factorio delivers the built-entity event.
- The endpoint cursor is explicitly re-equipped after the first endpoint is accepted.
- Q cancellation now listens to the real clear-cursor control instead of treating automatic cursor changes as cancellation.
- Removed the built-event prototype filter and validate endpoint ghosts in the handler for compatibility with altered signal prototypes.
Version: 0.6.0
Date: 2026-07-20
Features:
- Consolidated the interface to one native Factorio shortcut-bar button.
- Added a configurable Shift+P input and /rail-planner-settings command for the train settings window.
- Endpoint ghosts are now replaced immediately by locked, non-minable temporary vanilla rail signals.
- Temporary endpoints show actual rail-block behavior without creating construction jobs.
Bugfixes:
- Personal construction robots can no longer build an endpoint and invalidate the span before the second endpoint is placed.
- Final signal ghosts are created only after both endpoints form a valid connected route.
- Temporary endpoint signals are removed on completion, cancellation, configuration migration, and player removal.
Version: 0.5.0
Date: 2026-07-20
Features:
- Renamed the mod to Rail Signal Planner.
- Replaced the floating screen GUI with two native Factorio shortcut-bar buttons.
- Added a normal-signal shortcut for endpoint placement and a chain-signal shortcut for persistent train settings.
- Replaced the cloned endpoint prototype with tagged ghosts of Factorio's real rail-signal prototype.
Bugfixes:
- Endpoint placement now uses Factorio's own signal snapping and validation on ground and elevated rails.
- Removed the custom rail-signal prototype, eliminating collision-mask and rail-attachment conflicts with graphics and rail mods.
- Migration removes the obsolete floating and top GUI buttons.
Version: 0.4.1
Date: 2026-07-20
Bugfixes:
- Restored the base rail-signal ground and elevated collision masks required by Factorio.
- Fixed startup compatibility with Factorio HD Age: Base Game - Logistics and Factorio HD Age: Elevated Rails.
Features:
- Clicking an existing rail or chain signal while the tool is armed now reuses it as an endpoint.
- Shared branch starting points no longer depend on overlapping rail-signal prototypes.
Version: 0.4.0
Date: 2026-07-20
Features:
- Added bounded shortest-path routing through left, straight, and right rail branches.
- Added automatic one-way mode for same-side endpoints and paired two-way mode for opposite-side endpoints.
- Protected divergence and merge boundaries from ordinary signal placement and removal.
- Preserved signals that belong only to unselected branches.
- Reused existing signals at desired positions and marked obsolete real route signals for robot deconstruction.
- Kept signal removal orders and newly generated ghosts in one native undo group.
- Allowed the temporary endpoint ghost to overlap existing signals so shared branch starting points can be reused.
Version: 0.3.0
Date: 2026-07-20
Features:
- Replaced the top GUI button with a persistent bottom-right rail-signal tool button.
- Added right-click configuration with automatically saved per-player train settings.
- Added left-click activation of a hidden, ghost-only rail-signal endpoint marker.
- Made endpoint markers use a cloned rail-signal prototype for normal signal snapping and visualization.
- Generated normal rail-signal ghosts at both endpoints as well as between them.
- Grouped every generated signal ghost into one native Factorio undo item for single-step Ctrl+Z undo.
- Added Q-to-cancel behavior and automatic cleanup of temporary markers.
Version: 0.2.0
Date: 2026-07-20
Changes:
- Targeted Factorio 2.1 exclusively.
- Added a Mod Portal thumbnail and an MIT license file.
- Changed automatic vanilla spacing to seven rail tiles per vehicle with zero default clearance.
- Balanced generated blocks while guaranteeing that every generated block fits the configured train.
- Tried both primary and alternate legal signal locations, including their rail layer.
- Kept the first endpoint selected after a rejected second endpoint so placement mistakes are recoverable.
- Added GUI selection status, explicit selection cancellation, button toggling, and Escape-to-close behavior.
- Removed locale keys that could overwrite Factorio's shared gui.close and gui.cancel translations.
- Added per-player storage cleanup, bounded numeric input, and clearer expert signaling guidance.
Version: 0.1.0
Date: 2026-07-20
Features:
- Added per-player GUI for locomotive count, wagon count, clearance, and manual spacing override.
- Added two-endpoint normal rail signal workflow.
- Added automatic regular rail-signal ghost placement on unbranched spans.
- Added ground/elevated rail-layer handling.
- Added /rail-span-reset command.