Skip to main content
The settings live in three files of 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.
Open them with any text editor (Notepad works, VS Code is nicer).
Only change what comes after the = sign. Keep the quotes '...', the commas and the brackets exactly as they are. After saving, restart the server with your game closed.

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 from 0 (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).
Change the 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 inside Config.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 inside Config.Passenger. A 10 km trip costs 0.10 + 0.40 × 10 = $4.10.

Freight

Money in $, time in seconds. All of them are inside Config.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.