Valheim
Install with App

Details

Latest version
0.7.5
Last Updated
First Uploaded
Downloads
729
Likes
0
Size
1.7MB
Dependants
ADDatHost Valheim hosting
30% off

Valheim Railway - Buildable Trains and Stations

Build a railway, furnish a flat carriage, and take it for a ride. Snappable track, inclines, station stops and onboard controls make ordinary building and driving possible without console commands.

Latest working test: Valheim 1.0 — specifically version 1.0.15 (Steam build 25390630). Other patches and future updates are not covered by this result.

Railway 0.7.5 is experimental. On September 21, 2026, its full Windows graphics-enabled disposable-world regression test passed with official BepInExPack_Valheim 5.4.2350 and Jotunn 2.30.0, all required checks passing and zero managed exceptions. Real multi-client/dedicated-server play, mod-manager installation and large-build performance have not been validated. Back up your worlds, characters and mod setup; begin in a disposable world.

New in 0.7.5 (including updates since 0.5.3)

  • Ctrl + E empty-train summoning, named stations and a 2x2m destination display. Ordinary E calls now search up to 4,096m of connected loaded track.
  • Manual A/B railway switches, six additional 15°/30° entry, straight-grade and exit rails, and 150%/200% speed choices. Existing rails remain available.
  • A vertical boat-style boarding ladder: snap its top bracket to the deck and press E to board. The walk-up 2m-rise stairs remain available.
  • Improved mounted vanilla furniture, seated and jumping-passenger motion; fixed stale call state, missing station identities and repairable saved attachment references.
  • 0.7.5 arrival-clearance fixes: rotated pieces and touching surfaces no longer cause the old false obstruction checks. Doors use their saved open/closed pose; real obstacles and passengers still block summoning, and refusal messages identify the obstructing part.

Requirements and installation

The package declares these official dependencies; neither dependency DLL nor loader core is bundled:

Unity and a .NET SDK are not required to play. Windows Valheim 1.0.15 is the tested platform; other operating systems are unverified.

Using a mod manager

  1. Close Valheim and create a separate Valheim test profile in Thunderstore Mod Manager or r2modman. Retain backups outside the active profile.
  2. Install Valheim Railway into that profile, including its declared dependencies. Thunderstore's dependency system is designed to install declared requirements automatically. Check the actual installed versions against the baseline above. Package/dependency documentation.
  3. Make sure the profile contains only one Railway DLL and one Jotunn DLL. Do not combine a manual game-folder installation with duplicate profile copies.
  4. Launch the game through the manager and use a new disposable world. Verify building, travel and save/reload before trying a valuable save.

This ZIP follows Thunderstore's BepInEx plugins routing convention. These are the expected manager steps, not a claim that manager import/install has been tested. Packaging documentation.

Manual installation

  1. Close the game/server, back up saves and existing plugins, and install the two official dependencies using their instructions.

  2. Copy the archive's plugins/ValheimRailway folder into your game's BepInEx/plugins folder. The resulting path must be:

    <Valheim folder>/BepInEx/plugins/ValheimRailway/ValheimRailway.dll
    
  3. Keep only one active copy of each plugin, including copies inside subfolders. The assets are embedded in the Railway DLL; there is no separate AssetBundle to install.

  4. Start with a disposable world. If using a manager profile, work inside that profile instead of creating a second manual installation.

Earlier private tests used experimental Jotunn 2.29.2.1. It is not included or required here. Back up and move that old DLL outside the active plugins folder before installing official Jotunn 2.30.0. Changing Jotunn may affect other mods, so test the whole mod list separately.

Features

  • A raised, flat 6x6m Rail Platform, matching a 3x3 arrangement of vanilla 2x2m floors, plus a compact Rail Cart and visible wheel/bogie details.
  • One leader plus one follower: two vehicles maximum per train. Coupled vehicles follow curves, inclines and reverse travel.
  • Hammer-snappable rail endpoints, carriage couplers and accessory anchors. Platforms/carts placed close enough automatically snap to track.
  • Four-metre straight rails, broad 45-degree curves, smooth 15/30-degree inclines, flexible closure rails and automatic station-stop rails.
  • Additional 15°/30° flat-to-grade, straight-grade and grade-to-flat pieces, plus a separate manual junction switch.
  • Press E at the Station Stop sign to call an available parked train on connected, currently loaded track. Range and safety limits are explained below.
  • Solid trestle posts, crossbeams and braces that block players. Track-following movement does not depend on gravity, physical wheel chains or normal structural support.
  • Flat 2x2m floor, wall and roof modules; window walls, working doors, passenger seats and switchable warm-interior/cool-exterior lights.
  • Walk-up train stairs, an attachable vertical boarding ladder, and a 2x2m display for the named automatic-call destination and travel status. Manual driving has no selected destination.
  • Train Wall - Tall Window 2x4 (2m wide x 4m high) and Train Wall - Panoramic Window 4x4 (4m wide x 4m high): one continuous pane, refurbished-oak frame, 2m-grid perimeter snaps and distinct icons. Each uses one attachment slot.
  • Matte refurbished-oak grain and plank seams. Metal, glass, upholstery and lamp lenses retain their own finishes.
  • Distinct build icons and support for the Transport/Wood build-menu filters.
  • Successfully attached vanilla building pieces move with the vehicle, with all-speed motion correction and additional seat following for chairs/thrones. Multi-storey construction shares the attachment limit below.
  • Rider correction recognizes the base deck and mounted vanilla upper floors, with train-relative grounded and jumping motion. Walking, jumping away and stepping onto a dock remain possible.

