Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Serverbound
Dedicated world and AI simulation for Valheim, with optional client support for audited compatibility integrations.
| Date uploaded | 2 weeks ago |
| Version | 0.1.13 |
| Download link | Talent-Serverbound-0.1.13.zip |
| Downloads | 34 |
| Dependency string | Talent-Serverbound-0.1.13 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2351README
Serverbound
Serverbound moves Valheim's world and AI simulation onto the dedicated server. Players keep control of their characters and character saves.
Install
- Back up the world and configuration, then stop the server.
- Install BepInExPack_Valheim 5.4.2351 and remove predecessor simulation DLLs.
- Extract the package into the server directory. The DLL belongs at
BepInEx/plugins/Serverbound/Serverbound.dll. - Start once to generate
BepInEx/config/org.serverbound.valheim.cfg. Stop before editing it. - Restart and check
BepInEx/LogOutput.logforSimulation: APPLIED.
Basic simulation accepts vanilla clients. ImpactfulSkills integration also needs Serverbound and the supported skill mod on participating clients. The same DLL supplies the client bridge and never runs dedicated simulation on clients. Clients without the bridge can join, but cannot supply skill bonuses.
Upgrade
Remove Serverside_Simulations.dll, Valheim_Serverside.dll, and SarkasticGG_Dedicated_Simulation.dll, including copies in nested plugin folders. Never load a predecessor alongside Serverbound.
Copy the settings you need from MVP.Valheim_Serverside_Simulations.cfg into the new config while stopped. Section and key names are unchanged. Serverbound does not migrate the file automatically.
CharacterGuard and ItemLedger have been removed. Their config settings are discarded during startup. Their old tracking files beside the world save are no longer used.
The new assembly and namespace are Serverbound; the plugin GUID is org.serverbound.valheim. Custom integrations must update old GUID, Harmony-owner, and reflected-type references. Skill RPCs and replicated keys now use the Serverbound.* prefix. ImpactfulSkills clients and the server must use matching Serverbound versions. World data keeps its format.
Supported builds
Serverbound accepts audited Valheim 1.0.16, 1.0.17, and 1.0.20 Windows client and Windows/Linux dedicated assemblies. It rejects unsupported assembly hashes.
Verified supported mods
| Mod | Verified version |
|---|---|
| ValheimPerformanceOptimizations | 1.2.3 |
| ValheimCommunityPatch | 0.34.1, 0.35.0, 0.35.1, 0.36.0, 0.36.1, 0.37.0 |
| ImpactfulSkills | 0.21.0, 0.21.1, 0.21.3, 0.22.0, 0.22.1, 0.23.0, 0.24.0 |
| ValheimTune | 0.7.9, 0.7.10 |
| Heightmap Unlimited JvL | 2.0.2 |
| ComfortTweaks | 3.3.11 |
Note: If you're using ImpactfulSkills, this mod also needs to be installed on each client running ImpactfulSkills for it to work properly.
ValheimCommunityPatch spawning
With VCP 0.37.0, Serverbound runs VCP's Love Potion spawn fix on the dedicated server. It uses the potion status published by clients running VCP and retains the vendor's configuration. A player without published status receives the base spawn behavior. Existing vendor hooks are kept, and disabling simulation removes only the hooks Serverbound added.
ComfortTweaks portals
With ComfortTweaks 3.3.11 on Valheim 1.0.20 dedicated servers, Serverbound removes the client-only rested check from portal triggers. This prevents repeated null-reference exceptions when a nonplayer collider enters a portal. Client portal rules remain unchanged. Check the server log for ComfortPortals: APPLIED.
OdinShip
Serverbound integrates with the audited OdinShip 0.8.7 build. Install Serverbound and that OdinShip build on the requesting client and the current ship owner, including the dedicated server when it owns the ship. Check for OdinShip: APPLIED in the log.
Nearby clients can request customization and turret-mode changes from the current ship owner. Request range is 8 m from ship controls for customization and rename, or from a ship turret for mode changes. The owner checks access before applying rename and routed requests. Direct owner customization and turret writes retain OdinShip's permissions. Requests do not transfer ship ownership.
Rename requests report acceptance or rejection, including submissions by the owner. Requests time out visibly after five seconds without a response. The OdinShip integration remains active if simulation rolls back.
Heightmap Unlimited JvL
Heightmap Unlimited JvL 2.0.2 registers its terrain patches only on clients. A simulating server without them rebuilds saved terrain within 8 m of the original ground, and creatures it owns can move through ground that players see as solid. When that server owns a terrain area, leveling or raising there also cuts the saved change back to 8 m for everyone.
With that build installed on the dedicated server, Serverbound runs the mod's own terrain patches there. The limits come from the Max Height and Min Height settings in the server's Heightmap Unlimited JvL config. Check the log for TerrainLimits: APPLIED. Clients keep using the mod as before. Serverbound changes no terrain limits on clients.
Serverbound does not restore terrain that an earlier server already cut back to 8 m.
How ownership works
The server loads zones and objects around ready players and creates nearby objects first. Areas outside every player's active range can unload. Clients can retain valid ownership leases inside their areas; Serverbound does not continuously seize every object.
Player objects remain client-owned. A ship with a valid driver follows that driver's ownership. An empty ship returns to the server, with an open ship container delaying the handoff.
This increases server CPU, memory, and upload needs, especially when players explore separate areas. Remote actions wait for transport and a server frame, so the ownership change can also increase interaction latency.
Configuration
Settings are local, are not synchronized, and require a restart. The generated config describes every key.
| Section / key | Default | Effect |
|---|---|---|
| MaxObjectsPerFrame / MaxObjects | 100 | More objects load areas sooner but can lengthen frames. |
| Performance / MaxZonesPerTick | 1 | Shared new-zone budget across players. Zero removes the limit. |
| Performance / ServerTargetFps | 60 | Frame target; actual rate depends on CPU headroom. Zero keeps the game's target. |
| Performance / SendIntervalMs | 100 | World-send interval in milliseconds. Zero keeps existing scheduling. |
| Performance / MaxCatchUpMs | 100 | Fixed-step catch-up cap. Under load, a cap can slow game time. Zero keeps the engine setting. |
| Server / UnityJobWorkers | 8 | Worker-count cap. Zero leaves the count alone. |
| Networking / Enabled | true | Queue and Steam send-rate settings. Disable when another mod owns these. |
| Networking / QueueSizeKB | 48 | Per-peer queued world data. Larger queues can increase latency. |
Choose one owner for overlapping networking and simulation settings. Do not copy a pack preset into a standalone installation without checking it.
Troubleshooting
REJECTED BUILD/INSTALLATION: check game/mod builds against the supported versions and remove predecessor DLLs. Do not bypass guards.Simulation: DISABLED: fix the reported takeover mismatch and restart. Stop the server if rollback reports hooks still installed.TerrainLimits: NOT APPLIED: the server still limits terrain to 8 m. Install the supported Heightmap Unlimited JvL build on the server, restart, and keep players from leveling or raising terrain until the log showsTerrainLimits: APPLIED.- Repeated dungeon loading or distant objects flickering with VCP: check the world-start messages confirming spawn-queue and unload-hook removal.
- Missing skill state: check that the client has Serverbound, the supported ImpactfulSkills build, and
Compatibility / ClientSkills=true. - Slow loading or delayed interactions: compare frame times, object counts, memory, and send queues. Raising an object budget or queue size can make other delays worse.
Include the full log, game/mod versions, and reproduction steps in a report.
Attribution
Serverbound is built on ddormer's valheim-serverside and MistrCech's maintained fork.
CHANGELOG
Changelog
0.1.24
- Supports ValheimPerformanceOptimizations 2.0.0 on Valheim 1.0.21.
0.1.23
- Supports ValheimCommunityPatch 0.42.0.
- Uses its unloaded-base spawn check during dedicated simulation.
0.1.22
- Supports ValheimCommunityPatch 0.41.0.
0.1.21
- Supports ValheimCommunityPatch 0.40.0, including its shield fixes.
- Lets fully loaded player areas create objects while other players' areas load. Terrain and object-type loading requirements remain enforced.
- Avoids repeated sector queries for players in the same zone and repeated skill reads when selecting a nearby actor.
0.1.20
- Supports Valheim 1.0.21 Windows clients and Windows/Linux dedicated servers, and ValheimCommunityPatch 0.39.1.
- Stops reporting false warnings for absent optional Core hooks. Required patch checks remain in place.
0.1.19
- Supports ValheimCommunityPatch 0.39.0.
- Saves local portal changes in the portal save chunk, including when the community patch handles received changes.
- Validates ship-control grants against the sending owner and the ready player aboard the ship.
- Disables simulation when a required Core rewrite fails, including after another mod repatches it.
- Shares zone generation fairly among ready players when more than one zone can be generated per tick.
0.1.18
- Supports ImpactfulSkills 0.26.0. Owner-side skill bonuses keep their existing behavior.
0.1.17
- Supports ValheimCommunityPatch 0.38.0. Dedicated simulation retains the existing object-management takeover and Love Potion spawning correction.
0.1.16
- Fixes a server crash while exploring caves. When a dungeon room failed to load, the server released that dungeon's room assets twice, which unloaded them while other dungeons were still using them.
- No longer reuses an asset bundle the game's loader doesn't own when Unity refuses to load a second copy. The affected dungeon now skips spawning and is tried again later, instead of risking a crash when either copy unloads.
0.1.15
- Supports ImpactfulSkills 0.25.0. Mining, woodcutting, loot, plant, beehive, and boat bonuses still use the player's own skill. 0.25.0 handles taming speed and taming XP itself, so Serverbound no longer touches that code.
0.1.14
- Turns off OdinShip customization and ballista-mode routing if another mod later changes the same OdinShip input code, and logs
OdinShip: NO LONGER APPLIED. OdinShip's own owner-only controls take over, and a ship owner rejects routed change requests instead of applying them. - Leaves a game method unchanged, with a warning in the log, when it no longer has the shape a patch expects. Several patches used to rewrite whatever matches they found, so a game update could leave a method half patched.
- Reads ImpactfulSkills settings and game fields through compiled accessors instead of reflection on every mining, woodcutting, taming, and boat-damage hit.
0.1.13
- Removes ComfortTweaks 3.3.11's client-only rested check from dedicated-server portal triggers. Nonplayer colliders previously caused repeated null-reference exceptions. Clients keep the existing portal rule.
0.1.12
- Supports ValheimCommunityPatch 0.37.0 and ImpactfulSkills 0.24.0.
- Runs VCP's Love Potion spawn correction on the dedicated server when server simulation is active, preserving its configuration and existing vendor registrations.
- Lets static objects settle around remote players after terrain changes, so chopping a lowered tree uses its settled position for the stump.
0.1.11
- Supports the Valheim 1.0.20 Linux dedicated build. Unsupported game detection previously prevented server simulation and the configured server FPS target from applying on this build.
0.1.10
- Supports ValheimCommunityPatch 0.36.1.
0.1.9
- Supports Valheim 1.0.20 Windows clients and dedicated servers and ImpactfulSkills 0.23.0.
0.1.8
- Makes smoke on the dedicated server near players, so smoke blocks what the server runs the same way it does on a player's machine. The server never made smoke before, so a fireplace that players saw smothered kept burning fuel and setting nearby things alight, fires under a roof never choked, and smelters, kilns, and furnaces with blocked chimneys kept working. Those stations now stop until their chimney is clear, as they do without this mod. The new
[Fixes] ServerSmokesetting is on by default. - Puts out a fire the server took over from a player once the piece, tree, or log it burns on is destroyed. The server used to keep such a fire burning in mid-air until it timed out. The new
[Fixes] HandedOverFiressetting is on by default.
0.1.7
- Keeps the no-spawn area around each crafting station as wide as its build range on the dedicated server, including the range each upgrade adds and any larger range set by another mod. The server used to keep the area at its default 20 m, so creatures could spawn inside a base. The new
[Fixes] StationRangesetting is on by default.
0.1.6
- Supports ValheimCommunityPatch 0.36.0.
0.1.5
- Applies Heightmap Unlimited JvL 2.0.2's configured terrain limits on the dedicated server. The server no longer rebuilds terrain raised or dug beyond 8 m at the 8 m limit, and no longer cuts saved terrain back to 8 m when it levels or raises ground it owns.
0.1.4
- Supports ImpactfulSkills 0.22.0 and 0.22.1, plus ValheimCommunityPatch 0.35.1.
0.1.3
- Adds optional owner-routed customization and turret-mode requests for OdinShip 0.8.7.
- Measures request range from ship controls or the relevant turret and reports owner rename results.
- Keeps the OdinShip integration active when simulation rolls back. Owner customization and turret permissions retain vendor behavior.
- Supports ImpactfulSkills 0.21.3 and ValheimCommunityPatch 0.35.0.
- Preserves replicated skill reads through ImpactfulSkills' new bonus-cap helper.
0.1.2
- Supports ImpactfulSkills 0.21.1.
- Preserves StartupAccelerator's deferred configuration saves when removing obsolete settings.
0.1.1
- Removes CharacterGuard and ItemLedger, including character entry restrictions, item tracking and removal, and the
charactersandallowconsole commands. - Removes obsolete settings during startup while preserving other configuration values.
0.1.0
- Introduces Serverbound's assembly, plugin GUID, namespaces, configuration file and version series.
- Adds VPO/VCP takeover and the ImpactfulSkills server/client bridge.
- Fixes VCP detection timing and rejects competing predecessor.
- Preserves raid transpilers, ready-peer filtering, ship validity checks and dungeon patch ordering.
- Keeps CharacterGuard disabled and ItemLedger off.