rco-steamline/config/:
config.lua: the general options, companies, trains, the boiler, keys, passengers, freight, wear and the server trains;offices.lua: the railroad offices and the workshops;supply.lua: the coal piles and water towers.
The basics
Config.Volume sets the resource’s own sounds, from 0 (off) to 1. Each one fades out with distance.
Companies
No company, no train: every player who wants a train opens a company at a railroad office, even alone. The roles only control the company; anyone in it drives, shovels coal and checks tickets.Wear and repairs
Wear goes from0 (new) to 100 (worn out) for the wheels, the brakes and the boiler. Worn wheels make the train slower, worn brakes stop it worse and a worn boiler makes less pressure.
All of them are inside
Config.Wear. Wheels at 50 wear cost 50 × 50% × 0.4 = $10 to repair. See Maintenance.
Trains
The catalogue
Config.Trains is what the office sells. A company buys the engine once (it comes with its tender), then its cars one at a time (Config.Cargo.Price).
label, the price (paid from the company’s till) or the description shown in the catalogue. Keep the name steamline.
The yards
Config.Yards lists the stations where trains are called and parked. A station not listed is not a stop: no tickets, passengers or freight there.
The booths
Config.Booths puts the Steamline booth of each station, where trains are called and freight contracts are taken: [station id] = vector4(x, y, z, heading of the counter). A station not listed uses its yard’s call point.
Boiler and cab
Pressure in psi, coal in kg, water in litres, time in seconds. All of them are insideConfig.Boiler.
Every call is a warm start: the fire is lit and the boiler has pressure, so the train can leave at once.
Keys
Keys are written as the game’s code of the key, not as a letter. The keys page has the code of each one. Some keys are shared on purpose: each prompt only shows where the other does not. Avoid F (on foot it is also melee, hogtie and cut free), the number keys (hotbar) and the arrows.
All of them are inside
Config.Keys.
Coal and water
The coal piles and water towers are in
config/supply.lua, one per station with the station’s id, plus towers along the line:
Edit, remove or add entries freely. A tower along the line has only
water.
Offices and workshops
config/offices.lua has the railroad offices: the station’s office where companies are opened and run, which is also its ticket counter.
Config.Workshops lists the workshop sidings, where a stopped company train is repaired: label, coords (the middle) and radius (how close, in metres, the train must be). Annesburg, Emerald, Flatneck and Heartland Oil Fields come ready. Every station repairs too: a company train stopped within its yard’s radius gets the same repair. Where a station and a workshop overlap, the workshop is used.
Passengers
Money in $, time in seconds, distances in metres. All of them are insideConfig.Passenger.
A 10 km trip costs
0.10 + 0.40 × 10 = $4.10.
Freight
Money in $, time in seconds. All of them are insideConfig.Cargo.
Track maintenance
Repair points appear along the lines. A company with a train stopped near one repairs it: the caboose’s workers do it when the train has a caboose, or the player does it by hand with the tools from the tender.Customisation prices
Config.CustomPrices is what each change of the engine’s look costs, paid from the company’s till. Taking a piece off is free.
Server trains
The server’s own trains run a timetable when no player train needs the line. A train exists in the world only near players; far from everyone, its place is worked out from the timetable. It gives the line up to a player train that needs it, and is taken off if it stands still too long.
All of them are inside
Config.NpcTrain. Config.NpcRoutes lists the routes: each one is its own train with its own timetable, stop to stop and back.
Four routes come ready: Heartland Local (Valentine, Emerald, Rhodes), Lannahechee Line (Saint Denis, Annesburg), Bayou Express (Rhodes, Saint Denis) and Cumberland Line (Riggs, Wallace, Valentine). A route whose stops the track does not join is left out, with a warning in the server console.