Wood x1 and damage protection

Every Railway-supplied piece costs Wood x1, refunds one Wood on hammer removal, and ignores ordinary attacks, fire, weather, ash and structural-support damage. Enemy and normal player attacks do not destroy these pieces; use the hammer to dismantle them.

Ordinary vanilla objects placed aboard do not gain attack immunity. Mounting an object and protecting it from damage are separate features.

What the 128-piece limit means

Each vehicle can carry 128 attached building pieces total. Each floor tile, wall, roof tile, seat, lamp, control stand or other attached object uses one slot. The base vehicle itself is not one of those 128 attachments. All storeys on that vehicle share its limit; a second storey does not reset the count. A coupled follower has its own 128 slots.

At capacity, another piece can still be placed in the world, but it is NOT attached and will not travel with the train. The game displays an attachment warning. Remove that piece with the hammer, free some slots or build on the other carriage, then rebuild it. Waiting does not attach an already unmounted piece; after recently removing old pieces, a fresh placement attempt a few seconds later can check for reclaimable saved slots.

Your first train

  1. Equip the hammer and find Railway pieces under Transport. Snap several straight rails together and leave room at both ends.
  2. Place a Rail Platform or Rail Cart close to the rail so it snaps onto it.
  3. Build a Train Control Stand on the platform. Add a few furnishings from the deck or a piece already attached to that vehicle.
  4. Look at the control stand and start at low speed. Test forwards, stop, then reverse. Confirm every furnishing moves with the platform before expanding the build.
  5. Put a Station Stop Rail where the train should stop automatically. Its sign can also call an available parked train with E. Use the stand to depart again; there is no automatic shuttle schedule.

Controls

Aim at the lead vehicle's Train Control Stand. Default keyboard bindings:

Input Action
E Forward / depart a station
Shift + E Reverse / depart in reverse
Alt + E Cycle 25%, 50%, 75%, 100%, 150%, 200% speed
Ctrl + E Stop
Ctrl + Shift + E Couple an eligible nearby carriage

Changing speed preserves the current direction; while stopped, it selects the next departure speed. A stand on an already coupled follower cannot drive the train. Aim at a train door/lamp and press E to open/close or toggle it. Seats use the normal sit interaction.

Calling a train to a station

Stand beside Rail - Station Stop, aim at its roadside sign and press E. Existing stations gain this interaction automatically; no extra part or console command is needed. An available parked train is selected by route distance, travels forward or in reverse at 50% speed, and stops at the requested marker. A called train passes intermediate station stops to reach its destination.

E calls require connected, currently loaded track, with a 4,096m route-distance cap and a bounded search. This is not a guaranteed radius or a way to load distant areas: the train, station and route must be loaded. Moving/busy trains are not taken over; an occupied station or existing inbound call blocks another call. Ward access at the station and train is required. A network request stays pending until accepted; a timeout is not a successful call.

At the sign, Shift + E names the station (up to 32 characters). Ctrl + E requests an instant summon of an empty, stopped train over connected saved rails, including its coupled carriage and mounted pieces. The source must be wholly loaded or wholly unloaded, not partially loaded. The host must have the destination, caller and entire arrival footprint loaded; remote-client-only areas and headless dedicated servers are not supported for this action. Everyone, including the caller, must stand clear. Passenger, ward, geometry and full-assembly checks can refuse an unsafe or incomplete request. Animated doors must settle. A busy-world check can ask you to retry.

Both station calls are available to ordinary players, not only the host; no admin or console commands are required. All participants need matching Railway versions. A stopped train can be called from the middle of connected track; it does not need to be parked at another station.

