✏️

Railway Dispatcher Pro

Timetable Builder

🌐 English

✏️ What Is Timetable Builder Mode?

In this mode you create your own planned timetable (which station each train leaves at what time, and where it goes). Enter it from "Timetable Builder" on the title screen.

A timetable you make can be dispatched right away with "Play This Timetable". Whether you are reworking a sandbox timetable to your liking or building one from scratch, you do it on the same screen.

Time does not run in Timetable Builder mode. The playback controls at the top do not appear either. To run trains and check the result, use Preview (test run) with F5.

🧭 The Order of Work

The tools are lined up in the "Edit Timetable" menu at the top. The order of the keys (F2→F6) is the order of the work.

  1. Scenario Settings — Decide what time the timetable starts.
  2. F2 Edit Train Paths — Create trains and set their times, routes, and stops.
  3. F3 Duty Assignment — Place the vehicles that will run those trains on station tracks.
  4. F4 Train Types — Set up train types (local, rapid, and so on) and their calling points, dwell times, and maximum speeds.
  5. F5 Preview (test run) — Actually run the trains and check that the timetable is workable.
  6. F6 Timetable Check — Check for duplicate track use and inconsistent links.
Saving is done in one place only: Ctrl+S (System → Save Timetable & Duties). The individual windows have no save buttons of their own. Your edits exist only in memory, so save whenever you reach a good stopping point.

⚙️ Scenario Settings

Menu: "Edit Timetable → Scenario Settings". Here you set the basic information for the whole timetable.

  • Start time — The time this timetable starts (in minutes; seconds are rounded down to 00). You can't set a time later than the earliest train (trying to do so shows a warning). The window shows "Earliest train: departs ..." as a guide.
  • Display name / description — The name and one-line description shown on the timetable selection screen.
These two settings are written to the file as soon as you press "Apply" or "Save" (no Ctrl+S needed). Note that this behaves differently from all other edits.

The bundled official timetables can't be edited directly. In that case "Apply" and "Save" are disabled and a notice is shown. Make your own copy with "Open Timetable" or "Save As" first, and edit that.

🚆 F2 Edit Train Paths

F2 opens the "Edit Timetable (F2 to exit)" window. The window has two tabs: "Edit Existing Train Path" and "Create New Train Path".

Creating a New Train

On the "Create New Train Path" tab, specify where the train starts and press "Create Train Path".

  • Station / Track TC — Which track at which station the train departs from
  • Direction — Whether it heads "Right →" or "← Left"
  • Train type — Local, rapid, and so on (types defined in Train Types)
  • Train no. — The train number. If left blank, one is assigned automatically
  • Car type — The rolling stock type
  • Dep. — The departure time from the origin
24:10 and 0:10 are different times. Timetables in this game treat "one day of services" with continuous times, so times after midnight continue as 24:xx, 25:xx, and so on.
  • 24:10 / 25:10 — Times when that day's services continue past midnight (such as entering the depot after the last train)
  • 0:10 / 1:10 — Early morning of the new service day (the first-train side)
This isn't only about the 24:xx hour; 25:xx, 26:xx, and later work the same way. If you mix them up, a train meant to be the last of the night will run as an early-morning first train. Enter late-night trains using times of 24:00 and later.

The route, calling points, and times at each station are laid out automatically from the track and direction you specified. The path is built by running ahead until it reaches a dead end, so the usual flow is to create it first and then fix the details.

Trains that come from or leave for somewhere off the map can be created if the map has a "Portal" (toward ...). If you choose a portal as the origin, the train appears already running at its departure time (its direction is set by the direction of the portal's track; for a single-track portal, it is the direction heading into the map). A train whose final stop is a portal disappears once it passes through the portal. To bring a train that left back with the same vehicle, link services to a train path that starts at the same portal. Trains do not stop at portals (and you can't make them stop there). Portals appear in schedules and diagrams just like stations, but the times at a portal are "the time it appears" and "the time it disappears."

Fixing a Train Path You Made

