VikingRail
Build Viking railways with five engines, bridges, automatic gates, yard switches, turntables and useful wagons. Ride musical carriages or send steam and Eitr trains down the tracks automatically.Viking Rail
Build a railway across Valheim with hand-pumped carts, Wood-powered bronze engines, coal and Eitr engines, storage wagons and two-seat passenger cars. Lay tracks on the ground or supported bridges, add Y junctions and passing sidings, and finish your stations with editable signs and lighting.
Version 0.46.1 · Experimental release · BepInEx required
Version 0.46.1 lets matching bronze, coal or Eitr engines share one train, operated by one driver from any parked engine cab. Fueled engines share the load and add 5% to the configured base speed for each extra active engine, up to 20% and never above 15 m/s. Engines retain their own fuel and may face either way; empty engines can be towed, and an empty selected cab can drive using fueled partners. Cart limits count only unpowered carts; matching engines use no cart slots. Handcarts remain separate. Previous downhill coasting, stamina diagnostics, two-metre growth protection and stone gravel without terrain-height changes remain included. Update all clients and the server together; no new settings or rebuilding are required. Live in-game verification remains UNRUN.
The 0.44.3 gate fixes remain included: gates recognize waiting trains, finish opening after controls are released, retry delayed initialization and ignore eligible small plants and branches in their door sweep. Existing gates need no rebuilding.
The automatic railway gate, original diverging three-way/Y switches, bypass sidings, turntables, all engines and carts, and music volume/Halloween techno features remain included. Totals are 86 Hammer pieces/icons, sixteen portable vehicle types, eleven unpowered carts, 29 wooden upgrade variants, 35 shared settings on protocol v13, seven personal music preferences and 92 embedded resources. No new config keys are needed. No MWL integration is shipped.
The sign trial uses the native two-metre wooden pole's texture and matching beam mesh for added legs/feet, station uprights and warning/crossing stems and crossbucks. The mesh preserves its grain mapping and adds beveled edges within the original dimensions. Brass, iron, red markings, text, box collisions, recipes and support are preserved; trains and track wood keep their existing materials. The native mesh and material come from the installed game. A missing source keeps the previous generated wood and logs a warning, rather than preventing sign registration.
The four normal/long wooden/metal steep inclines, remote automatic travel, manual throttle and ordinary coupling controls remain included. Existing trains need no rebuilding. Use matching versions on every client and server.
Features
- 86 Hammer pieces, each with a unique icon. Railroad construction needs no nearby workbench; material discovery, costs and structural support still apply.
- Automatic railway gate: a standalone double gate over existing level straight rails. It opens for approaching trains from either direction, waits for the entire formation to clear, and then closes. Its 5 m opening has no overhead beam; automatic trains can wait for opening without disabling their controller.
- Parallel yard splitters: wooden/iron 3-way and 5-way fans have parallel exits 4 m apart, with 18 m/26 m overall lengths. Use the lever to select a lane; existing reservations keep the junction locked until clear. Wooden variants upgrade in place for 20/30 Iron Nails. Detached carts retain normal manual pushing.
- Yard switches and turntables: iron/wood three-way switches route a train left, straight or right. Iron 12 m and 24 m turntables rotate a fully parked train on a 3.6 m-wide deck in 45° steps. Cargo may stay aboard; inventories must close and all riders must dismount. Unpowered wagons do not gain free-rolling gravity behavior.
- Automatic controller: attach a lever box to a steam or Eitr engine for unattended forward travel. By default the host/server can keep the train and its route loaded away from players, subject to a remote-train limit. Use starts/stops; brake sections, obstacles, end stops and empty fuel stop it. Build for 5 Fine Wood, 5 Iron and 1 Surtling Core. No automatic switching, offline catch-up or automatic restart.
- 24 m rail bridges: metal or wooden spans with a 3.6 m walkway, open side trusses and 1,200 health. Support both ends on solid banks or strong stone/iron piers; no middle pier is needed. The metal bridge carries all engines; the wooden bridge carries handcarts, bronze engines and wagons.
- Passing sidings: connect two mirrored bypass switches with straight rails so one train can wait while another passes. Separate S-shaped bypass curves shift a single route 4 m sideways over 12 m forward.
- Two track tiers: wooden rails use Wood and Bronze Nails; metal rails use Iron Nails and support coal and Eitr engines. Both offer straights, curves, inclines, stopping tracks and end bumpers. Long straight and inclined sections span 12 m and use Fine Wood.
- Upgrade existing rails: use Iron Nails on a clear wooden rail to convert it to metal without rebuilding. The original timber and Bronze Nails remain invested; pay only the upgrade's Iron Nail cost.
- More curves: flat 11.25°, 22.5°, 45° and 90° bends, plus left and right curved inclines at each angle. All follow an 8 m radius; curved inclines use a 1:4 grade and work downhill when connected at their upper end. New curves use ordinary Wood and their tier's nails.
- Five engine choices: regular handcart (4.5 m/s), cooperative two-person handcart (6.75 m/s), Wood-powered bronze engine (6 m/s), coal locomotive (7.5 m/s), or Eitr engine (10.5 m/s). Speeds accept 0.5–15 m/s; cargo, wagons and climbs reduce powered speed. Bronze, coal and Eitr engines consume no stamina. Each ordinary Wood supplies 60 seconds of powered travel in bronze; Coal supplies 90 seconds in the locomotive; Refined Eitr supplies 300 seconds in the Eitr engine. Idling, braking and blocked movement consume no fuel.
- Steam locomotive detail: an iron boiler with brass bands and rivets, a new stack, gauge and coal hopper, plus spoked wheels and moving rods, pistons and flywheel. Travel drives the machinery in either direction; coasting animates and resting freezes it. The driver position, recipe, fuel, mass and configured speeds are unchanged.
- Stepped manual throttle: tap the existing forward/backward controls to move through five forward notches, neutral and five reverse notches. Each notch is 20% of the configured, load-adjusted powered target on flat/uphill routes. A strong enough net descent with available power targets the full configured maximum even at a low notch. Holding a key does not repeat; the selected throttle remains active while the driver stays aboard. Neutral coasts, Block resets and brakes, and normal stops clear the throttle.
- Downhill momentum: grade across the whole train, weighted by vehicle/cargo/passenger mass, can build speed and carry it onto the flat or partway uphill. The current cap uses the configured base plus any matching fueled-engine bonus, never above 15 m/s. With active throttle and available power, a net descent that beats resistance powers to the full cap, then coasts free while the descent sustains it. Neutral coasting is free; dismounting parks the train immediately.
- Configurable load and hills: separate multipliers for each engine scale load penalties on powered speed/acceleration and uphill penalties on target speed. Bronze and coal default to half the previous coefficients; both handcart modes keep their previous response. Values from 0–5 allow disabling, restoring or increasing either penalty.
- Cargo and passengers: attach 16-slot storage wagons with visible loads and two-chair passenger carts with a longer 2.7 m deck, wider aisle, raised canvas awning and front chiminea. A lit hearth warms seated riders; valid passengers receive at least comfort 3 and can rest when conditions permit. Default caps are three wagons for bronze, eight for Eitr, and four for either handcart or coal, shared by all wagon types.
- Coupling controls: all sixteen engine/cart types have front and rear red side levers. Press Use to couple an open end or release a connected end while parked. Either wagon end can attach to either engine end, with its facing preserved. Drive forward/reverse toward a parked wagon group or hand-push a single wagon to connect automatically. Close storage and clear wagon riders; the engine operators may remain aboard. The engine's cart limit counts unpowered carts across both branches; additional matching engines use no cart slots, and only one engine is operated at a time. After uncoupling, separate centers beyond 3.15 m before approaching again, or use a lever to reconnect manually. Detached groups can hold up to 20 wagons; only a single detached wagon can be hand-pushed.
- Position carts by hand: use the rear central push bar on any of the eleven unpowered carts to move it along the rails at 0.8 m/s. Uncouple both ends, close storage and have passengers dismount first. No additional stamina or fuel is consumed.
- Travelling workshop: carry a sheltered workbench, chopping block, tanning rack, adze and tool shelf on five separate wagons. Set the engine's cart limit to at least five for the complete level-5 workshop, and park/dismount before crafting.
- Repair station cart: a separate covered bench and anvil repairs all eligible damaged carried/equipped workbench or forge items through base station level 4. No extension carts, fuel or repair materials are needed.
- Two mounting pads: carry up to two compatible defenders, native training dummies, signs, horizontal item stands, or standing wood/iron torches. Build the mounting cart for 30 Wood, 6 Iron and 10 Iron Nails. Park and uncouple both ends, place a supported piece within 2.5 m of a pad, then use that pad while standing nearby on foot. Use the occupied pad again to detach onto clear supported ground beside the cart. Detach before editing, refueling, packing or removing the cart with a Hammer. Dummies retain their original targeting, equipment, fuel use and combat; their mods are optional and their own building requirements still apply.
- Eitr engine: dark metal and brass around a steady turquoise core, with a powered hum and no chimney. Refined Eitr supplies 300 powered seconds per item by default, with no stamina cost. Default speed is 10.5 m/s with eight wagon slots; metal or upgraded rails are required.
- Railway infrastructure: assisted endpoint snapping, selectable metal and wooden Y switches, support snap points under the side rails, and optional native stone gravel beneath tracks with 2 m shoulders on each side. Prepare terrain heights manually.
- Clear rail beds: grass/clutter, world vegetation and existing natural pickups/plants/small scenery rocks are suppressed. Protection extends 2 m beyond sleeper sides and ends, checks overlapping objects, and retries late-loading resources. Every switch branch and spaces between sleepers are covered, including ground between 4 m-spaced parallel lanes. Dropped items and cargo remain untouched. Protection remains active when gravel painting is disabled and never reshapes soil.
- Finishing touches: headlights, rear marker lamps, optional always-lit Rail torches on vehicles and track-side brackets, and five editable signs: station, left direction, right direction, warning and crossing. Rail torches cost 2 ordinary Wood + 1 Greydwarf Eye and never need Resin.
- Halloween pumpkin carriage: one passenger chair inside a hollow pumpkin shell, steady glowing eyes and original atmospheric waltz music. Tow it on either rail tier and receive normal riding comfort, with the usual resting conditions.
- Portable equipment: pack and replace all sixteen vehicle types while preserving their condition, cargo and fuel. Mount one wood or metal plow on either free end of any engine or cart. The outward-facing blade on the leading vehicle shoves and damages animals and monsters in either travel direction, including tamed creatures. Players are never plow targets.
Coal and Eitr engines need metal or upgraded track. Handcarts, bronze engines and wagons can travel on either tier. Movement follows the connected railway under a mounted driver or an active automatic controller on steam/Eitr engines. Physical derailments are not included. The bronze flywheel and coal locomotive's wheels and running gear animate; rail drivers keep their still riding pose.
Halloween pumpkin carriage
Build Halloween pumpkin carriage (vr_pumpkin_cart) from Hammer → Misc for 30 Wood + 10 Fine Wood + 20 Bronze Nails + 10 Resin + 2 Surtling Cores, without a nearby workbench. Its hollow orange shell has a doorway, glowing eyes, a green stem and vines. It is unpowered, takes one cart slot, and travels on wood or metal rails wherever its engine can go.
Press Use (E) on its single chair to sit and Jump to dismount. A confirmed rider receives at least comfort 3 through the normal passenger system. Resting still requires normal warmth, dryness and safety; the carriage has no hearth and gives no passenger comfort to people standing nearby.
Outside a mixed train, press Use (E) on the music console to play or stop Hollow Lantern Waltz: an original four-minute instrumental in D minor, 72 BPM, 3/4, with music-box/celesta, soft organ, bowed synths and ghostly pads. It plays while moving or parked and consumes no ongoing fuel. The pumpkin uses the music settings below and has no banner, dancer or beat flashes; its eyes stay steady.
Use ordinary coupling/release controls, the rear push bar for 0.8 m/s hand positioning, and the brass packing handle. Dismount, uncouple both ends and remove Rail torches before packing. The empty bundle weighs 35; replacement preserves normal condition and lamp state, starts music stopped and leaves its chair empty. Lamps and optional Rail-torch mounts remain available. Allow space for the pumpkin shell, doorway exit and tall stem.
Techno Viking sound cart
Build Techno Viking sound cart from Hammer → Misc after discovering its ingredients: 20 Fine Wood, 8 Bronze, 20 Bronze Nails, 2 Surtling Cores and 4 Deer Hide. No nearby crafting station is required. It is an unpowered wagon, uses one ordinary cart slot and can be towed on wood or metal rails wherever its engine is allowed. Use the rear push bar to position it slowly, the front or rear red lever to operate that coupling, and the brass handle to pack it like the other wagons.
Outside a mixed train, press Use (E) on the console or cart body to start/stop Thunder on the Rails, an original instrumental techno track in D minor at 132 BPM, lasting 3:52.7 and looping. Press Alt-place + Use for coupling. Music plays while moving or parked and needs no ongoing fuel. Bronze horns, rune discs and a small carved Viking animate from the shared song clock; player animations, cameras and engine speed are unchanged. Edit the front banner while parked and dismounted. Native sign permissions, author attribution, text filtering and mute rules remain in use.
Nearby listeners join the current point in the song. The owner writes one shared start time; audio is played locally from the embedded asset, with no audio streaming over the network, no speed-dependent pitch change and no soundtrack decoding on a dedicated server. Moving out of range fades the source. The nearest independent music group is heard by default, with hysteresis and a short fade when switching speakers; a mixed train counts as one group. Packing preserves the banner, ordinary track selection and physical volume setting; replacement and a new world/server session start stopped. Loading a sector or changing cart ownership within the same session retains the song position. Music itself does not keep unloaded terrain alive; a remote automatic train uses its existing server simulation.
After updating and restarting, press E to play, or stop and play again if already running. The client log records Music playback: about one second after local playback begins, including priority, virtual, time, gain and voice limits. The console warns when the game suppresses an otherwise enabled nearby source. If it stays silent, retain that line from BepInEx/LogOutput.log. Priority 32 preserves positional sound, distance fading and all volume/mute controls; it does not guarantee a voice in every crowded scene.
Cart volume controls and Halloween techno
Each musical cart has a brass volume dial beside its music console. Aim at the dial and press Use (E) to raise its volume by 10 percentage points, or Alternate placement + Use (Shift+E by default) to lower it. The range is 0–100%. This is the cart's shared loudness, so nearby listeners receive the same dial setting; their own personal volume and mute still apply. The setting survives saves, unloading, ownership changes and packing/replacing that cart. Aim at the separate console to start or stop music.
Connect at least one Techno Viking sound cart and one Halloween pumpkin carriage anywhere in the same complete coupled train, with other wagons allowed between them. They select Haunted Rail Rave, a new original 130 BPM, D harmonic minor techno instrumental lasting 3:56.3. Haunted bells, pipe organ and arpeggios accompany a strong kick and bass through an intro, build, drops, a quieter interlude and a looping return. It uses the existing carts and recipes; there is no separate Halloween techno build piece or fuel cost.
The most recent play/stop command from either console controls the mixed group, and the last volume dial used sets that group's loudness. Coupling stopped carts does not start music. Each listener hears one selected speaker for a mixed group, with a fade when the nearest eligible speaker changes; the three songs do not play together. Nearby independent groups remain separate. Without both cart types in the same complete formation, carts use their ordinary tracks and individual saved controls. Uncoupling restores each cart's own solo playback state, including any command last made on that cart. A new world/server session and newly unpacked carts still start with music off.
All music options live in BepInEx/config/local.valheim.vikingrail.cfg. Saved file edits and configuration-manager edits apply while running. Keep your existing CFG; missing personal keys gain their defaults without replacing your other values.
| Section / key | Default | Meaning |
|---|---|---|
| Music / MusicCartsEnabled | true | Shared admin switch allowing music playback |
| Music / MusicCartRange | 40 | Shared audible range in metres, 10–80 |
| Music / MusicCartMaxVolume | 0.6 | Shared maximum gain, 0–1 |
| MusicClient / Volume | 0.5 | Your master music gain, 0–1; applies to all three modes |
| MusicClient / TechnoVolume | 1 | Your Thunder on the Rails gain, 0–1 |
| MusicClient / PumpkinVolume | 1 | Your Hollow Lantern Waltz gain, 0–1 |
| MusicClient / HalloweenTechnoVolume | 1 | Your Haunted Rail Rave gain, 0–1 |
| MusicClient / Muted | false | Mute every musical cart only for you |
| MusicClient / BeatLights | false | Enable the Techno cart's cosmetic rune pulse; pumpkin eyes and real lamps stay steady |
| MusicClient / MaxAudibleCarts | 1 | Number of nearby independent music groups heard together, 1–4 |
Audible gain combines the shared maximum, the cart/group dial, your master Volume, the active track's personal gain and the game's effects volume. A zero or mute at any applicable control silences playback. For example, lowering PumpkinVolume does not reduce the mixed track; use HalloweenTechnoVolume for that mode. The seven MusicClient preferences are personal and never pushed to the server, even by admins. The existing 35 shared settings and protocol v13 are unchanged; the physical dials are saved cart state, not extra admin settings.
All three original soundtracks and their credits are embedded in the DLL, with no separate audio download, external samples or audio streaming. Music keeps priority 32 and normal positional/range fading. Dedicated servers synchronize state without decoding or playing sound. Live listening and multiplayer timing still require the included acceptance checks.
Installation
Requires PC Valheim and BepInExPack for Valheim. Jötunn is not required. Use a backed-up or disposable world for your first run.
With a mod manager: ensure BepInEx is installed in the active profile, install Viking Rail, then launch Valheim modded. Hexium assumes BepInEx, so it is not listed as a separate dependency in this package's manifest.
Manually: close Valheim, install BepInEx if needed, then copy this archive's plugins/VikingRail folder into your game's BepInEx/plugins folder. The resulting DLL path must be:
BepInEx/plugins/VikingRail/VikingRail.dll
Replace the previous DLL; keep only one installed copy. On Linux, directory capitalization matters. Start the game and check BepInEx/LogOutput.log for Viking Rail 0.46.1 loaded.
Every player and the dedicated server must install the same Viking Rail version. Multiplayer synchronization is implemented, but multiplayer remains experimental and has not completed in-game acceptance testing. The mod does not enforce an automatic missing-mod/version handshake.
This package targets Valheim 1.0.12 and Unity 6000.0.75f1 references and includes startup compatibility work for Valheim 1.0.15, network version 40. Version 0.46.1 validation: Release build passed with zero warnings/errors; all 3,183 Core tests and 373 targeted coupling, manual ownership, automatic-train and remote-capacity cases (10,772 assertions) passed. Native transfer packets at the new member bound remain below 32 KiB. Release checks preserve all 92 embedded assets and 35 shared settings on protocol v13; both packages are checked against the built DLL and source documentation. Managed native-contract checks do not establish live Unity, PhysX or multiplayer behavior; live acceptance remains UNRUN.
Version 0.46.1 validation: Release build passed with zero warnings/errors; all 3,144 Core tests and 683 targeted runtime cases (11,572 assertions) passed across movement, coupling, ownership handoff, automatic operation, native fuel transactions and plows. Compiled release checks preserve all 92 embedded resources and 35 shared settings on protocol v13. Final package checks compare both archives with the verified release DLL and preserved assets. Runtime tests use managed native-contract stand-ins; live Unity, PhysX and multiplayer acceptance remain UNRUN.
Before upgrading an older railway
The first startup of 0.33.1 or later updates any speeds still equal to the old defaults: handcart/solo tandem 4.5, cooperative tandem 6.75, bronze 6, coal 7.5 and Eitr 10.5 m/s. Custom speeds remain unchanged. The local Internal.SpeedDefaultsRevision = 1 marker prevents repeating this upgrade; leave it intact. Later speed edits, including choosing an old speed, are respected. Multiplayer continues to use the server's values. Manual wagon positioning remains 0.8 m/s; fuel, stamina and acceleration are unchanged.
Standing rail drivers, tandem helpers and cart pushers now hold a still pose while attached. Normal animation resumes after dismounting. Machinery still animates, and passenger chairs retain their native sitting behavior.
If upgrading from before 0.14.0, reinforce elevated tracks supported only by narrow center posts before installing. Elevated tracks now take support along the side rails. Use posts beneath those rails or suitable crossbeams/decks; a post touching only the center of a sleeper no longer supplies elevated support, and unsupported pieces can deteriorate. Ground support retains the game's normal behavior.
Version 0.46.1 contains 86 Hammer pieces/icons, sixteen portable vehicle types and eleven unpowered carts, including the 29 wooden upgrade variants and six workshop/repair carts. There are 35 shared settings and seven personal music preferences on protocol v13. These changes require matching installations: install the same version on every client and the server, then restart. Existing trains need no rebuilding; old rear-only links, recipes and saved contents remain compatible. Before rolling back below 0.38.0, uncouple new front-attached or opposite-facing formations while this version is still installed. Keep a world backup and the older DLL before testing remote travel. Missing optional mods or unknown saved prefabs block the affected remote area without deleting saved objects; carried D.A.R.E/G.N.O.M.E defenders require their mods on the server too.
Version 0.45.0 supersedes earlier excavation, filling and dirt-bed instructions. Existing ClearTerrainOnPlacement and FillTerrainOnPlacement values are retained for config compatibility but ignored, including true. DirtTrackbedOnPlacement now paints stone gravel and also applies gradually to loaded existing rails. Updating does not restore earlier cuts, fills or painted ground.
When upgrading from before 0.23.0, the eight load/hill multipliers receive their defaults while older settings keep their values. Bronze and coal default to half their previous penalty coefficients; set their four multipliers to 1 to restore those coefficients. Downhill momentum still applies.
Getting started
- Open Hammer → Misc and build a short test route. Discover the required materials to unlock recipes. Aim near a free rail endpoint to align the next section; use normal rotation to choose the connecting end or curve direction. Hold Alternate placement for free placement.
- Place an engine along the track. For a bronze, coal or Eitr engine, use Alternate placement + Use while parked and dismounted to open its hopper, add ordinary Wood, Coal or Refined Eitr respectively, and close it.
- Press Use to board, release movement, then tap forward/backward to adjust the engine throttle. Release both controls between taps; holding a key changes only one notch. Block resets to neutral and brakes, and Jump dismounts and parks. The HUD reports throttle direction/notch, speed, load, fuel and stopping reasons.
- Approach a parked wagon group with either end of a manually driven engine, or hand-push one wagon toward an open coupler, to connect automatically. Vehicles must share a connected route but may face either way. Close storage and clear wagon riders; engine operators can stay aboard. The train stops while connecting; release W/S before departing. For manual coupling at roughly 2.8 m center spacing, press Use on the appropriate front or rear red lever. Press it again to release that link. Alternate placement + Use remains available on wagon bodies; normal Use still opens storage or boards a chair.
- Use the Y switch's red lever on foot to select an exit before approaching. Clear the entire train and its approach before switching. At a stopping track, release movement and press again to depart; reverse away from an end bumper.
- Use a lamp to toggle that vehicle's lights, a sign to edit its text, or a detached plow beside either free end of a parked engine or cart to attach it. Park the whole train, dismount its operators and close storage before changing a plow. Build Rail torch on an empty vehicle or track-side bracket for optional lighting.
Both Y switches use a 2 m common entry and two 45° exits with an 8 m radius. Connect tracks at their three external endpoints. The wooden version requires no Iron or Fine Wood and uses the same lever, reservations, terrain preparation, side supports and torch brackets as the metal version. Handcarts, bronze engines, storage wagons and passenger wagons can use either. Locomotives stop before entering wood; one built on a wooden switch cannot be mounted or driven, and packed locomotive placement there is refused.
The default Use key is E, Alternate placement + Use is Shift+E, and forward/backward are W/S. Controls follow your existing Valheim bindings, including a gamepad axis returned to center between throttle changes. No additional key binding is required.
Engines and wagons use front/rear axle positions to ease pitch and turning across track joins and curve segments, including small gaps already accepted by the connection rules. This is intended to reduce sudden body rotation; route selection, stops and locomotive track restrictions still apply. Wagons follow their engine's speed, with their normal load penalties.
Choose Rail direction sign — left or Rail direction sign — right according to the arrow you want while reading from the front. Both cost 4 Wood + 2 Bronze Nails. Rotate the sign to face arriving players; choose its variant to point the arrow without turning the text away from them.
For a climbing bend, choose the angle and left/right inclined curve while viewing from its lower end toward its upper end. Snap the lower end to build uphill or the upper end to build downhill; the bend reverses handedness when travelled downhill. Use rotation or manual endpoint selection to choose the joining end. Use a level section between an ascent and a descent. Larger angles extend the same-radius bend rather than making it tighter.
To carry a vehicle, park and uncouple it, have everyone dismount, close storage, and remove attached plows and Rail torches. Use the brass handle at its left rear to pack it. To replace it, aim at clear track within 5 m and use the bundle from your inventory or hotbar. Packed vehicles retain cargo weight and normal portal restrictions.
Storage wagons and fuel hoppers now refresh saved contents before open, stack, take-all and packing operations. In multiplayer, allow up to five seconds for ownership to transfer; if it fails, wait for the message and retry while parked. The change protects existing saved items from stale local inventory copies. It cannot restore items already missing from an older save.
Storage wagons now have an open, low-sided bed showing one static cosmetic item model per occupied stack, up to sixteen. Models use the default item appearance; unsupported static models use a plain crate. The display updates on inventory changes and a half-second poll, including after loading or reconnecting; it adds no pickups, storage slots or inventory network data. Use normal E on a parked, unoccupied wagon to open its inventory. Safe loading now keeps the native inventory width and height alongside its items. The reported missing item display and Ctrl+E recovery still need in-game reproduction; this update does not claim a confirmed cause.
To dismantle a vehicle with the Hammer, empty it, park and have everyone dismount. Its attached Rail torches are removed through their native resource-drop path once each; the vehicle stays until every torch is confirmed gone. Allow up to ten seconds, including remote ownership handoffs, and stay nearby with access permission. Unresolved or vetoed torch removal leaves the vehicle in place; the requester's access and vehicle's empty/parked state are checked again before removal. Combat destruction, track-side torches and unloading keep their existing behavior. Packing still requires removing torches first.
The included USER_GUIDE.md covers recipes, plows, bridges, passenger resting, lights, pushing, packing and troubleshooting in more detail.
Manual engine throttle
All five engines have five forward notches, neutral and five reverse notches. Tap W to raise the signed notch or S to lower it. From forward 5/5, five separate S taps reach neutral; a sixth selects reverse 1/5. W slows reverse travel toward neutral. Fully release both controls between changes. Holding a key adds no further notches; pressing both together changes nothing and requires a full release before another change.
The selected throttle persists after releasing the key while the driver stays aboard. On flat or climbing routes, each notch supplies 20% of the configured, load-adjusted powered target: an unloaded bronze engine targets 6 m/s at 5/5 or 3.6 m/s at 3/5 on level track. Lowering the notch lets momentum coast down toward that target. When the whole train's downhill pull exceeds rolling resistance, any active notch with available power targets the full configured maximum in the travel direction, even at 1/5 or with a load. Load still reduces acceleration. At the cap it coasts without fuel or pumping stamina while the descent sustains it. Neutral selects gravity-only coasting, and an opposite-direction notch still brakes to zero before reversing.
The regular handcart's default 4.5 m/s is its unloaded, flat-track target at 5/5. At 1/5, expect 0.9 m/s unloaded or about 0.75 m/s with one empty wagon at default load settings. These flat-track examples remain unchanged; a qualifying descent instead uses the full configured cap.
Block resets the throttle and brakes; Jump dismounts and parks. Stops, bumpers, ordinary obstructions, storage/coupling service, unavailable fuel or stamina, stale controls, menus, lost application focus and driver loss reset to neutral. Release movement, then press afresh to restart. A brief plow creature-response wait retains an otherwise eligible throttle while clearing finishes. The HUD shows the direction and notch; this temporary state is not saved across driver changes or reloads.
Fuel and stamina retain their normal cost per second of actual powered movement. Slow hand-pushing of unpowered wagons still uses held W/S, and the driverless steam/Eitr controller retains its separate mode. Manual throttle always requires a driver aboard.
Matching powered engines in one train
Couple bronze engines to bronze engines, coal locomotives to coal locomotives, or Eitr engines to Eitr engines. Engines and intervening wagons may face either way and can connect at either free physical end. Mixed engine types, regular handcarts and two-person handcarts do not gain multi-engine coupling. Use the existing red end levers or drive an exposed coupler into a parked matching engine/group. Close storage and clear incoming operators and wagon riders before coupling; the receiving train's driver can remain aboard.
Park the whole train and release the current controls, then press Use at whichever engine cab you want to drive. Wait nearby for its owners to release the train and attachments. That cab becomes the single driving position; forward/reverse follows the selected engine's facing, while cars, cargo and plows keep their physical positions and orientations. Only one engine operator or automatic controller may be active. Ordinary passenger-cart riders may remain seated during a parked cab change.
Each available fueled engine contributes to pulling the train and consumes its own hopper's fuel for the accepted powered time. Supplying engines share the wagon/cargo resistance and restore loaded acceleration toward the existing unloaded rate; they do not multiply unloaded acceleration. Each extra supplying engine adds 5% of the configured base maximum speed, capped at 20% total and 15 m/s overall. For example, unloaded bronze engines target 6 m/s alone, 6.3 m/s with two and 6.6 m/s with three at full throttle on level track. Load, hills, throttle and route restrictions still apply. The existing loaded-downhill rule reaches the current shared cap before coasting; coasting and rejected movement spend no propulsion fuel.
At default bronze settings, full throttle and level track, a 2,000 total in-game weight load in one cargo cart targets 2.18 m/s with one engine or 3.36 m/s with two (about 54% faster). Across three cargo carts, the corresponding targets are 2.06 and 3.23 m/s. These use the game's raw weight value, not a pounds conversion; hopper fuel, passengers and mounted items contribute to total load. Both engines burn their own Wood, and hills or custom speed/load settings change the result.
An empty engine supplies no bonus, consumes no propulsion fuel and adds towing resistance. The selected cab may be empty if another matching engine can supply fuel. When a partner runs out, the contribution and available speed adjust to the remaining suppliers. Refill each hopper separately while parked under the usual hopper-access rules. Existing fuel duration settings apply independently to every engine.
Cart limits count only unpowered carts across both branches; all matching engines are excluded, whether fueled or empty. A bronze train with the default limit of three carts can carry three wagons plus two bronze engines. A zero cart limit still permits matching engines to couple. An engine-only group can join an existing powered train even after its wagon limit was lowered, provided it adds no carts; adding a first engine to an oversized wagon-only group or combining cart-bearing groups must fit the configured cap. A separate safety limit permits up to 21 engines per train. Change the existing cart-limit setting for more wagons; no settings or protocol fields were added. For siding length, continue to count extra engines like wagons. Keep plows on exposed outer ends: a blade cannot occupy a coupled end, and only the outward blade on the actual leading car acts, including a reversed helper engine. One plow per vehicle remains the limit.
Remote automatic steam/Eitr operation transfers and loads the whole matching-engine train and its attachments before selecting the controller's engine as the driving root. Other controllers stay inactive. In loaded-area mode (RemoteSimulationEnabled=false), take and release manual controls at a secondary engine first, then activate its controller while parked. Bronze engines still have no automatic controller. Update every installation together. Before downgrading below 0.46.0, uncouple the additional engines while 0.46.0 or later is still installed. Existing single-engine trains need no rebuilding.
Coupling and storage while the driver stays aboard
Bring the train to a complete stop. Another player can use either red coupling lever, the Alternate placement + Use wagon-body shortcut, or normal Use to open storage while the engine driver and tandem helper remain aboard. Close all storage and clear wagon passengers and hand-pushers throughout both branches and any group being attached, including wagons whose links will not change.
All wagon types can connect ahead, behind or on both sides of an engine while keeping their facing. The attachment cap counts both branches together, including every extra matching powered engine. Different engine types and handcarts cannot be combined. The true leading wagon controls stop-track and obstacle checks when pushing or pulling. Normal wards, cargo preservation and server authority also apply to remote automatic travel. A plow blocks coupling at its occupied end only; the other end stays usable. Uncouple the selected end before mounting a plow, or detach the plow before coupling there. A plow on the outer end of a leading wagon clears creatures when that wagon is pushed. Automatic controllers do not initiate new couplings.
Opening storage holds the train still through the request, inventory session and return of the saved contents. Closing the window finishes the handoff; if the HUD still says storage is busy, wait for it to finish. After storage or coupling, release W/S, then press again to depart. Held movement input cannot start the train as another player finishes working.
Moving trains cannot be coupled or opened. Wagon limits, track alignment, obstacle clearance and ward permissions still apply. Fuel hoppers remain separate: dismount the engine driver before another player opens the engine's own hopper. Packing, Hammer removal and workshop crafting retain their existing requirements.
Downhill momentum
All five engines can gain speed downhill and carry it onto flat track or partway up the next climb. Grade is weighted across the whole train using vehicle mass, cargo and seated passengers; the engine reaching flat track does not instantly cancel the effect of wagons still descending.
With active throttle and available power, a weighted descent that overcomes rolling resistance keeps powering to the full configured maximum, even with a low notch or loaded wagons. Load still reduces acceleration. At the cap, the train coasts for free while the descent sustains it. Matching fueled engines can raise their configured base cap by up to 20%, never above 15 m/s. Default single-engine caps are 4.5 / 6.75 / 6 / 7.5 / 10.5 m/s for regular/cooperative-tandem/bronze/coal/Eitr. Losing eligible tandem help applies the solo cap before the next step.
Select neutral throttle for gravity-only coasting at any speed; releasing W/S retains the selected notch. Exhausted or manually driven out-of-fuel engines gain no extra power. Level-track resistance removes about 0.25 m/s each second; uphill travel spends momentum. Flat/uphill routes keep their existing load/notch targets, and shallow descents that do not overcome resistance gain no full-cap powered target. Leaving the descent preserves momentum rather than instantly reducing speed to the normal target.
For manual driving, neutral throttle holds a stopped train parked. Select a powered direction to depart, then step back to neutral when you want to coast. Block resets to neutral and brakes strongly; selecting an opposite-direction notch brakes before reversing. Menus or stale input also reset and brake, and dismounting parks the train immediately. The automatic controller provides forward input without a rider and stops when fuel is insufficient. Stops, bumpers, route restrictions and collision checks remain active in both modes.
Only actual engine power consumes fuel or pumping stamina and produces powered exhaust/pumping effects. Neutral and out-of-fuel coasting cost nothing; handcart pumping animation stops and pumping sound quiets while coasting. The rear push bars on individual wagons retain their controlled 0.8 m/s positioning behavior, without downhill momentum.
Automatic steam and Eitr travel
Build Rail automatic controller for 5 Fine Wood + 5 Iron + 1 Surtling Core. Place it within 2.5 m of the left controls of a parked steam/coal or Eitr engine, then press Use to attach it. Each engine accepts one; handcarts and bronze engines do not. Fill the normal hopper and choose the switch route.
With Automation.RemoteSimulationEnabled = true (default), leave the whole train parked and unoccupied, close storage and finish other interactions. Use the attached lever while standing beside the engine. Stay there until ready; loading and ownership transfer can take up to 45 seconds. The server authenticates the request and takes ownership of the original train and attachments, preserving cargo and saved state. Once active, it may travel away from players; the starter can leave if another player remains online elsewhere.
The server loads 3 × 3 zone neighborhoods around the whole train and a route sample 24 m ahead, bounded to 25 unique zones per train. It waits for actual terrain and required network objects before advancing. Up to four remote trains run at once by default; admins can choose 1–8. This includes every linked wagon, up to the engine's configured cap and the existing 20-wagon maximum. Real players retain normal world loading; no fake player is created. Unknown saved prefabs or missing optional mods stop the affected loading operation without deleting saved objects.
Normal speed, load/hill penalties, momentum, paid fuel, obstacles, plows and selected switch routes still apply. Use again to stop. Brake rails, bumpers, track ends, incompatible track, blocked routes and empty fuel stop the train until explicitly started again. Loading, switch reservations and plow clearing can wait without propulsion fuel use. Stop before boarding, opening cargo, taking manual controls or changing couplings/attachments. Alternate placement + Use detaches the stopped controller; detach it before packing the engine.
No offline travel: the last player leaving stops active remote trains. Returning players must deliberately start them again. Single-player pause, world shutdown and save/restart do not advance trains or resume their saved activation; there is no catch-up or cross-world delivery. An active server with another player online elsewhere can keep remote trains moving.
Set Automation.RemoteSimulationEnabled = false for the previous loaded-area mode, including already seated passengers. To activate a secondary engine in this mode, first take and release its manual controls while parked, then use its controller. Disabling remote simulation or reducing Automation.RemoteTrainLimit stops affected remote trains while preserving them and their contents. Test this experimental feature on a backed-up world with both a player host and a dedicated server before relying on it.
Passenger awning and chiminea
Build Rail passenger cart for the unchanged 30 Wood + 10 Bronze Nails, with no nearby workbench. Its two rear seats sit beneath a raised canvas awning on a 2.7 m-long, approximately 2.2 m-wide deck. Only the rear posts meet the deck, leaving the sides and standing aisle open. The enclosed front chiminea has a capped chimney. Jump dismounts into the aisle ahead of the chairs. Existing saved carts update without rebuilding; coupling pitch, two-seat controls, fuel and comfort remain unchanged.
The chiminea starts empty, holds 10 ordinary Wood, and uses the native campfire's burn rate. Park, aim at its mouth and press Use to add Wood; Alternate placement + Use lights or extinguishes it. It burns while lit during both movement and idling. Its enclosed firebox and rain cap protect against rain and strong wind; empty fuel, manual extinguishing, submersion and blocked placement still stop the fire. Other campfires and torches retain their own weather rules. This is separate from engine fuel and the attached-torch setting. Nearby ward permission and an idle service state are required to tend it.
A burning hearth supplies warmth to both confirmed riders without fire damage or spread. The open awning does not guarantee full Sheltered status; weather, wetness and enemy conditions still govern resting. Packing preserves the remaining Wood balance and on/off state, with no fuel consumed inside the bundle. Older passenger bundles start with an empty hearth; empty bundle weight stays 25. Allow clearance for the new roof on your route.
Push a cart into position
All eleven unpowered cart types have a rear central push bar: storage, passenger, workbench, chopping block, tanning rack, adze, tool shelf, repair station, mounting cart, Techno Viking sound cart and Halloween pumpkin carriage. The separate brass handle at the left rear still packs the cart.
- Stop, uncouple both ends, close storage and have passengers get off. Stored items can stay aboard. Push only one cart at a time.
- On foot behind the cart, press Use (E) on the push bar. Hold W/S to move forward/backward at 0.8 m/s and hold Block to brake. Press Jump, or aim at the push bar and press Use, to let go. Controls follow your game bindings.
- Approach an exposed end of the parked engine or wagon group on the same route. Automatic contact stops the cart and releases the pusher before coupling. For manual coupling, stop at roughly 2.8 m center spacing, release the bar and use the matching red lever. Reverse pushing can stop early to protect the person behind the bar.
Positioning consumes no additional stamina or fuel and does not gain engine-train downhill momentum. The player follows the rail bed behind the cart through bends and inclines. Beyond an open rail end, the standing position needs ground or bridge support; missing footing blocks grabbing or movement. Releasing keeps the player in place without a sideways dismount offset. Normal routes, selected switches, stopping tracks, end bumpers and obstacle checks still apply; leave room for the cart, rear bar and player. The bar is checked for obstacles while pushed or towed. Normal storage, chair, workbench, repair and packing interactions remain available once you release it. Existing carts gain the bar on reload without rebuilding.
Keeping the rail bed clear
Version 0.45.1 expands the no-growth area to 2 m beyond each measured sleeper side and end, covering grass, plants, branches and eligible natural pickups or small rocks returning near the railway. All saved tracks gain the wider area on load; no rebuilding or new settings are required.
Version 0.44.2 extends the branch behavior to 28 native small plants and shrubs. Covered plants hide through 3.5 m above the sleeper bed, and eligible plants cannot stop locomotives, attached carts or hand-pushed carts even if the separate clearing lookup misses them. This works automatically on existing tracks without new settings or rebuilding.
Included vegetation: dandelions and thistle; red, blue, yellow, Jotun Puffs, Magecap and smoke-puff mushrooms; raspberry, blueberry, cloudberry and lingonberry bushes; wild carrot, turnip, onion and kale seed plants; wild barley and flax; Ashlands ferns/fiddleheads; and the ordinary meadow, heath, Deep North and Ashlands low shrubs. Both collectible branch variants retain the same behavior. Soft plants use their real bounds, including berry bushes larger than the separate small-rock limit.
Clearing is reversible and creates no harvest or dropped items. Removing the last covering rail restores native visibility and picked/respawn state. Some mature seed plants and Mistlands mushrooms share exactly the same prefab as wild plants and lose their planted provenance in native growth; those mature pickups receive the same treatment on a railway. Explicit planted Plant/Piece objects and distinctly cultivated-only produce retain their previous rules. Trees, large woody shrubs/limbs, climbing-vine structures, ore, dropped inventory and built objects do not gain the new collision exemption. A protected or separately networked child cannot inherit its parent's exemption. Falling plant bodies remain physical obstacles.
Version 0.44.2 retries natural-resource registration when network data arrives late, rechecks saved resources after scene creation, and handles native visual/respawn updates. This closes the gap where streamed branches or stones could remain visible and collide after a reload. Covered resources are suppressed without harvesting them; trains also ignore eligible covered debris immediately.
With DirtTrackbedOnPlacement = true, ordinary ground-level rails gain native stone gravel beneath the sleepers and 2 m beyond each side. New rails paint on placement; loaded existing rails are painted gradually. Ground heights remain unchanged, so obstructing soil needs manual preparation. Retired clearing/filling settings cannot restore earthworks.
Protection follows the actual sleeper footprint of every wooden and metal track, including long rails, curves, inclines, Y switches and bypasses. It includes every switch branch, including three-way/five-way yard fans, and spaces between sleepers, with 2 m beyond each side and end, roughly a 5.9 m corridor on ordinary track. Protection overlaps between lanes spaced 4 m apart, including the intervening ground; land outside the combined margins remains unaffected. Natural resources use their full visible/collision bounds, including branches protruding from outside that corridor.
Grass/clutter and new world vegetation are blocked at or below roughly 60 cm above the rail bed, including ground beneath bridges. Separate higher ground or platforms stay unaffected. Existing natural pickups and plants under a rail are hidden within about half a second; their gathering and native growth/regrowth updates pause while covered. Planting there is rejected before consuming resources.
Small natural rocks no larger than 2.5 m on any axis are also hidden when overlapping the corridor within 50 cm below to 60 cm above the rail bed. Large boulders and rocks far below high bridges remain. Covered branches and rocks are immediately ignored by vehicle collision checks, including hand-pushed carts, even before the next visibility update.
Removing the last covering rail restores existing pickups, plants and small rocks according to their native picked/growth/damage state. Vegetation skipped during initial zone generation stays absent. Existing trees, stumps, ore deposits, large mineable rocks and built structures still require normal removal. Dropped items, tombstones/death loot and cargo are unaffected. Preview ghosts do not suppress anything. Saved rails gain protection on reload; late-loaded resources and native regrowth updates are rechecked. Protection remains active when DirtTrackbedOnPlacement is disabled. Stone paint and earlier permanent terrain edits remain after removing tracks, and the wider protection makes no terrain-height changes.
Steep straight inclines
Four new pieces share a 1:2 grade, about 26.6°, twice the regular incline's 1:4 grade. Their placement origins are centered; normal and long steep sections join each other at the same grade. Reverse placement and join the upper end to descend.
| Piece | Rise / horizontal run | Cost | Wood-to-metal upgrade |
|---|---|---|---|
| Rail track — steep incline | 2 m / 4 m | 8 Wood + 2 Iron Nails | — |
| Rail track — long steep incline | 6 m / 12 m | 24 Fine Wood + 6 Iron Nails | — |
| Wooden track — steep incline | 2 m / 4 m | 6 Wood + 1 Bronze Nail | 2 Iron Nails |
| Wooden track — long steep incline | 6 m / 12 m | 18 Fine Wood + 3 Bronze Nails | 6 Iron Nails |
Keep a regular incline between flat and steep rails at both ends: flat → regular incline → steep incline(s) → regular incline → flat. The existing 18° maximum join angle is unchanged, so direct flat-to-steep joins and abrupt steep crests cannot connect. Use the same transitions in reverse for a descent. Existing curved inclines retain their regular grade.
The pieces retain their tier's colors, side supports, optional torch sockets, stone gravel and spawn protection. Wooden steep rails carry handcarts, bronze engines and wagons; coal and Eitr engines require metal or upgraded rails. Upgrade in place without moving the track. Existing hill/load resistance and speed, momentum, fuel and stamina settings are unchanged; the steeper grade naturally increases the uphill penalty. No new settings are added. Elevated spans still need structural support; tracks never fill gaps or reshape slopes.
Plows and creature clearance
Attach either the wood or metal plow to either free end of all sixteen engine and cart types, with one plow per vehicle. Park the whole train, dismount its operators, close storage and finish other coupling/attachment work. Stand beside the chosen end within 2.5 m and use the loose plow; or face the socket and use a packed plow from inventory or the hotbar to attach directly. Uncouple that end first; its opposite coupler remains usable. Use the attached blade while parked to detach it. A rear-mounted plow blocks an unpowered cart's hand-push handle until detached; a front-mounted plow can stay fitted during hand-pushing.
In either travel direction, only the outward-facing blade on the actual leading vehicle acts. This includes a front wagon being pushed by an engine or the tail wagon leading in reverse, regardless of the wagon's facing. Trailing or inward-facing plows do not clear creatures. Contact shoves living animals and monsters, including tamed creatures and bosses, sideways at 6–10 m/s. A brief clearance pulse continues after initial contact, for at most 1.25 seconds, using native physics. The train can wait briefly for the creature to clear; walls can still prevent passage. Players are never shoved or damaged by the plow.
The metal blade deals 8 + 6 × approach speed in m/s blunt damage, capped at 65; wood deals 60%. Native armor and resistances apply. A 2-second cooldown, plus at least 0.6 seconds of separation and 0.75 m of travel for another hit from the same engine, prevents repeated stationary damage.
Dropped inventory items and ragdoll bodies no longer stop trains and remain in the world normally. Living non-player creatures only block the leading end's central path, so creatures beside trailing cars do not halt the train. Reversing selects the opposite outer end of the formation; a correctly facing plow there can clear the path. Players, built structures, large obstacles, other trains, brake rails and bumpers retain their normal blocking behavior.
Plow links and front/rear orientation survive saving and unloading. Older saves keep their original front mount without rebuilding. Destroying a loaded vehicle releases its loaded plow, and destroying the plow frees that vehicle's attachment slot. Update all clients and the server together for the new mounting/contact messages. Live clearance, native physics and multiplayer checks remain unrun.
Build a 24 m bridge
Both flat 24 m bridges are twice as long as the 12 m rail, with a 3.6 m wooden deck, 1,200 health, open side trusses and overhead clearance for every wagon, plows and mounted torches. No nearby crafting station is required to build them.
| Bridge | Cost | Vehicle capacity and finish |
|---|---|---|
| Rail bridge — 24 m | 48 Fine Wood + 20 Wood + 12 Iron + 20 Iron Nails | All engines and wagons; metal rails and iron trusses |
| Wooden rail bridge — 24 m | 36 Fine Wood + 40 Wood + 20 Bronze Nails | Both handcarts, bronze engines and wagons; wooden rails/trusses with bronze plates |
Both bridge tiers have the same span and support requirements. The wooden bridge has a light-duty vehicle limit, so coal and Eitr engines cannot enter or operate on it. Upgrade it in place for 20 Iron Nails using the hotbar procedure below to gain the metal finish and coal/Eitr capacity; current health, geometry, saved identity, supports and torches stay in place.
Place supports first: both ends need solid banks or strong stone/iron piers. No middle pier is needed, but support at only one end or only the center is insufficient. Ordinary wooden posts may be too weak. Each bridge join also needs an abutment or pier; do not chain unsupported spans.
Aim near an endpoint and use normal endpoint/manual snapping from the bank. The rail endpoints are 24 m apart; four underside bearing sockets sit 3.8 m apart across and 23.3 m apart along the bridge, 0.82 m below the rail endpoint height. Place pier tops against these feet; solid banks can also support the end posts when the feet are buried. Posts and beams can snap to the underside sockets; rail placement selects only the two rail endpoints. The existing 20 m search reaches the span's center from a nearby end.
Both bridges preserve terrain: neither height changes nor gravel painting occurs. Grass/plant protection covers the full 3.6 m deck width, and whole-span ward/no-build checks remain active. Connect either rail tier; coal and Eitr engines still stop before an unupgraded wooden bridge or wooden track beyond a metal bridge. TracksTakeDamage controls bridge damage and support-collapse damage, and ordinary Hammer removal still works. An incompatible native support API disables the bridge Hammer entries and reports a log warning.
Automatic railway gate
Build Automatic railway gate (vr_rail_gate) from Hammer → Misc for 20 Wood + 10 Iron Nails + 4 Iron. Place it over existing level straight track, with both posts supported and the leaf swing areas clear. Ordinary build snaps line up with a 4 m straight's ends. No workbench is required. The standalone gate adds no track and does not change wooden-rail engine restrictions.
Its two leaves open outward 100°, leaving a 5 m-wide opening with no top beam for tall or roofed carts. Leaf bottoms clear the rail bed by 0.3 m from placement height. Keep walls, trees and track-side fittings out of the swing path.
It operates automatically without fuel, a manual switch or new settings. An approaching train opens it in about two seconds, from either direction. It remains open for the full coupled train, including inter-car gaps and front/rear wagon groups, or a cart stopped in the opening. After the last car clears, it waits two seconds and then closes over about two seconds. Hand-pushed carts and remote automatic trains are supported; an automatic train waits for the gate if needed without losing its drive activation. Characters obstructing closure keep it open.
Version 0.44.3 recognizes aligned trains stopped with their body within 6 m of either side, including wagons ahead of the engine. One request allows the full remaining opening animation plus two seconds, even after releasing the controls. Parked trains in this area keep it open. Initialization retries if network data arrives late; eligible small vegetation and covered debris cannot jam the moving doors. If the hover text reports "Clear the space where the doors swing," use level straight rails and clear real terrain, trees, structures or creatures from the swing area.
Hover to check the gate's status. Place it squarely across one straight route with a clear approach, and keep every client and server on 0.46.1. Native motion, obstruction and multiplayer behavior still need the included in-game checks.
Three-way yard switches and turntables
Build Rail track — three-way yard switch (vr_track_threeway) for 30 Wood + 12 Iron Nails, or its wooden version (vr_track_wood_threeway) for 24 Wood + 6 Bronze Nails. They share a 2 m entrance, a straight outlet and left/right 45° outlets on an 8 m radius. Use the red lever to choose left, straight or right before the train enters; clear its reserved approach before switching. The selected route survives saving and reloading. Wooden switches carry handcarts, bronze engines and wagons, and upgrade in place for 12 Iron Nails. They provide manual yard routing; detached wagons do not roll freely down a hump.
The 12 m turntable (vr_turntable12) costs 40 Fine Wood + 20 Iron + 40 Iron Nails. The 24 m turntable (vr_turntable24) costs 80 Fine Wood + 40 Iron + 80 Iron Nails. Both include iron rails, a 3.6 m-wide timber deck and a stationary rim crank. Support the circular base on level ground or a solid foundation. Native support still applies; no workbench is needed, and placement does not automatically excavate or paint a pit.
Natural-growth protection covers the full turning circle and operator step. Turntables have no track-side torch sockets; vehicle-mounted torches rotate with their vehicles and are included in fit checks.
Park the entire train and every attached plow, torch or mounted piece inside the deck's clearance. Loaded storage is allowed, but close all inventories, stop automation and movement, and dismount every rider. At the rim crank press E for clockwise, or Shift+E by default for counterclockwise. Each 45° step takes about three seconds; four steps reverse the train by 180°. There are eight indexed positions.
Remain within 4 m of the crank and keep the turning circle clear. New obstacles or changed operating conditions stop rotation. A table interrupted between indexed positions keeps its track isolated; clear the problem and use the crank to finish alignment before driving off. Wait for rotation to finish before changing coupling, storage, riders or attachments. Capacity depends on the whole train's measured bounds, so the advertised rail length does not guarantee a particular wagon count.
Build a passing siding
Choose a left or right piece in either tier. Each row below represents two separate Hammer pieces; costs are per piece.
| Piece | Shape | Cost |
|---|---|---|
| Rail track — bypass curve left / right | Single S connector; 4 m sideways over 12 m forward | 24 Wood + 6 Iron Nails |
| Wooden track — bypass curve left / right | Same geometry; excludes coal and Eitr engines | 18 Wood + 3 Bronze Nails |
| Rail track — bypass switch left / right | 2 m entrance plus 12 m main/bypass routes; 14 m forward span | 36 Wood + 12 Iron Nails |
| Wooden track — bypass switch left / right | Same geometry; excludes coal and Eitr engines | 27 Wood + 6 Bronze Nails |
The S connector has parallel ends and two opposite 10 m radius bends; it shifts one route without creating a fork. The bypass switch combines that curve with a straight main line and a red lever. It defaults to Main line; operate the lever on foot to select Bypass. Both routes work forward and reverse when selected. Snap at the three external ends; the internal fork is not a build connection.
- Place a bypass switch right, then extend both outlets with 24 m of straight rails each, keeping the tracks 4 m apart. Use six 4 m pieces or two 12 m long pieces per line; long rails use Fine Wood.
- Use a bypass switch left, rotated 180°, at the far end, with its outlets facing the two straight runs. The opposite mirrored layout also works. Extend the common ends to continue your railway; no extra S connector is required inside this loop.
- Set both switches to Bypass, drive the waiting train fully into the siding, park and dismount. Every vehicle center must clear both switches' ends by more than 3.25 m; leave about 4 m at each end for easier operation.
- Set both switches to Main line and let the other train pass. Once its entire train has cleared both junctions and their approaches, set both switches to Bypass for the waiting train to leave.
A 24 m straight between the switches fits default four-wagon trains and the five-wagon workshop train. Longer trains need more siding: allow more than 2.8 m × wagon count + 6.5 m, preferably 2.8 m × wagon count + 8 m. For this length formula, count every extra engine like a wagon and exclude only one engine. The full loop with 24 m straights spans about 52 m including its switches.
Switch reservations protect each junction; a train still occupying a switch or its approach prevents another route from being selected. There are no automatic signals or dispatching. Keep the parallel section clear and allow room for roofs, plows and torches. Normal supports, terrain options, damage, snapping and optional torch brackets apply. Wooden bypass pieces accept handcarts, bronze engines and wagons; use metal or upgraded rails for coal and Eitr engines.
Bronze rail engine
Build Bronze rail engine (vr_bronze_engine) for 20 Wood + 10 Bronze + 10 Bronze Nails, without a nearby workbench. It runs on both rail tiers, including wooden curves, inclines and Y switches. Its compact firebox/boiler, short chimney and animated flywheel come with quieter engine sounds, smoke, lamps and normal optional Rail torches and plows.
While stopped and dismounted, use Shift+E (Alternate placement + Use) to open its two-slot hopper. It burns ordinary Wood only: Fine Wood, Core Wood, Coal and Resin are not fuel. Close the hopper and use the engine; tap W/S to adjust throttle, Block to reset and brake, and Jump to dismount. It uses no stamina, with defaults of 60 powered seconds per Wood, 6 m/s at full throttle on empty level track and three attached wagons. Base traction and acceleration are halfway between the regular handcart and coal locomotive. Bronze load and hill multipliers now default to 0.5, halving the previous penalty coefficients.
Only accepted powered travel burns fuel. Idling, braking and blocked travel use none. Remaining paid seconds survive settings changes, save/load, ownership handoffs and packing. Its empty packed bundle weighs 45 and preserves hopper contents, health, fuel credit and lamp state. The complete workbench and four upgrades need BronzeEngineMaxCarts set to at least 5.
The regular handcart remains 4.5 m/s by default. Cooperative tandem pumping remains faster at 6.75 m/s but needs two eligible riders and their stamina; the coal locomotive remains 7.5 m/s, burns Coal for 90 powered seconds and requires metal rails.
Eitr rail engine
Build Eitr rail engine in Hammer → Misc for 20 Yggdrasil Wood + 20 Black Metal + 10 Iron + 10 Refined Eitr + 5 Surtling Cores. Discover every ingredient; no nearby crafting station is required. Park and dismount, use Alternate placement + Use to open its hopper, add Refined Eitr, then close it and use the engine to drive. Wood, Coal, Sap and Surtling Cores do not fuel it.
Defaults are 300 powered seconds per Refined Eitr, 10.5 m/s, eight wagons, 3 m/s² base powered acceleration, and 0.25 load/hill penalties. Powered driving consumes no player stamina. Idling, coasting, braking and blocked movement consume no fuel. Existing paid fuel survives duration-setting changes, save/reload, ownership transfers and packing. Its dark metal/brass model has a steady turquoise core, powered hum and no exhaust chimney.
Use metal or upgraded rails throughout, including bridges. Both ends of the engine's body are checked at wooden boundaries while travelling forward or backward; wooden switches and bridges are also restricted. Packed placement and driving on wood are refused. Upgrade the track or reverse clear. Normal stops, bumpers, obstacles and the configured speed cap remain active.
Coupling, parked storage service, lamps, optional torches and plows use the existing controls. Dismount before hopper access; park, uncouple and remove attachments before packing. Its empty bundle weighs 60, preserves health/fuel/lamps, and retains normal fuel-item weight and portal restrictions.
Two-person handcart
Build Two-person rail handcart (vr_handcart_tandem) for 30 Wood + 20 Bronze Nails without a nearby workbench. It uses either rail tier. The rear driver controls W/S and Block. While stopped, a second player uses the front helper stand with E, faces the driver, and pumps automatically when the driver powers the cart. Both riders use Jump to dismount; standing operators receive no passenger-chair comfort.
The 2.6 m deck and extended frame give both riders more standing room, with tapered front corners to clear the existing V-shaped plow. Each rider stands 30 cm farther from the unchanged pump, and the headlamp sits to the helper's side. Movement collision follows the longer deck. Check both riders through the full pumping motion when testing the update; in-game clearance remains unverified.
Pump-handle animation is replicated to the helper and other observers. Movement audio supports configured speeds through 15 m/s while keeping pitch bounded. Player arms and wheels retain their existing static models; the moving pump mechanism supplies the pumping animation.
With a freshly confirmed helper able to supply stamina, the empty level-track default is 6.75 m/s, costing 2.5 stamina per second per rider. Those values are 50% faster and 50% less stamina per rider than the regular defaults of 4.5 m/s and 5 stamina per second. Both distinct riders must be attached; a nearby player, pending request or old seat reservation gives no bonus. Confirmation is required even with zero stamina cost. Confirmed cooperation uses the tandem's own load/hill multipliers; solo operation or an exhausted helper uses the regular handcart speed, stamina and load/hill settings.
When helper loss becomes known or confirmation expires, existing speed is capped to HandcartMaxSpeed before the next movement step, including reverse and coasting travel. Slower momentum remains. Network messages can delay knowledge of a departure; helper confirmation expires within 0.75 seconds of its request. The helper adds no cargo/passenger load; wagons, cargo and seated passengers retain normal load penalties.
Only accepted powered travel consumes stamina. Idling, braking and blocked movement consume none. Set TandemHandcartStaminaPerSecond = 0 for free cooperative pumping, even with empty stamina bars; solo operation still uses the regular setting. The independent tandem wagon cap applies with one or two riders. It supports the normal lamps, Rail torches and plows. Both riders must dismount before packing; its empty bundle weighs 35, and replacing it leaves both stands empty. Existing regular handcarts keep their one-sided pump and single rider.
Workbench train
Build the roofed Rail workbench cart and use its bench while parked with the driver dismounted. The roof and three walls provide shelter, with access from the open end. It uses the normal workbench crafting/repair interface; the window closes if the train starts moving.
| Cart | Construction cost |
|---|---|
| Rail workbench cart | 30 Wood + 10 Bronze Nails |
| Rail chopping block cart | 30 Wood + 10 Bronze Nails + 10 Flint |
| Rail tanning rack cart | 30 Wood + 10 Bronze Nails + 15 Flint + 20 Leather Scraps + 5 Deer Hide |
| Rail adze cart | 20 Wood + 10 Bronze Nails + 10 Fine Wood + 3 Bronze |
| Rail tool shelf cart | 20 Wood + 10 Bronze Nails + 10 Fine Wood + 4 Iron + 4 Obsidian |
No nearby crafting station is needed to build these carts. Couple and pack them with the normal cart controls; each has lamps and optional Rail-torch mounts. The roof and tall upgrade models need overhead clearance.
Loaded upgrade carts on the same connected train count beyond the normal nearby-upgrade range. Native nearby upgrades also count, with each type counted once: all four different upgrades give workbench level 5, while duplicates add no extra level. The bench plus four upgrades occupy five wagon slots, so raise the relevant HandcartMaxCarts, TandemHandcartMaxCarts, BronzeEngineMaxCarts, LocomotiveMaxCarts or EitrEngineMaxCarts to at least 5; allow more for cargo or passengers.
Repair station cart
Look under Hammer → Crafting, with all five ingredients discovered: Wood, Fine Wood, Copper, Coal and Iron Nails. Modern usage filters include Crafting/Transport. Reopening the build menu refreshes native recipe availability while preserving material-discovery requirements. This is a visibility improvement; the reported missing-entry cause remains unconfirmed.
Build Rail repair station cart for 20 Wood + 10 Fine Wood + 6 Copper + 4 Coal + 10 Iron Nails, with no nearby crafting station required. Park the train, dismount the driver, then stand beside its covered bench and anvil on foot with ward permission. Put away the Hammer, leave build mode and aim at the bench or cart body within 4 m, then press Use (E by default) to repair all eligible damaged items in your own carried/equipped inventory.
Repairs cost no fuel or materials and need no extension carts. An item qualifies if its native crafting or repair station is a workbench or forge and its base recipe requires station level 4 or below. Quality upgrades do not raise that repair-level requirement. Full-durability items, unrepairable items and gear requiring other stations such as the black forge or Galdr table stay unchanged. The cart does not provide crafting recipes or unlocks, repair its own health, or repair items stored in cargo. Moving/controlled trains and active cargo, coupling or packing work prevent use.
It takes one wagon slot and travels on wooden or metal rails. Alternate placement + Use couples it; the rear central bar pushes it at 0.8 m/s when uncoupled. Built-in lamps and optional Rail torches work normally. Clear riders, couplings and attachments before using the left rear brass handle to pack it. Its bundle weighs 45, occupies one slot and preserves cart health and lamp state. Allow clearance for its roof.
Upgrade wooden rails with Iron Nails
Put Iron Nails on your hotbar, put away the Hammer and leave build mode. Stand on foot, aim at the wooden rail or sleeper within 4 m, and press that hotbar slot. Range is measured to the nearby track, so either end of a long section works. Clear nearby carts and any active switch route reservation first. Ward access applies; no Hammer or workbench is needed.
| Track being upgraded | Iron Nails |
|---|---|
| Standard straight or straight incline | 2 |
| 11.25° curve | 1 |
| 22.5° curve | 2 |
| 45° curve | 4 |
| 90° curve | 8 |
| Stop or end bumper | 4 |
| Long straight, long incline or long steep incline | 6 |
| Y switch | 8 |
| Three-way switch | 12 |
| 3-way parallel yard splitter | 20 |
| 5-way parallel yard splitter | 30 |
| Bypass curve, left or right | 6 |
| Bypass switch, left or right | 12 |
| Wooden rail bridge — 24 m | 20 |
Angle-curve costs apply to flat and inclined left/right variants. All 29 wooden rail variants can be upgraded, including normal/long steep inclines, the three-way switch, both parallel yard splitters, both bypass curves, both bypass switches and the 24 m wooden bridge. Bridge upgrades check ward permission across the full span and deck width. The piece becomes metal and supports coal and Eitr engines while retaining its position, rotation, path geometry, saved identity, health, creator, switch route, supports and torches. Upgrading does not reshape or repaint terrain.
Pay only the listed Iron Nails, with no additional Wood, Fine Wood or Iron bars. The paid amount is saved; dismantling returns the original wooden recipe plus those Iron Nails, subject to normal resource-drop rules. An upgraded bridge returns 36 Fine Wood + 40 Wood + 20 Bronze Nails + 20 paid Iron Nails, with no Iron ingots. It does not grant the extra resources in a new metal piece's recipe. Upgrades are saved; unupgraded wooden sections continue to stop locomotives.
Configuration
After the first launch, edit and save:
BepInEx/config/local.valheim.vikingrail.cfg
All 35 shared settings and seven personal music preferences update while running. A saved file is checked once per second and accepted after two stable reads, normally about 1–2 seconds; config-manager edits also apply on the game thread. The host or dedicated server remains authoritative. Edit its file directly, or join as a player listed in the server's native admin list. After the server confirms admin permission, local file/config-manager edits submit only changed fields. The server checks current permission, merges those changes into its active settings, saves its file, then broadcasts them. A failed save leaves active server values unchanged; ordinary clients cannot override them. Client files are not rewritten by server snapshots.
Joining or reconnecting never uploads local values automatically. An admin can deliberately run vikingrail_config push in Valheim's console to reload the local file and submit all 35 shared fields, including offline edits or values unchanged since joining. Review the complete file first: accepted pushes replace the full server snapshot. vikingrail_config status, or bare vikingrail_config, reports authority, admin permission and pending work. It also prints the exact active LOCAL config path and compares loaded local with active server stamina rates; a client cannot display the remote server's config path. The server rechecks its admin list for every remote change, including explicit pushes.
Update every client and the server together for protocol v13. Installing a new DLL still needs a restart. The included VikingRail-settings.example.cfg is a reference, not an automatically installed override.
| Section | Setting | Default | Effect |
|---|---|---|---|
| Fuel | AttachedTorchesUseFuel |
true |
Controls ordinary standing torches on mounting-cart pads only. Set false for unlimited fuel and an always-on switch while mounted; water or obstruction can still block them. True/detached restores normal fuel/toggling. Custom Rail torches always stay lit regardless of this setting. Passenger chimineas and unmounted ordinary torches are unaffected. |
| Fuel | CoalSecondsPerItem |
90 |
Seconds of powered movement per newly consumed Coal; accepts 1–86400, including decimals. Existing fuel credit keeps its remaining seconds. |
| Fuel | BronzeFuelSecondsPerItem |
60 |
Seconds of powered movement per newly consumed ordinary Wood in the bronze engine, from 1–86400. Decimals allowed; existing fuel credit keeps its seconds. |
| Fuel | EitrFuelSecondsPerItem |
300 |
Powered seconds per newly consumed Refined Eitr; range 1–86400. Existing paid seconds are preserved. |
| Trains | EitrEngineMaxSpeed |
10.5 |
Empty level-track target and downhill speed cap; range 0.5–15 m/s. |
| Trains | EitrEngineMaxCarts |
8 |
Combined attached wagon limit; range 0–20. Engine and plow do not count. |
| Trains | EitrEngineLoadPenaltyMultiplier |
0.25 |
Wagon-count and cargo/passenger-weight penalty on powered speed and acceleration; range 0–5. |
| Trains | EitrEngineHillPenaltyMultiplier |
0.25 |
Uphill target-speed penalty; range 0–5. Does not change downhill gravity. |
| Trains | HandcartMaxCarts |
4 |
Combined storage/passenger/workshop/repair wagon limit for a regular handcart, from 0–20. Use at least 5 for the full workshop. |
| Trains | LocomotiveMaxCarts |
4 |
Combined storage/passenger/workshop/repair wagon limit for a locomotive, from 0–20. Use at least 5 for the full workshop. |
| Trains | HandcartStaminaPerSecond |
5 |
Base stamina per second for a regular handcart or solo tandem, from 0–100. Normal load and native stamina-cost modifiers apply. Set 0 for no stamina use or regeneration delay from pumping. |
| Trains | HandcartMaxSpeed |
4.5 |
Empty, level-track regular handcart or solo tandem target speed in m/s, from 0.5–15. Also caps tandem speed when helper assistance is lost. Load and climbs reduce powered speed. |
| Trains | LocomotiveMaxSpeed |
7.5 |
Empty, level-track coal locomotive speed limit in m/s, from 0.5–15, including decimals. Load and climbs reduce powered speed. |
| Trains | TandemHandcartMaxSpeed |
6.75 |
Cooperative powered target speed with two eligible riders, from 0.5–15 m/s. Normal flat/uphill target penalties and load acceleration penalties apply; powered net descents can reach the full cap. |
| Trains | TandemHandcartStaminaPerSecond |
2.5 |
Cooperative base cost per rider, from 0–100 stamina/second. Set 0 for free cooperative pumping. Solo or exhausted-helper fallback uses the regular stamina setting. |
| Trains | TandemHandcartMaxCarts |
4 |
Independent tandem wagon limit, from 0–20, with one or two riders. Use at least 5 for the full workshop. |
| Trains | BronzeEngineMaxSpeed |
6 |
Empty, level-track bronze engine target speed, from 0.5–15 m/s. Normal flat/uphill target penalties and load acceleration penalties apply; powered net descents can reach the full cap. |
| Trains | BronzeEngineMaxCarts |
3 |
Independent bronze wagon limit, from 0–20. Use at least 5 for the full workshop. |
| Trains | HandcartLoadPenaltyMultiplier |
1 |
Wagon-count and cargo/passenger-weight penalty on regular/solo-tandem powered speed and acceleration; range 0–5. |
| Trains | HandcartHillPenaltyMultiplier |
1 |
Regular/solo-tandem uphill target-speed penalty; range 0–5. |
| Trains | TandemHandcartLoadPenaltyMultiplier |
1 |
Cooperative tandem load penalty on powered speed and acceleration; range 0–5. Requires two confirmed eligible operators. |
| Trains | TandemHandcartHillPenaltyMultiplier |
1 |
Cooperative tandem uphill target-speed penalty; range 0–5. Solo operation uses the regular handcart value. |
| Trains | BronzeEngineLoadPenaltyMultiplier |
0.5 |
Bronze load penalty on powered speed and acceleration; range 0–5. Default halves its previous coefficient. |
| Trains | BronzeEngineHillPenaltyMultiplier |
0.5 |
Bronze uphill target-speed penalty; range 0–5. Default halves its previous coefficient. |
| Trains | LocomotiveLoadPenaltyMultiplier |
0.5 |
Coal locomotive load penalty on powered speed and acceleration; range 0–5. Default halves its previous coefficient. |
| Trains | LocomotiveHillPenaltyMultiplier |
0.5 |
Coal locomotive uphill target-speed penalty; range 0–5. Default halves its previous coefficient. |
| Automation | RemoteSimulationEnabled |
true |
Keep automatic steam/Eitr trains operating away from players while someone remains online. False restores loaded-area operation and stops affected remote trains. |
| Automation | RemoteTrainLimit |
4 |
Maximum simultaneous remote trains, range 1–8. Lowering stops affected excess trains; this is separate from wagon limits. |
| Construction | ClearTerrainOnPlacement |
false |
Retired compatibility key. Ignored even when an old local/server configuration sets it to true; tracks never clear or lower earth. |
| Construction | DirtTrackbedOnPlacement |
true |
Paint native stone gravel beneath ordinary rails and 2 m beyond each sleeper side, on placement and gradually beneath loaded existing rails. Uses nearby natural soil without changing its height. |
| Construction | FillTerrainOnPlacement |
false |
Retired compatibility key. Ignored even when an old local/server configuration sets it to true; tracks never fill or raise earth. |
| Construction | TracksTakeDamage |
true |
Set false to block combat, fire, weather/biome and support-collapse damage to tracks, bridges and switches. Hammer removal still works; existing damage is not repaired. Vehicles, signs, torches and ordinary buildings remain vulnerable. |
All ten penalty multipliers accept decimals: 0 disables the corresponding penalty, 1 restores its previous coefficient, and values above 1 increase it. Load includes both wagon count and cargo/passenger weight. Hill applies only when climbing, including in reverse; it adds no downhill power. Bronze and coal defaults halve the coefficients, so the speed improvement depends on load and grade rather than being a fixed 50%. Solo tandem operation or lost helper assistance uses the regular handcart load/hill pair.
Lowering a wagon limit preserves existing trains; new attachments must fit the new limit. Already-consumed Wood, Coal or Refined Eitr retains its remaining seconds when duration changes. All five MaxSpeed settings supply the single-engine cap. Matching fueled engines add 5% per extra available engine, capped at 20% and 15 m/s overall, without multiplying unloaded acceleration. The load multiplier still controls the powered acceleration penalty during full-cap downhill acceleration; flat/uphill target penalties remain unchanged. Load/hill multipliers do not change downhill gravity, braking, coasting resistance, stamina costs or fuel consumed per powered second. Wagons follow the engine. Fuel settings do not change construction costs.
Stone gravel uses Valheim's native stone/paved ground texture, with 2 m shoulders beyond each sleeper side and soft edges from the terrain pixel grid. It follows ordinary straight, curved, inclined and switch beds, including gaps between sleepers. It does not create loose gravel objects. Four-metre parallel yard lanes have overlapping gravel shoulders and no-growth margins. Vegetation protection matches the side margins and extends farther beyond terminal sleepers; it operates independently of painting.
Painting requires natural ground within 0.5 m above or below the sleeper bed. Elevated spans, built bridge/floor surfaces and intervening structures are excluded. Both rail bridge pieces and turntables preserve ground paint. Newly placed rails paint where eligible; loaded existing ordinary tracks receive gravel gradually through a shared work budget. Only the live track owner paints, respecting the original creator's ward access and protected no-build areas. Previewing or canceling placement never changes terrain.
Automatic excavation, filling, leveling and smoothing are removed entirely, regardless of retained or synchronized legacy settings. Prepare obstructing soil and supports manually. Stone paint saves through the native terrain system and remains after rail removal. Set DirtTrackbedOnPlacement = false to stop new and gradual painting; this does not erase existing gravel or restore earlier cuts/fills. TracksTakeDamage and reversible vegetation protection remain independent.
If the native paint brush is unavailable, otherwise valid track placement proceeds without gravel and displays a notice. Normal construction, support and access checks still apply.
Troubleshooting and removal
Stamina still costs energy after setting zero: check the driving HUD. Stamina: 0/s base (disabled) confirms the effective pumping setting is zero; any positive value means the active setting is still above zero. Solo tandem driving uses HandcartStaminaPerSecond, while two eligible riders use TandemHandcartStaminaPerSecond.
On a remote server, run vikingrail_config status to compare the loaded local value with the active server value and identify the local config path. Being an admin does not automatically upload offline edits, and re-saving an already-zero local value does not propose a change. Edit the active server file or make a changed-value edit after admin/settings confirmation. For an intentional complete upload, first review all 35 shared settings, then use vikingrail_config push and wait for confirmation. Recheck the effective HUD/status value; non-admin edits cannot change the server settings.
Version 0.45.2 separately clears leftover walking, autorun and sprint input when mounting a driver or pump partner. This fixes extra native walking stamina cost when boarding while encumbered; it does not change a positive server setting or suppress stamina costs from unrelated actions. With the effective pumping rate at zero, pumping does not delay stamina regeneration.
If no pieces appear, check the active profile's log for the version line and startup errors, and confirm that the required materials are known. The included icons need no separate installation. If movement stops, read the HUD reason and check route alignment, obstructions, fuel and locomotive track type.
Keep the mod installed while its pieces or packed items remain in your world, inventories, storage or tombstones. Before uninstalling, unload cargo, unpack stored vehicles/plows and dismantle all railway pieces and attachments. Keep a pre-uninstall world backup.
