Signals are used to keep multiple trains on the same rail network from colliding. In Voxel Tycoon there are two signal types, the regular signal (also called block signal, normal signal, or just signal) and pre-signal (also called chain signal). Both signal types separate the track into blocks, in which only one train is allowed at a time, except when trains ignoring signals or construction causes multiple trains to be in the same block.
Trains can only pass signals if there is a signal facing them. Placing a signal on one side of the track will make the track one-way. Placing signals on both sides will make it two-way.
A train will pass a regular signal if the block after the signal is free.
A train will pass a pre-signal if every block in the train's desired path up to and including the next regular signal is free. This is usually used for keeping intersections free and distributing trains among platforms.
The pre-signal will be green if all possible paths are free, yellow if there is at least one blocked and at least one open, and red if all paths are blocked. If a train does not need to pass completely through a sequence of pre-signals (i.e. when it wants to go to a station in the middle), but there is no eventual exit after the train's path, the train will not go through.
Trains can pass an initial pre-signal, only to be blocked at another pre-signal by another train. If this train needed to pass a pre-signal to enter the offending block, then it must be able to leave the block, thus freeing the original train. This way, the pre-signal grouping cannot be blocked forever as long as there is enough space after the exiting regular signals to fit each train.
Comparison with other games
The chain and block signals in Voxel Tycoon are almost exactly the same as the chain and rail signals in Factorio. In particular, the way two-way tracks are designated is exactly the same.
In Factorio, trains reserve blocks ahead of them so that if their momentum carries them into another block, that block is guaranteed to be free. In Voxel Tycoon, momentum takes second priority; trains will stop immediately if the block they were approaching gets taken.
In addition, trains in Factorio also reserve all chain blocks they plan to traverse through in a sequence of chain blocks, up to and including the next normal block. Voxel Tycoon trains, on the other hand, can and will enter blocks that other trains may have already looked at when deciding whether to pass a chain signal. This creates a sort of dependency tree, where first entered trains may have to wait for later trains to exit the intersection before continuing. However, since trains will stop at the next signal if any part of their path becomes occupied, and new trains will only enter when their path is completely free, this behavior does not cause gridlock.
Factorio trains will conclude their pathfinding at a station, and will pass chain signals with no real exit if the station is within the chain sequence. In fact, adding a station inside a chain sequence will turn the chain signals from red to blue. VT does not have this special case, and trains will not pass a red chain signal even if they do not need a path through an occupied block.
Voxel Tycoon signals have a "pre-signal" like OpenTTD, but it works a little differently in intersections with multiple exits. The Voxel Tycoon pre-signal will be red if the train's next signal is also red, keeping the train out of the intersection. An OpenTTD pre-signal (any signal marked with a yellow bar) has no concept of the "next" signal or where the train is going at all; it will be green if *any* of the *explicitly marked* exit signals are green (exit signals have a vertical white bar for a plain exit, or a vertical yellow for an exit signal that is also a pre-signal). This is not usually used for intersection control, but rather it is used to make trains hold short of an intersection where the train might choose among multiple paths; a typical use case is for entering a station with multiple platforms. Rather than block the entry while waiting for a particular platform, the train will wait at the pre-signal and choose the first platform that becomes available.
OpenTTD also supports path signals, so trains may reserve only the portion of the block they intend to use. These are not available in Voxel Tycoon.