Click a train path in the window's list or on the diagram to select it (the window switches to the "Edit Existing Train Path" tab automatically).

  • Departure time / train no. — Enter each and press "Apply"
  • Changing the train type — Press the button in the "Train type" field to show a list of train types. Choosing one changes the train type, and calling points, dwell seconds, and running times are recalculated for that type (departure time, route, and final stop stay the same). Extra stops and skip stops you set at individual stations remain
  • Changing the car type — Click the button in the "Car type" field to switch the rolling stock type, and running times are recalculated for that type's performance (the departure time stays the same). On lines with car types of different maximum speeds, the running time depends on the car type. If the car type differs from the previous service, a "⚠ Match previous train path ..." button appears (it aligns everything to the end of the linked chain at once)
  • Changing the origin — Choose a station and track in the "Origin" field and press "Change". Press the station name field to choose a station from a list (you can also step through with ◀ ▶). The train path is laid out again from the new origin (departure time, train type, car type, and final stop stay the same; if the train can't proceed in that direction, it is rebuilt as a turnback). This is also where you change the track of a train leaving the depot. If the path is linked to a previous service and would no longer match that service's arrival track, you are asked to confirm that the link will be removed before the change. If a vehicle placement starts from this path, changing to another track at the same station also changes the placement's track. If you change to a different station, the placement stays as it is and a warning appears, so fix it in Duty Assignment (F3). Extra stops, skip stops, and dwell-second overrides remain after the path is laid out again. While you are choosing with ◀ ▶, the field turns orange, and the train path doesn't change until you press "Change"
  • Copy / paste — Ctrl+C / Ctrl+V. Duplicates the path shifted later by the value in the interval field (5 minutes by default). The interval adds up each time you paste again, so you can create a run of evenly spaced following trains in one go
  • Dragging a train path — On the diagram, you can grab only the selected train path and shift its times (in 5-second steps). Unselected train paths can't be grabbed, so you won't move one by accident
  • Delete — The red "Delete" button

Adjusting the Route and Stops (the "Route" Field)

The stations and switches the selected train path passes are listed from top to bottom.

  • Extra Stop / Skip Stop — Treat that station alone differently from the train type's calling pattern. Overridden stations are marked ⚡, and "Default" sets them back
  • Dwell seconds — In the "└Stop" field under a stopping station, you can change the dwell time at that station only (0–3600 seconds). "Default" removes the override
  • Switch (└Switch) — Click a switch's position to toggle it, and the route and times are recalculated on the spot. The arrival track changes too. You can't choose a position for which no route can be laid out; a warning appears and it reverts. If the change means the route no longer passes the final stop, the path changes to run on beyond it, but the original final stop is remembered ("⚠The current route doesn't pass the original final stop ..." appears under the final stop in the route list). If the route passes that station again, for example after you switch back, it terminates there again (the ★ also returns if that station had been set with "Terminate Here"). Setting a new final stop with "Terminate Here" or "Pin Here" forgets the original one
  • Terminate Here — Ends the train at that station. Explicitly set stations are marked ★, and "Unset Final Stop" sets them back
When "⚠Other direction" appears on a switch row, no route can be set with the switch in that position. Toggle the position to resolve it. When "⚠No route registered for this direction" appears, the map has no route registered, in any position, that enters that switch from the direction the train comes from. Register a route for that direction in the map editor. Pressing the name in "└Switch ..." makes that switch blink light blue on the map (its position doesn't change). If there are routes through that switch, their start levers and end levers light up too (with "⚠No route registered for this direction," only the switch lights up). Pressing a position button also lights up the location after the change. The blinking stops when you select another train path, perform an operation that changes the path's route (changing train type, car type, origin, final stop, or switch position), or leave edit mode.

Link Services (Turnback Connections)

This creates a connection in which a train, after reaching its final stop, becomes the next train with the same vehicle. You can only link to a train path where "the linking train's final stop = the other train's origin" and the other train departs after the arrival time.

  • In the window's "Link Services" field, pick a candidate with ◀ ▶ and press "Link"
  • On the diagram, you can also link by clicking the ○ at the end of a train path (final-stop end → origin end, in that order; Esc cancels)

Once linked, the following train path is laid out again so that it departs from the track where the previous service arrived. If it can't keep going in the same direction, it is rebuilt as a turnback (reversing direction).

Linking All Turnbacks at One-Track Stations

"Whole timetable: link all turnbacks at stations with only one track", above the window's train list, links, across the whole timetable, each train path that arrives at a station with only one track (such as a terminal with one platform and one track) with a train path that later departs from the same track. It has nothing to do with the train path you have selected.

  • An arriving train path is linked to the first train path that departs from the same track after it (since there is only one track, the partner is determined by that). If there isn't enough turnback time (20 seconds in the same direction, 60 seconds in the opposite direction), it isn't linked and you are notified
  • Services that are already linked are left alone. It doesn't link train paths with a different car type, or train paths that are the head of a vehicle placement
  • The first press shows how many will be linked. Press again within 6 seconds to link them (this can't be undone). Train paths that weren't linked are listed in the log with the reason (if there are no pairs to link, the reason appears on the first press). Train paths that are stabled at the end of the day normally have no partner, so only their count is shown

🔢 Bulk Train Numbering

Menu: "Edit Timetable → Bulk Train Numbering". It runs as soon as you press it (there is nothing to enter).

It follows rolling stock duties (the work each trainset does in a day) and through trains coming from portals, and renumbers trains by the rule "hour" of the departure time + number + letter. If the trainset numbers in the roster (the list of vehicles placed in Duty Assignment) are all odd (the numbers given by auto-generating duties), the number is the trainset number for outbound trains (trains heading right on the map) and the trainset number + 1 for inbound trains (trains heading left), so outbound trains are odd and inbound trains are even. For example, for trainset 01, an outbound train in the 7:00 hour is 701A and an inbound train is 702A; for trainset 03, they are 703A / 704A (the up train of trainset 99 is 700A, without adding a digit). If there is a second or third train with the same number in the same hour, the letter advances: 701B, 701C (a letter is always added). If there is even one trainset number that is even or not numeric (such as 01, 02, 03... in rosters up to v0.4.1, or KS), trains are numbered as before by "hour + trainset number + letter" (701A, 702A, 7KSA).

Through trains coming from portals aren't in the roster, but at this point each through-train trainset is assigned a temporary trainset number, and they are numbered by the same rule. Temporary trainset numbers are not written to the roster. Temporary trainset numbers are given in order of departure time, starting from the next block after the largest trainset number in the roster (including spares), leaving room for spares (example: if the roster is 01, 03...17, 31, 33, through trains get 41, 43...; if the roster also uses even numbers (such as 01–12), they get 21, 22..., one at a time). If there are too many trainsets to fit in 2 digits, unused numbers are used (if even numbers are mixed in, train numbers are assigned by "hour + trainset number"). If you renumber after adding or removing through trains, changing their departure times, or adding trainsets (including spares) to the roster, the through-train numbers may shift. Even on a map where the roster is empty and every train comes from a portal, numbering starts from 01.

Except for through trains, Duty Assignment (F3) must be done first. If the roster is empty (or all spares), trains departing from stations get no number and you are told to create the roster (if you create the roster and renumber, the through trains' temporary trainset numbers shift to after it). If no train at all can be given a number, the reason is shown and nothing is done. Spare vehicles, and trains linked to neither the roster nor a through train, are not changed.
Existing train numbers are overwritten, including ones you set by hand (such as the other railway's number given to a through train). There is no undo. Timetable Builder doesn't save automatically, so before you save (Ctrl+S), you can go back by reopening the same timetable without saving from "System → Open Timetable..." (all other unsaved edits up to that point are reverted too).

🚃 F3 Duty Assignment

F3 opens "Duty Assignment (F3 to exit)". Here you decide which vehicle waits where, and which train it becomes first.

Click a station track on the map to choose the location, fill in the form, and press "Place".

  • Car type — Choose from the car type master
  • Trainset no. — The name for that trainset (also used by Bulk Train Numbering)
  • First train — The first train it runs. Choosing "(Spare)" makes it a standby vehicle with no service

"Auto-generate duties from current train paths (place all chain heads at once)" at the bottom of the window picks the very first train path of each linked service chain and places them all at once. The quickest way is to build the framework with this first, then fill in the trainset numbers. Auto-generated trainset numbers are odd only (01, 03, 05...), and where the car type changes, numbering starts at the next block, leaving room for spare trainsets (for example, 9 trainsets of the 1000 series get 01–17, and the next type, the 2000 series, starts at 31). This is so that Bulk Train Numbering can use even numbers (trainset number + 1) for inbound trains. If there are too many trainsets to fit in the odd numbers up to 99, unused odd numbers and then even numbers are used to keep them to 2 digits (if even numbers are mixed in, train numbers are assigned by "hour + trainset number").

The roster (the list of placed vehicles) is the master record. Only placed vehicles and the train paths linked from them actually run. While the roster is empty, all train paths run as a provisional transitional behavior, but always place vehicles for a real timetable.

Check results appear at the top of the window. ✖ (errors) include two placements on the same track, two assignments to the same train, and references to trains that don't exist. ▲ (warnings) include origin mismatches, car type mismatches, and "Not running because it has no placement". If a train that should run isn't running, look here.

🏷 F4 Train Types

F4 opens "Train Types (F4 to exit)". It has 4 tabs.

Train Types

Edit each train type's Name, Short (2 ch.), Short (1 ch.), and Timetable color (#RRGGBB). Add more with "+ Add New". Train types in use can't be deleted (the list shows how many trains use each one).

Pressing one of the color swatches below the timetable color field enters that color in the field (confirm with "Apply Changes").

Enter a Max speed (km/h) and trains of that type won't go faster than that (blank means no limit). Use it, for example, when faster train types catch up with the train ahead on a crowded timetable. It works as an upper limit, so trains never go faster than the track speed limit, the line's maximum speed, or the vehicle's maximum speed. Planned running times are also recalculated with this speed.

Calling Points

In the table of stations (rows) × train types (columns), click a cell to toggle ● = stop / - = pass. Trains always stop at their origin and final stop, regardless of the pattern.

Dwell Time

Choose a station and set its default dwell seconds and per-train-type overrides. Leaving a field blank falls back to the next level up (train type override → station default → the standard 30 seconds).

Section Speeds

You can change the maximum speed per train type and per section between stations. Choose a train type with ◀ ▶ at the top, choose a section from the list, enter a speed, and press "Apply". Sections are pairs of adjacent stations that this timetable's train paths pass through (including passed stations, depots, and portals), and each row applies in both directions. Leaving it blank ("Clear Override") returns to the train type's maximum speed. Section values take priority over the train type's maximum speed, so you can make just that section faster or slower (they never exceed the track, line, or vehicle limits). Tracks inside a station are run at the value of the section on the arriving side.

Sections left blank ("per train type") run at the train type's maximum speed. If you change maximum speeds and close F4, the times of every train path are laid out again. If any arrival becomes later so that a link now arrives at or after the next service's departure, a notification shows the count and examples. Fix the departure times.

Changes to the master are applied to the timetable when you close F4. Saving them to the file also requires Ctrl+S. Note that there are two steps.

▶️ F5 Preview (Test Run)

F5 opens "Preview (Test Run of Planned Timetable)". You can check the planned timetable by running it with the same signal and route system as in actual play.

This isn't just a replay of times, so delays from waiting to meet on single track, waiting behind a train ahead, and waiting at signals happen just as they do in real play. Here you can find timetables that "work on paper but jam in practice." No incidents occur, and results are not saved.

  • ▶ Play from Start — Runs from the start time
  • Pause / resume
  • Speed − / + — Choose from 1, 2, 5, 10, 20, 50, or 100× (you can also use keys 1–7). You can't change the speed until playback has started
  • Fast-forward Here — Enter a time to jump ahead. Drawing stops so it runs as fast as possible, which is handy when you only want to see the evening situation. Press Space to interrupt
  • ■ End Test Run and Return to Editing — Rewinds to the start time and returns to train path editing (F2)
F5 and the window's × only close the window; the trains keep running. To go back to editing, use "■ End Test Run and Return to Editing". Also, editing the timetable automatically returns the preview to the start time. Closing the train path editing (F2) or Duty Assignment (F3) window without changing anything doesn't return it. If you change placements in F3, they are applied when you close the window, and the preview returns to the start time.

🔍 F6 Timetable Check

F6 opens "Timetable Check (F6 to exit)". It lists inconsistencies in the timetable and places likely to jam. Click a row to select that train path and scroll to the time of the problem.

🔴 Critical — Trains won't run correctly unless you fix these

  • The timetable is empty
  • Times go backward within the same train
  • The linked-to train doesn't exist
  • The linking train's final stop doesn't match the linked-to train's origin
  • The turnback time is negative (the next train departs before this one arrives)

🟡 Warning — Trains will run, but will jam waiting at signals

  • Two trains start from the same track circuit less than 2 minutes apart
  • Trains whose occupancy times overlap on the same track at the same station
  • Linked trains have mismatched car types (they run with the same vehicle, so the actual running uses the previous train path's car type performance)

Car type mismatches can be fixed all at once to the first car type of each linked chain with the "Match Car Type to Prev. Train Path" button at the bottom of the check window (running times are recalculated too).

Warnings don't prevent you from drawing the timetable. When trains actually run, signals and routes prevent collisions, and trains simply wait. This is a drafting aid, not a safety device. Train paths involved in warnings are highlighted in red on the diagram even when the window isn't open.

After Fixing the Map, "Recalculate All Paths"

When you fix the map's tracks, levers, or routes, the routes of train paths drawn before that may no longer match the new map, and warnings such as "No route can be set with switch ○ in normal" may appear (the same happens when a subscribed map changes because its author updated it). "Edit Timetable → Recalculate All Paths..." (also available from "Recalculate All..." in the check window) lays out the routes of all trains again at once.

  • Just opening the window changes nothing. Read the notes, then press "Run".
  • The origin track, departure time, final stop, switch positions you chose by hand, and extra stop and dwell time overrides are kept. Switches set to a position with no valid route are automatically changed to a position that has a route.
  • The results list shows train paths whose track or final stop changed and train paths that couldn't be fully fixed. Press one to select that train path.
  • Before running, the current timetable (including unsaved edits) is backed up automatically (the 10 most recent). Right away, you can use "Undo"; even after closing the window or quitting the game, you can choose one from the backup list to restore it (press "Restore This Backup" → "Really Restore," two presses). "Undo" becomes unavailable once you edit a train path afterward (you can still restore from the backup list). Backups stay only on this PC and are not synced with Steam Cloud.
  • The recalculation results are not saved yet. Check them, then save with Ctrl+S.
Small map changes are often fixed this way, but if the map changed a lot, recalculating can make routes even stranger. In that case, use "Undo" or restore from a backup, and fix the train paths one at a time.

Diagram Views After Fixing the Map

Diagram views (combinations of what's shown, such as the main line or "toward ...") are saved with the timetable. When you open a timetable after fixing the map, the views are readjusted as follows, and you are notified.

  • Added stations — Added to views that include a neighboring station connected by track. Stations whose destination view can't be determined appear only in "Whole line" (add them with "Edit" at the top).
  • Added depots and headshunts — Added to automatically created views that include a neighboring station. They aren't added to views you made yourself, so choose them with "Edit" if you need them.
  • Removed stations — Taken out of views. Automatically created views where the station at the far end was removed and no stations remain that aren't in other views are deleted. Views you made or modified yourself aren't deleted; you are notified instead.

An automatically created view also becomes one of your own views once you save it with "Edit," and from then on it is never deleted or given depots on its own (stations removed from the map are still taken out). The readjusted contents are saved together when you switch diagram display options (showing stations, depots, and headshunts, or expanding tracks) or save or delete with "Edit." If you want to rebuild all views with the current grouping, delete the views with "Edit" so that only "Whole line" remains. The next time you open the timetable, the per-route views are recreated automatically (views you modified are recreated too).

💾 Saving and Switching Timetables

Saving

"System → Save Timetable & Duties" (Ctrl+S) saves the planned timetable, duty assignments, train types, calling patterns, and dwell times all together.

Saving Under Another Name / Opening Another Timetable

  • "System → Save As..." — Saves the current contents under a new name and switches to that timetable. Official timetables are never overwritten
  • "System → Open Timetable..." — Lists "My Timetables" (ones you saved) and "Official Timetables" (bundled). To edit an official timetable, go through "Duplicate & Edit" to make your own copy first

A duplicated and edited official timetable is shown with [editing official], and "Revert to Official" discards your changes and restores it (press twice to confirm).

Deleting Your Own Timetables

  • In Title → Timetable Builder, choose one of My Timetables and press "Delete This Timetable..." at the bottom right (or Delete). Press "Delete" in the confirmation window to remove it
  • While editing a timetable, use "Delete" on the My Timetables row in "System → Open Timetable..." (press twice to confirm)
  • The timetable that is open and official timetables can't be deleted. Deleted timetables can't be restored, so if you want to keep one, copy its folder in the save location below

Save Location

Windows: C:\Users\<username>\AppData\LocalLow\Tadimaru\CTCLive\Data\<company ID>\Scenarios\<timetable ID>\
Mac: ~/Library/Application Support/Tadimaru/CTCLive/Data/<company ID>/Scenarios/<timetable ID>/

It contains a set of CSV files (PlannedTrains.csv, PlannedTimings.csv, Placements.csv, TrainClasses.csv, and so on). To make a backup, copy the whole folder.

🔁 Playing a Timetable You Made

"System → Play This Timetable" switches to play mode (during play, the same menu item becomes "Edit This Timetable").

Switching modes reloads the screen, so unsaved edits are lost. Choose "Save & Play" on the confirmation screen to save before switching.
📮 For unresolved problems or bug reports, please contact us through the contact form. Contact