Skip to content

ValheimTune 0.5.0

Choose a tag to compare

@Akoozie Akoozie released this 07 Sep 21:01
· 12 commits to main since this release

Server-side BepInEx plugin for Valheim dedicated servers. Players install nothing — every change is on the server and the wire format is untouched, so vanilla clients connect exactly as before.

Compatibility

game            0.221.12 (network version 36)
server build    21981590 (Steam app 896660)
needs           BepInEx 5.4.x for Valheim

On any other game version the plugin runs in vanilla + measurement mode and says so in the log — it will not silently apply old patch logic to new code.

Install

  1. Install BepInEx on the server. With the lloesche/valheim-server Docker image that is BEPINEX=true in server.env.
  2. Drop ValheimTune.dll into BepInEx/plugins/ (Docker: config/bepinex/plugins/).
  3. Restart. The config appears at BepInEx/config/akoozie.valheimtune.cfg.

Confirm in the log:

[ValheimTune] 0.5.0 loaded on game 0.221.12 (net 36), 14 methods patched, replacements on

Then apply the recommended settings one at a time.

Measured on the reference server

690,000 objects, a 12,000-instance base, 2-6 players, on a 4-core laptop.

Vanilla ValheimTune
Sync scan, per player per round 4.1 ms 0.07 ms
Autosave 381 ms freeze in one frame 6 ms slices over ~350 frames
Join sync cost ~11 ms per call ~5.5 ms
Join stream rate 1,261 objects/s 3,617 objects/s
Server frame rate 30 fps, hard-capped 60 fps

New in 0.5.0

[Server] SkipRenderMesh — a headless server rebuilds terrain render meshes it never draws. This prefixes Heightmap.RebuildRenderMesh and skips it; the collision mesh, paint mask and material instance are untouched.

It ships off, and honestly unproven. On the reference server the prefix attached but the new meshSkips counter stayed 0 across a five minute exploration run, because the server only instantiates a heightmap for ground that has never been generated and an explored world has none. Leave it off until you see meshSkips climb.

Everything else in this release is unchanged from 0.4.2. Full history in CHANGELOG.md.

Verify the download

sha256  d1d49249b66f09acdc873a1098411eb8ca16ec4d78438f26abfcc9481581cded
size    48,640 bytes

MIT licensed. Not affiliated with Iron Gate or Coffee Stain.