🤝 What You Can Do in Co-op
In online co-op, you and your Steam friends, up to 4 players, dispatch together on the same line with the same timetable. Share the work by assigning stations, point things out to each other with pings ("Look here"), and keep the trains running as a team.
- Modes: free play (sandbox) only. Scenarios and tutorials are single-player.
- Lines: the lines included in the game and lines from the Workshop. Your own lines can be used once you publish them to the Workshop (Lines and Timetables).
- Rooms: one player creates a room (the host), and the others join with a room code or an invitation. The host chooses the line, timetable and start time.
- Joining mid-game: you can join a room that is already playing. Players who left can rejoin, too.
✅ What You Need
- Everyone taking part owns this game (Windows and Mac players can play together).
- Everyone has Steam running and is logged in.
- Everyone has the same game version. If the versions differ, "Game versions differ" is shown and you can't join. Update the game to the latest version on Steam.
- To use invitations, you need to be Steam friends with the other player. If you only join with a room code, you don't need to be friends.
🏠 Creating a Room (Host)
- On the title screen, choose "Co-op" → "Create Room".
- Just as in normal free play, choose the line → timetable → start time.
- When the game screen opens, a 6-digit room code appears in the room window. Copy it with "Copy" and give it to the people you're playing with. You can also send Steam invitations from "Invite Friends".
- Once everyone has joined, start with "Gameplay" → "Start Game".
🚪 Joining a Room
Joining with a room code
- On the title screen, choose "Co-op" → "Join with Room Code".
- Enter the 6-digit number you got from the host and press "Join".
- The same line and timetable as the host's open, and you join the game. Everyone's clock stops until you have finished syncing.
Joining by invitation
- On the title screen: accept the Steam invitation and you go straight into the room.
- When the game isn't running: the invitation launches the game and takes you straight into the room.
- While playing on another screen: you are asked "You've been invited to co-op. Leave this screen and join on the host's line?" In free play, you can also save your progress before joining. If you cancel, the invitation is declined.
If you don't have the host's line
If the host created the room with a Workshop line and you aren't subscribed to it, a "Subscribe on Workshop & Join" button appears. Press it to start downloading the line; once it finishes, you join the room automatically. If your subscribed copy of the line is an older version, the button becomes "Update on Workshop & Join". While waiting, you can stop with "Back" (the subscription is kept).
🚦 Dispatching Together
Anyone can issue the usual orders: levers, routes, holds, delayed departures, timetable changes and so on. If two players operate the same thing at almost the same time, the operation that arrives first goes through.
| Display | Description |
|---|---|
| Assigned stations | The host assigns a player to each station in the room window. Station names on the map turn that player's color. It is only color coding; you can still operate stations that aren't assigned to you. |
| Other players' cursors | You can see other players' mouse cursors in their color, with their name. When a cursor is off screen, an arrow appears at the edge of the screen. Click the arrow to move your view there. |
| Action log | Other players' actions appear in the notification log with their name, as in "(name) ...". |
| Pending | A route set by a joining player takes a moment to reach the host and be applied. Meanwhile, a ring in your color appears around the lever, and "n pending" appears in the band at the top of the screen. |
| Pause | When anyone pauses, everyone is paused, and anyone can resume. The band shows "Paused (by (name))". |
Pings and quick messages
Hold down Q and click on the map to bring up a small menu of quick messages. Choose one and a ping in your color is placed at that spot (on the train, if you clicked a train) for 10 seconds, and it appears on everyone's screen and in the notification log. When another player's ping arrives, a short notification sound plays.
Available messages: "Look here", "I'll hold", "I'll release the hold", "I'll set the route", "Running late", "Understood", "Please handle this"
Undo
Undo and redo only affect orders you issued yourself. Other players' orders are not undone.
👑 What Only the Host Can Do
- Changing the speed (fast-forward)
- Time jumps
- Triggering incidents (the host's setting is also used for the frequency of random incidents)
- Saving and loading (when the host loads, everyone gets the same state)
- Assigning stations and removing players
If a joining player presses any of these, "Only the host can do this" is shown.
⏩ A Note on Fast-Forward
Fast-forward goes up to 100x. However, at 50x or more, some joining players' PCs may not keep up with the host, and "Catching up with the host..." appears and trains may jump on screen. If this bothers you, keep it at 20x or less.
If you fall out of sync with the host, "out of sync with the host, resyncing" appears automatically and your game is brought back in line with the host's state. You can keep playing as is.
🗺️ Lines and Timetables
- Lines included in the game: everyone can play them as is.
- Workshop lines: everyone needs to be subscribed. Players who don't have one can subscribe when they join (If you don't have the host's line).
- Your own lines: once published to the Workshop, the creator can use them as the host (others subscribe and join). If you fixed the line locally and haven't republished it, "Couldn't join because your local line differs from the Workshop version" is shown.
- Your own timetables: the host's timetable is sent to joining players automatically. The received timetable is deleted when that session ends.
👋 Leaving and Ending
- A joining player leaves: "Leave" in the room window. You can keep playing the game solo. You can rejoin with the room code.
- The host ends the session: "Close Room" in the room window. Co-op ends for everyone, and the joining players see "Co-op has ended" with "Continue Solo" and "Back to title". The same happens if the host closes the game.
- Removing a player: the host can remove other players from the player list (a confirmation appears). Removed players can't rejoin that room.
- If the connection drops: after about 10 seconds, the player is treated as having left. Once reconnected, they can join again.
❓ Frequently Asked Questions
"No room found with that room code" appears
Check that the number is correct. If the host has closed the room, you can't join with the same room code.
Other players' movements sometimes jump
This is more likely at high fast-forward speeds (A Note on Fast-Forward). Try lowering the speed.
I was asked to send the log from when we went out of sync
When the game goes out of sync, a diagnostic log is saved in the CoopLogs folder inside the game's data folder. If you send it with your bug report, it helps us find the cause (section 6 of the Privacy Policy).