Modules

Advanced Trains, as it is distributed, is a modpack. The mods contained are like modules in that you can enable/disable them as you want.

The advtrains module provides the core functionalily of Advtrains. It implements all logic around trains and wagons, the node database that provides persistent storage of advtrains-related nodes, and the simple ATC system. By itself, it does neither provide rails nor trains. It provides APIs to add tracks and wagons, and a variety of callbacks to hook into core mechanisms1).

This module adds the default tracks, which are so far the only existing track type. However, advtrains in theory supports different track types (like different gauges, cog railways, maglev), which has been showcased by the advcarts mod.

Depends on: advtrains

These modules add various wagons using the advtrains.register_wagon() API. The advtrains core modpack no longer includes any of these mods; the ones that were previously included are now in a modpack called basic_trains. This naming convention should still be followed for any mods that add new wagons.

Depends on: advtrains, advtrains_train_track

This module adds the LuaATC system.

Note that the LuaATC system doesn't require advtrains_interlocking or advtrains_line_automation to be enabled, and thus can be used completely independent of it. However, the LuaATC API can be used to interface with the interlocking and line automation system when those modules are enabled.

Depends on: advtrains

This module adds the interlocking system. Its user guide is yet to be moved to the wiki, and is currently accessible here.

Depends on: advtrains

This module aims to provide a feature-rich timetable-based automatic train operation system. It currently only provides the Station Rail and the Railway Time system, which can be interfaced from LuaATC.

At the moment, it uses features from the interlocking system and therefore depends on it. This may change in the future.

Depends on: advtrains, advtrains_interlocking

This module adds signals in the style of the german Ks signal system. In contrast to the plain green-red signals from advtrains core, those signals implement the interlocking signal API, and can be used to signal most signal aspects that the interlocking system supports.

Although this can be seen as a reference implementation of a signal system, advtrains is not limited to these signals. If you are a railway enthusiast and interested in adding another signalling system from your country, I encourage you to add it.

Depends on: advtrains_interlocking

This module used to provide a simple map view to plot tracks and monitor trains on them. It is broken since about 2 years, and should not be used. It is currently not included in the release packages in ContentDB. A revival is planned.

Depends on: advtrains

1)
Most of this is documented as comments in the code, it should be added to the dev section of this wiki