Terminal stations had the main problem that all trains had to get in and out at the same side of the station, reducing efficiency considerably. A much more efficient solution are through stations, sometimes also called RoRo (Roll On, Roll Off). This means that trains enter the station at one side and leave it on the other one. All the designs highlight various aspects of through stations, and some of these designs should be combined to get the best results.

Through station
TTDPatch Not in OpenTTD

This is the basic through station. Trains come from the left and leave to the right, just to follow the loop and return back to the left.

Signalling is a bit more complex: There is a path signal to the left, while in front of the platforms there are one-way signals with inverted routing. This means, for the pathfinder these signals act as two-way signals. That tricks the pathfinder into treating all platforms as equal choices, so that all platforms can be accessed. Standard two-way signals are not placed here for one reason: If trains are allowed to reverse at stations, they might do that and enter the junction, even though they could not find a way to their destination there.

Through station
TTDPatch OpenTTD

This setup is common for double track layouts. One could also use path-based signals, but they would only give a tiny advantage on the entry side.

Through station
TTDPatch Not in OpenTTD

This advanced design incorporates two queueing tracks to the right of the station, where trains will wait if all platforms are occupied. The entry side makes use of PBS as the block is quite lengthy. On the exit side, standard signals are used, PBS does not give any advantage there anyway.

Through station
TTDPatch Not in OpenTTD

This is a design for a freight station at a secondary industry, such as a factory or a steel mill. Trains delivering raw materials pass the "freight in" waypoint and have their dedicated platform to unload. The trains that load the produced goods pass the other waypoint and have three platforms to wait for full load, plus additional queuing tracks if all platforms are full.

Through station
TTDPatch Not in OpenTTD

Sometimes there is no room for waypoints, or there are already too many stations. In such a case, one can built signals with routing restrictions. his layout works just like the one before, but the signals A and B replace the waypoints. To do that, signal A has the restriction "Train cargo is not goods" (to prevent goods trains going there), signal B is restricted by "Train cargo is goods" (to prevent raw material trains going there).

Through station
TTDPatch Not in OpenTTD

Especially for smaller through stations along double tracked lines, it may be sufficient to use two or three platforms and to allow trains to use these platforms in both directions. This requires through signals as shown in the picture. Here, only the middle track is bi-directional, the outer platforms can only be used in one direction. If more bi-directional platforms are necessary, they have to be signalled in the same way as the middle platform in this example.