Railwright
Build smarter stations.
⚠️ Beta / Work in progress
Railwright is currently in active development and should still be considered beta software.
The core station generator is working, including item stations, fluid stations and the supported native Factorio 2.1 stacker layouts. However, Railwright is not yet feature-complete compared with the full vision for the project.
New features, behaviour options and quality-of-life improvements are still planned and being actively developed.
Some options may still change between versions as the mod grows, and unusual combinations of settings or modded entities may occasionally require additional testing or adjustment.
Current limitation: Diagonal stackers
The supported Left-Right and Right-Left parallel stackers use native Factorio 2.1 rail geometry and are working.
Diagonal stackers are temporarily unavailable.
An experimental Factorio 2.1 implementation was developed, but it was not reliable enough across different train lengths, lane counts and signal layouts to include as a supported feature.
If you have experience with Factorio 2.1 rail generation and have an idea for a reliable diagonal stacker implementation, contributions are very welcome. Feel free to open an issue or pull request on GitHub.
Railwright is already usable, but there is still plenty more planned.
Railwright is an in-game train station blueprint generator for Factorio 2.1.
Instead of manually rebuilding the same train station layouts over and over again, Railwright lets you configure the station you need and generates the finished blueprint directly into your cursor.
Railwright is a modern successor inspired by BurnySc2's original Train Station Blueprint Creator and the later web-based version of that project, rebuilt around the current Factorio runtime API.
Features
Item loading and unloading stations
Create configurable cargo stations with support for:
- Loading stations
- Unloading stations
- Single-sided or double-sided layouts
- Configurable locomotive and wagon counts
- Single-headed and double-headed trains
- Optional train placement in the generated blueprint
- Configurable inserters
- Configurable chests
- Configurable transport belts and splitters
- Inserter item filters
- Chest slot limits
- Logistic requester and buffer chest requests
- Request-from-buffer behaviour
- Configurable belt output direction
Railwright uses the actual prototypes loaded in your game, allowing many compatible entities and items from other mods to appear directly in the selection interface.
Fluid loading and unloading stations
Railwright can also generate complete fluid stations.
Configure:
- Fluid loading stations
- Fluid unloading stations
- Pump side
- Pump type
- Storage tank type
- Pipe type
- Number of storage tank columns
- Optional pipe connections between tank rows
The fluid generator automatically lays out the station based on the selected train configuration.
Train stackers
Generate native Factorio 2.1 train stackers without manually placing every rail section and signal.
Currently supported layouts:
- Left-Right
- Right-Left
- Configurable holding lane count
- Configurable locomotive and wagon count for sizing the stacker
Both supported layouts use native Factorio 2.1 rails and have dedicated geometry designed for their respective directions.
Diagonal stackers are temporarily unavailable.
The experimental implementation was removed because it could not yet generate reliable results across different train lengths and lane counts.
If you have an idea for a reliable modern Factorio 2.1 diagonal stacker implementation, contributions and pull requests are very welcome.
Station behaviour
Railwright includes more than simple entity placement.
Generated stations can include configurable behaviour such as:
- Green circuit network wiring
- Red circuit network wiring
- Circuit connections between both sides of a station
- Madzuri-style balanced loading and unloading
- Automatic locomotive refuelling
- Configurable fuel type and amount
- Manual train limits
- Dynamic train limits
- Circuit-controlled train stop enable/disable conditions
- Optional lamps around the station
The goal is to generate stations that are not only correctly laid out, but already contain much of the behaviour and circuit logic you would normally have to build manually.
Mod compatibility
Railwright does not rely entirely on a hard-coded list of vanilla items.
Entity and item selectors use the prototypes that are actually loaded in the current game.
This allows many compatible modded entities to be selected, including alternative:
- Inserters
- Chests
- Belts
- Splitters
- Pumps
- Storage tanks
- Pipes
- Fuel items
- Filter and logistic request items
Not every Factorio mod can be detected or supported automatically.
Mods can introduce entities with completely different behaviour, custom scripting or unusual prototype definitions. Railwright therefore cannot guarantee that every modded entity will work correctly simply because it appears in a selector.
Compatibility improvements may be added where practical, and bug reports involving modded entities are welcome.
How to use
- Open or load a game with Railwright enabled.
- Add the Railwright button to your shortcut bar if it is not already visible.
- Click the Railwright shortcut.
- Select the type of station you want to create.
- Configure the train layout, station entities and behaviour options.
- Click Create blueprint.
- The finished blueprint is placed directly into your cursor.
You can then place it, save it to your blueprint library, or modify it however you like.
Why Railwright?
Large Factorio factories often contain dozens or even hundreds of train stations.
Building every station manually becomes repetitive, especially when you want them to follow the same standards for:
- Train length
- Belt layout
- Inserter configuration
- Circuit wiring
- Refuelling
- Train limits
- Loading balance
Railwright turns those repeated design decisions into configurable options.
Instead of rebuilding the same station for the hundredth time:
Configure it once, generate it, and get back to building the factory.
Development
Railwright is under active development.
Version 0.3.3 provides a working foundation for item stations, fluid stations and native Factorio 2.1 parallel stackers, but the project is not yet feature-complete compared with the full vision for Railwright.
The goal is to continue expanding and improving the generator while keeping the features that already work reliable and useful.
Planned and investigated improvements include:
- A reliable native Factorio 2.1 diagonal stacker implementation
- More advanced dynamic train-limit configuration
- Continued improvements to mod compatibility where possible
- GUI quality-of-life improvements
- More localisation
Railwright is developed openly, and contributions are welcome.
If you have ideas, working blueprint references or code improvements, feel free to open an issue or pull request.
Suggestions, testing and bug reports are also greatly appreciated.
Credits
Railwright is an independent modern implementation inspired by the work of BurnySc2, creator of the original Burnys Train Station Blueprint Creator and the later web-based Train Station Blueprint Creator.
That original project provided the idea, many of the station concepts, and the foundation that eventually led to Railwright.
Railwright is maintained by goakiller900.
Source code and issues
Railwright is developed openly on GitHub.
Source code, development builds, bug reports, feature requests and contributions:
https://github.com/goakiller900/Railwright
Build smarter stations. Build bigger factories.