Train Schedule: Difference between revisions

From Captain of Industry Wiki
Jump to: navigation, search
m Mark in use
General improvements
 
Line 1: Line 1:
{{in use}}
Accessed via the toolbar, or <kbd>F7</kbd> key (by default), the interface provides the ability to create and manage train schedules for moving unit, loose, fluid or molten<ref>Molten transportation is DLC exclusive. [https://store.steampowered.com/app/4349830 Captain of Industry - Trains expanded on Steam]</ref> materials. There are two distinct types of train schedules that can be made, the '''Train Line''' added with '''Update 3''', allows the configuration of the routes between stations, setting filters on what is collected or dropped off, and departure rules. Stations can be grouped into a single stop, and the [[train]] will select by highest priority, then by round robin, a station with arrival conditions allowing. Update 4.1, brought '''Train Networks''', which bring a truck-like logistics to trains, by defining a set of stations for moving cargo between, a set for use for refueling, and a set for where to wait between jobs.
 
Accessed via the <kbd>F7</kbd> key, the interface provides the ability to manage and configure train schedules for moving unit, loose, fluid or molten<ref>Molten transportation is DLC exclusive. [https://store.steampowered.com/app/4349830 Captain of Industry - Trains expanded on Steam]</ref> materials. There are two distinct types of train schedules that can be made, the '''Train Line''' as was added with '''Update 3''', allows the configuration of the routes between stations, setting conditions on what is collected or dropped off, and when to depart. Stations can be grouped into a single stop, and the [[train]] will select the highest priority, then nearest station, with arrival conditions allowing. There also is the option, as of Update 4.1, to create '''Train Networks''', which define a set of stations for moving cargo between, a set of stations for use for refueling, and a set of stations for waiting.


[[File:A Train Line Schedule.png|alt=Screenshot of the Train Scheduler window depicting a typical train line hauling from an iron ore mine to a fabrication plant, slag collection to contract export, back to mine.|thumb|Example of a Train ''Line'' Schedule (version 0.8.3[tbc])]]
[[File:A Train Line Schedule.png|alt=Screenshot of the Train Scheduler window depicting a typical train line hauling from an iron ore mine to a fabrication plant, slag collection to contract export, back to mine.|thumb|Example of a Train ''Line'' Schedule (version 0.8.3[tbc])]]


== Train Lines ==
== Train Lines ==
These were added in [[Update 3|Update 3: Trains, Space & Asteroids]] as the only means to configure train routing. They allow specifying the routes taken by trains between stations, configuring filters for loading and unloading, departure rules, refueling stops. Train lines are uniquely capable of carrying multiple resources simultaneously, where Train Networks can only service a single resource per job.
These were added in [[Update 3|Update 3: Trains, Space & Asteroids]] as the original means to configure train routing. They allow specifying the routes taken by trains between stations, configure filters for what is loaded or unloaded, departure rules, and assigning refueling stops. Train lines are uniquely capable of carrying multiple resources simultaneously, where Train Networks can only service a single resource per job.


=== Station Grouping ===
=== Station Grouping ===
Line 16: Line 14:
Station stops may be assigned to be refuel only, trains will only visit these stations if their fuel level upon departing their previous station is below the set amount. Trains will prefer the closest refueling station of the highest priority within the group.
Station stops may be assigned to be refuel only, trains will only visit these stations if their fuel level upon departing their previous station is below the set amount. Trains will prefer the closest refueling station of the highest priority within the group.


- [ ] verify if this is true
=== Skip if station cannot accept ===
Toggle to allow trains to skip the stations in this stop, if none of the station of matching resource have spare train limit, or arrival thresholds met.
 
=== Skip if next station can accept ===
Toggle to allow trains to skip all stations in this stop, if any of the stations in the next stop can accept it. Useful for skipping waypoints used in stackers.
Note that this is not recursive, only the immediately next station is checked, (even if the next station also has this skip enabled.)


=== Waypoints ===
=== Waypoints ===
Line 24: Line 27:


== Train Networks ==
== Train Networks ==
These were added in [[Update 4.1]] and provide a means for dynamic scheduling of trains for transportation jobs between stations in the network, akin to the truck logistics. A network consists of three parts, assigning 3 different "roles" to stations:
These were added in [[Update 4.1]] and provide a means for dynamic scheduling of trains for transportation jobs between stations in the network, akin to the truck logistics. A network consists of three parts, consisting of 3 different "roles" to stations:


# Cargo Stations - Stations between which cargo will be transported
# Cargo Stations - Stations between which cargo will be transported
Line 33: Line 36:
Trains are assigned jobs, to move a single resource between two stations. There are a number of factors used to determine the jobs assigned, these factors are considered per resource in the network:
Trains are assigned jobs, to move a single resource between two stations. There are a number of factors used to determine the jobs assigned, these factors are considered per resource in the network:


# Source Station available (train limits) & priority (with round robin)
A station with a requested (or provided) resource, below (or above) it's network threshold, will make a request for that resource from (or to) any station in the same network providing (or requesting) it, so long as there is a train capable of carrying a full load and a station with capacity to fill (or take) the full load.
# Destination Station available (train limits) & priority (with round robin)
'''Exception''': Where a Provider (or Receiver) station are completely full (or empty), a train may be dispatched in-spite of it's own capacity, and move the capacity of that station instead.
# Based on station storage thresholds:
## Source station has a resource in excess of its defined threshold **AND** a suitable destination station exists with matching resources
## Destination station has a resource below its defined threshold **AND** a suitable source station exits with matching resources
# Based on available train:
## Determine sufficient quantity in source station to fill train
## Determine sufficient space in destination to accept full train load


If there are no jobs available a train not already at a waiting bay will relocate there.
If there are no jobs available, a train not already at a waiting bay it will relocate there.


=== Source Station ===
=== Source Station ===
A source station is defined as having any station module set to load. (Red slider) When the amount of the stored resource (including linked) exceeds the amount set on the red slider, the station will actively request trains for collecting the resource.
A source station is defined as having any station module set to load. (Red slider) When the amount of the stored resource (including linked) exceeds the amount set on the red slider, the station will actively request trains for collecting the resource.
A destination station may also request a resource when it falls below its defined threshold, in which case it will pull from the highest priority source station available.  
A destination station may also request a resource when it falls below its defined threshold, in which case it will pull from the highest priority source station available.  
>[!warning] Though trains will only be scheduled to retrieve from a source station when there is sufficient cargo to fill the train (and destination), mishandling of linked storage and or line trains can empty the station preventing the network train from filling it's wagons.
 
'''Warning''': Though trains will only be scheduled to retrieve from a source station when there is sufficient cargo to fill the train (and destination), mishandling of linked storage and or line trains can empty the station preventing the network train from filling it's wagons.


=== Destination Station ===
=== Destination Station ===
A destination station is defined as having any station module set to unload. (Green slider) When the amount of the stored resource (including linked) drops below the amount set on the green slider, the station will actively request trains for bringing the resource. A source station may also "push" a resource to a destination station when it rises above its defined threshold, in which case it will push to the highest priority destination station available.
A destination station is defined as having any station module set to unload. (Green slider) When the amount of the stored resource (including linked) drops below the amount set on the green slider, the station will actively request trains for bringing the resource. A source station may also "push" a resource to a destination station when it rises above its defined threshold, in which case it will push to the highest priority destination station available.
> [!warning] Though trains will only be scheduled to deliver when there's sufficient space, mishandling of linked storage and or line trains can fill the station preventing the network train from emptying its cargo.
Though trains will only be scheduled to deliver when there's sufficient space, mishandling of linked storage and or line trains can fill the station preventing the network train from emptying its cargo.


== Migrating to Update 4.1 ==
=== Considerations ===
Some list of changes to consider when loading an old save into Update 4.1


* Arrival Conditions migration
==== Network size ====
** Old "All modules full" -> New "Keep empty" + full train load enabled
It is possible to have a single network with all stations included, and trains of all resource types assigned.
** Old "All modules empty" -> New "Keep full" + full train load enabled
Trains may spend more time traveling empty to service stations or waiting bays.
Either many small trains increasing network congestion and reduces train throughput or train length exceeding station for throughput (modules), where long trains visiting short stations spend more time loading and unloading.


=== Transition to Network Schedule ===
==== Just In Time Delivery ====
Network trains are only dispatched when there is already sufficient supply AND space to move a full trains worth of cargo. The delay between moving to the pickup and to the drop may cause throughput issues.
Can be compensated with additional storage, more storage the further distances the trains must travel.
 
==== Mix with Line Schedules ====
Network Trains and Line Trains are compatible (in most cases), as they share resource reservations, a network train can be used to fix imbalances in line train supply routes.
However using a line schedule with arrival rules of "Always Visit" may introduces instances where the line scheduled train visits ahead of a dispatched network train and collects/provides more resources than the station can then service the network train.
 
==== Transition to Network Schedule ====
Considerations for moving to train logistics from lines to network:
Considerations for moving to train logistics from lines to network:


* Adjust sliders considered above
# Adjust sliders to actively request supply or collection of resource.
* Train & station storage capacity
# Add sufficient storage for a network trains capacity. (Otherwise network trains may only visit when station is completely full/empty)
* Waiting bays
# Ensure there are sufficient waiting bays, at most as many as there are train lines.
* Priorities
# Apply priorities to each resource in a network station.


== Troubleshooting Trains ==
== Troubleshooting Trains ==
Common issues encountered with trains:
Common issues encountered with trains:


* Trains with Arrival Conditions not met
=== Trains with Arrival Conditions not met ===
* No Jobs available
Arrival conditions not met can be caused by; station train limits exceeded; or station has none of: resources above keep empty, or resources below keep full; or station reservations already exceed the maximum capacity of the station; or station reservations already consume in excess of the remaining resources of the staion.
* Trains aren't collecting from this station
 
* Trains aren't delivering to this station
=== No Jobs Available ===
* Network Trains are traveling less than fully loaded
Check station network thresholds, ensure station capacity exceeds train capacity (otherwise only full/empty stations may trigger network jobs).
** Linked storage
Trains consider reservations from other networks and lines towards dispatch.
 
=== Partially Loaded Network Trains ===
Network Trains are only dispatched if they can be complete the job with a full load, except in two exceptions:
 
==== 1. Station Full or Empty ====
If a network station resource with "Keep Above" threshold reaches 0, then a train may be dispatched requesting up to the smaller of either train capacity or station capacity.
If a network station resource with "Keep Below" threshold reaches 100%, then a train may be dispatched requesting up to the smaller of either train capacity or station capacity.
 
==== 2. Linked storage / Module Balancing ====
A network train will only wait to be filled for a limited time (it will always wait to fully unload).
Consider if the connection between linked storage and station modules is too slow to keep up with train demand, as well as resources balanced between station modules has a maximum speed 400/m, may be another bottleneck.


== References ==
== References ==
<references />
<references />

Latest revision as of 08:29, 20 April 2026

Accessed via the toolbar, or F7 key (by default), the interface provides the ability to create and manage train schedules for moving unit, loose, fluid or molten[1] materials. There are two distinct types of train schedules that can be made, the Train Line added with Update 3, allows the configuration of the routes between stations, setting filters on what is collected or dropped off, and departure rules. Stations can be grouped into a single stop, and the train will select by highest priority, then by round robin, a station with arrival conditions allowing. Update 4.1, brought Train Networks, which bring a truck-like logistics to trains, by defining a set of stations for moving cargo between, a set for use for refueling, and a set for where to wait between jobs.

Screenshot of the Train Scheduler window depicting a typical train line hauling from an iron ore mine to a fabrication plant, slag collection to contract export, back to mine.
Example of a Train Line Schedule (version 0.8.3[tbc])

Train Lines

These were added in Update 3: Trains, Space & Asteroids as the original means to configure train routing. They allow specifying the routes taken by trains between stations, configure filters for what is loaded or unloaded, departure rules, and assigning refueling stops. Train lines are uniquely capable of carrying multiple resources simultaneously, where Train Networks can only service a single resource per job.

Station Grouping

Multiple stations can be assigned to the same stop, forming a group, within that group priorities may be set to determine which station the train will visit next. Of those available (according to their arrival conditions), among those with the highest priority, the nearest will be selected, at the moment of departure from the previous destination. A train will not check again while its en route.

Stations of the same name will not be automatically grouped and will have to be added to the group manually.

Refueling

Station stops may be assigned to be refuel only, trains will only visit these stations if their fuel level upon departing their previous station is below the set amount. Trains will prefer the closest refueling station of the highest priority within the group.

Skip if station cannot accept

Toggle to allow trains to skip the stations in this stop, if none of the station of matching resource have spare train limit, or arrival thresholds met.

Skip if next station can accept

Toggle to allow trains to skip all stations in this stop, if any of the stations in the next stop can accept it. Useful for skipping waypoints used in stackers. Note that this is not recursive, only the immediately next station is checked, (even if the next station also has this skip enabled.)

Waypoints

Special notice is given to the function of waypoints as part of Train Lines, these allow the specification of a preferred route by trains to reach the next stop, should multiple be possible. Their *availability* reflects that of the proceeding station, thus a train will not move to a waypoint unless the station ahead of it is available.

They may also be used for turn around points for terminus stations.

Train Networks

These were added in Update 4.1 and provide a means for dynamic scheduling of trains for transportation jobs between stations in the network, akin to the truck logistics. A network consists of three parts, consisting of 3 different "roles" to stations:

  1. Cargo Stations - Stations between which cargo will be transported
  2. Fuel Stations - Stations by which trains will visit to refuel
  3. Waiting Bays - Stations/Waypoints trains will visit to wait for their next job

Train Dispatch

Trains are assigned jobs, to move a single resource between two stations. There are a number of factors used to determine the jobs assigned, these factors are considered per resource in the network:

A station with a requested (or provided) resource, below (or above) it's network threshold, will make a request for that resource from (or to) any station in the same network providing (or requesting) it, so long as there is a train capable of carrying a full load and a station with capacity to fill (or take) the full load. Exception: Where a Provider (or Receiver) station are completely full (or empty), a train may be dispatched in-spite of it's own capacity, and move the capacity of that station instead.

If there are no jobs available, a train not already at a waiting bay it will relocate there.

Source Station

A source station is defined as having any station module set to load. (Red slider) When the amount of the stored resource (including linked) exceeds the amount set on the red slider, the station will actively request trains for collecting the resource. A destination station may also request a resource when it falls below its defined threshold, in which case it will pull from the highest priority source station available.

Warning: Though trains will only be scheduled to retrieve from a source station when there is sufficient cargo to fill the train (and destination), mishandling of linked storage and or line trains can empty the station preventing the network train from filling it's wagons.

Destination Station

A destination station is defined as having any station module set to unload. (Green slider) When the amount of the stored resource (including linked) drops below the amount set on the green slider, the station will actively request trains for bringing the resource. A source station may also "push" a resource to a destination station when it rises above its defined threshold, in which case it will push to the highest priority destination station available. Though trains will only be scheduled to deliver when there's sufficient space, mishandling of linked storage and or line trains can fill the station preventing the network train from emptying its cargo.

Considerations

Network size

It is possible to have a single network with all stations included, and trains of all resource types assigned. Trains may spend more time traveling empty to service stations or waiting bays. Either many small trains increasing network congestion and reduces train throughput or train length exceeding station for throughput (modules), where long trains visiting short stations spend more time loading and unloading.

Just In Time Delivery

Network trains are only dispatched when there is already sufficient supply AND space to move a full trains worth of cargo. The delay between moving to the pickup and to the drop may cause throughput issues. Can be compensated with additional storage, more storage the further distances the trains must travel.

Mix with Line Schedules

Network Trains and Line Trains are compatible (in most cases), as they share resource reservations, a network train can be used to fix imbalances in line train supply routes. However using a line schedule with arrival rules of "Always Visit" may introduces instances where the line scheduled train visits ahead of a dispatched network train and collects/provides more resources than the station can then service the network train.

Transition to Network Schedule

Considerations for moving to train logistics from lines to network:

  1. Adjust sliders to actively request supply or collection of resource.
  2. Add sufficient storage for a network trains capacity. (Otherwise network trains may only visit when station is completely full/empty)
  3. Ensure there are sufficient waiting bays, at most as many as there are train lines.
  4. Apply priorities to each resource in a network station.

Troubleshooting Trains

Common issues encountered with trains:

Trains with Arrival Conditions not met

Arrival conditions not met can be caused by; station train limits exceeded; or station has none of: resources above keep empty, or resources below keep full; or station reservations already exceed the maximum capacity of the station; or station reservations already consume in excess of the remaining resources of the staion.

No Jobs Available

Check station network thresholds, ensure station capacity exceeds train capacity (otherwise only full/empty stations may trigger network jobs). Trains consider reservations from other networks and lines towards dispatch.

Partially Loaded Network Trains

Network Trains are only dispatched if they can be complete the job with a full load, except in two exceptions:

1. Station Full or Empty

If a network station resource with "Keep Above" threshold reaches 0, then a train may be dispatched requesting up to the smaller of either train capacity or station capacity. If a network station resource with "Keep Below" threshold reaches 100%, then a train may be dispatched requesting up to the smaller of either train capacity or station capacity.

2. Linked storage / Module Balancing

A network train will only wait to be filled for a limited time (it will always wait to fully unload). Consider if the connection between linked storage and station modules is too slow to keep up with train demand, as well as resources balanced between station modules has a maximum speed 400/m, may be another bottleneck.

References

  1. Molten transportation is DLC exclusive. Captain of Industry - Trains expanded on Steam