User Tools

Site Tools


Minetest Forum
Content Database
Git Repository
Bug Tracker


Track Circuit Break

The Track Circuit Break (TCB for short) is a key item in the Interlocking System system. It is analogous to real railway interlocking equipment, where track circuits are used to detect the presence of trains in a block.

Track Assignment

A TCB must be assigned to a specific node of rail in the game world. After placing the TCB, right-click on it and then punch the rail you wish to assign it to. The specific track to which a TCB is assigned is not necessarily related to where it is located in the game world.

A TCB divides the tracks on both sides of itself into different interlocked sections. When the TCB is created, it does not belong to any sections. After assigning the TCB, it can then be added to sections or used to create new sections where none exist. You do not have to apply interlocked sections to all of your track: Since TCBs do not have to be assigned to sections, the default is to show that the end of interlocking occurs on sides with no section.

Basic Formspec

Once you have assigned a TCB, you can right-click and open its formspec. From there you can create interlocked sections on either side.

The Track Circuit Break configuration GUI with no sections assigned, which is labelled as "Track Circuit Break Configuration" and below has a label "Side A: End of interlocking" with a button below labelled "Create Interlocked Track Section", a gap, then a button labelled "Assign a signal", and similarly below that there is a Side B with label, button to create interlocked signals and button to assign a signal.

When you open a TCB, a doodad appears in the game world that indicates which side is which on the TCB. A red A indicates side A and a green B indicates side B, with a white and magenta stripe in between them. When you look directly at this doodad, hover text appears in the minetest UI which tells you the name of the section that applies to either side.

View of the TCB doodad showing sides A and B as well as the hover text naming...

Signal Assignment

Once a section is created, you can assign a signal to a track section. You should place signals so they face the section that they will allow trains to enter (the section to which they will be assigned).

Screenshot of a straight track section with a TCB on the left and a signal on the right. The TCB doodad is showing. There is a label left of the TCB that says "Assign signal to this side of the TCB (here: Side B)" and an arrow points left above that label. There is a label right of the signal that says "Signal lamps in this direction" and an arrow points right above that label.

Formspec Options

This is what a formspec looks like on a TCB with a signal assigned to one side (side A) and a track section without a signal on the other side.

The Track Circuit Break configuration GUI with one section assigned. On the button set for section A, in addition to the Show track section and Signalling buttons, in between those buttons are two new buttons: one on the left labelled "Update near TCBs" and the other on the right labelled "Remove from section". The Section B area is unaffected as it has nothing assigned.

Show track section

This button will open another formspec that shows information about sections. The section formspec lets you edit the section name. It is recommended to set meaningful section names instead of the generated numbers that advtrains produces.

The Track Section GUI, which is labelled "Track Section Detail - 927119. Use the 'Join' button to designate rail crosses and link not listed far-away TCBs. Below that there is a text field labelled "Section name" with the text "West Junction" in it and a "Set" button to the right. Below that there is a list of TCBs in the format "(x, y, z) / Side", the first of which is "(-95,8,-300) / B". To the right of that are two buttons "Join into other section" and "Dissolve Section". Below the list of TCBs is a label that says "No trains on this section." and to the right of that is a button labelled "Reset section state"

The section formspec shows all of the TCBs in the section at their coordinates along with which side of the TCB is assigned to the section. In case you are debugging your interlocking setup you may wish to visit each of these locations and check that they are TCBs that correctly belong in that section and are on the appropriate side.

The Join into other section button allows you to join any two sections. This is most useful for rail crosses. To join sections, press the join button on one section, then go to the TCB with the other section, open its section and press the join button there.

 A picture of two tracks crossing at 90°, with four TCBs, each 3 nodes away from the centre where the tracks cross. The TCBs all have their doodads showing. The tracks are not connected with a diamond crossing but just use ordinary straight tracks.

This rail cross can be made into one section by opening one of the sections, starting the join and then finishing it on another section:

A cropped screenshot of the Track Section Detail GUI with the button normally labelled "Join into other section" now instead labelled "Join with Middle Station North", which is the name of the section that was chosen with the "Join into other section" button earlier.

(Please note that it is not necessary to use this method if you are using diamond crossing nodes, since all track connections are explored when making a section, even ones that a train can't travel along. The example was created before those were added to Advtrains, when tracks couldn't intersect like they can with diamonds and the only way to make them cross without using turnouts was clever placement.)

Finally, you can dissolve sections from this formspec. This may be helpful to do in the event that your section becomes invalid, especially since it is often easier than visiting each of the TCBs in the section to remove the inappropriate ones. It is also helpful when dismantling tracks.

Update near TCBs

This button will add any sides of TCBs that are not assigned to the interlocked section to the section of the TCB you have open. For example, if you add a switch with a TCB inside one of your current sections, you can either activate the Create Interlocked Track Section button on that new TCB or Update near TCBs on one of the existing TCBs in the section.

This option will not remove any TCBs from a section, including that may not be appropriate in a section, such as if you broke up a section into smaller sections. In that case, the safest thing to do is to dissolve the section.

Remove from section

This button will remove the TCB from the section. Use this when it does not belong to that section or when you remove tracks.


A signal that is assigned to a section on a TCB will have all of its routes start at that section on that TCB. For information on signalling, see this detailed wiki page.

Removing TCBs

TCBs cannot be removed so long as they are assigned to any track sections. You must remove them from all sections before they can be picked up. Generally you want to remove all trains from the area in case of collision, then remove the TCB from both sections with the TCB GUI.

If you are dismantling whole sections of track, the easiest thing to do is to start by dissolving sections, to reduce the amount of clicks compared to removing every TCB from every section manually.

usage/nodes/tcb.txt · Last modified: 2023-12-12 02:35 by blockhead