The onboard direction/speed controls cancel the call and return to manual driving; Ctrl + E stops immediately. Missing/changed track, unloading or a train ownership change also cancels the journey. Keep the route clear: this is not a signalling or collision-avoidance system.

Coupling and closing track gaps

For a second carriage, place it behind the first on straight track, facing the same way. Stop both, keep couplers close and avoid overlapping decks. Placement auto-couples only one safe, unambiguous, locally owned pairing. Otherwise use Ctrl + Shift + E and correct any alignment/spacing issue shown by the message. More than one follower is not supported.

For a small route gap, snap one end of Rail - Flexible Closure to an open rail endpoint. Placement automatically fits the other end when valid: 1.5-7m gap, another endpoint within 3m of the preview's free end, and no more than 30-degree grade. Sharply misaligned, folded or ambiguous routes are rejected. Read the warning and adjust the neighbouring track if needed. There is no E-based spline editor.

Manual junction switches and boarding

The Rail Junction Switch controls exactly three coincident, aligned rail endpoints: one approach and two exits. Snap its junction marker to their shared endpoint; the visible lever sits 4.2m to its local right. Press E at the lever to request route A/B and wait for confirmation. Only the selected branch connects, in either direction. Calls follow the selected route; there is no automatic destination-based switching. Nearby trains, attached builds or an active call can lock the switch. The host must have the caller and junction loaded, and ward access is required.

For the Train Boarding Ladder - Vertical 2m, snap its top bracket to the platform edge with brackets facing inward. Press E to board a clear deck. An unattached warning means it must be dismantled and rebuilt attached to the train; it will not follow simply because it is nearby. The separate Train Stairs - 2m Rise is a walk-up piece for movement between floors.

Known limitations and multiplayer

  • Co-op and dedicated-server testing is outstanding. All participating clients and the server, if used, need matching Railway and official dependencies, but matching versions is not a reliability guarantee. Test disposable shared worlds first.
  • No automatic destination-based switch setting, vertical loops/inversions, unlimited carriage chains or automatic schedules.
  • Local native checks cover six-speed forward/reverse motion, mounted beds/chairs/floors, standing/jumping passengers, switches, boarding and empty summons. Simulated remote-owner/peer fixtures are not a real two-computer network test; latency and live ownership handoffs remain unverified.
  • Previously unattached pieces must be dismantled and rebuilt to attach them. This update does not automatically repair old unmounted construction.
  • Arbitrary modded or Rigidbody-driven furnishings are not guaranteed to work. Motion correction reduces vibration; it does not promise perfect behaviour for every object.
  • Long railways, solid support colliders, many furnishings and lights still cost frame time and network work. Shared textures, shadowless lamps and deterministic travel do not make large builds lag-free.
  • The exact 0.7.5 DLL passed the full disposable-world suite with zero managed exceptions, including existing build, mounting, movement, coupling, persistence and removal checks. New native clearance tests cover rotated bounds, face contact, real penetration and persisted door poses. This is not coverage of every mod combination or load level; save-state coverage is not a full process-restart test.

Safe removal and troubleshooting

Disabling Railway does not turn its custom pieces into vanilla objects. Loading and saving without the mod can lose railway pieces and attachments. Keep a matching world/plugin backup. If retiring a railway, dismantle its contents and vehicles while the mod is active, save, quit, then test removal in a copied world. Do not remove BepInEx/Jotunn if your remaining mods require them.

Stop trains before rollback. Older releases do not register all new pieces: dismantle parts unavailable in the target version while the current mod is loaded, or restore a matching older world/plugin backup. This includes the 0.5.2 tall windows and the later transition rails, display, stairs, boarding ladder and switch.

  • Missing pieces: check installed versions, duplicate DLLs and build filters.
  • Train not moving: check track snapping and use E/Shift + E to depart a station; operate the lead vehicle's stand.
  • Objects left behind: check the attachment warning/capacity; dismantle and rebuild from an attached train piece.
  • E call rejected: check connected loaded rails, the 4,096m route cap, selected switch branches, ward access and whether the train/station is busy. Aim at the sign, not the track deck.
  • Ctrl + E rejected: stop and empty the train, stand clear of its complete arrival footprint, and ensure the host has the caller/destination area loaded. Follow the specific obstruction or attachment message; genuine obstacles are not removed automatically.
  • New game-update errors: stop testing on valuable worlds until compatibility is checked.

For reports, include versions, minimal reproduction steps and a relevant BepInEx/LogOutput.log excerpt. Check logs/screenshots for personal information before sharing; do not post private saves publicly.

Credits

Built for Valheim using BepInEx and Jotunn; these are separate community projects, and their requirement does not imply endorsement.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.