ValheimOptimizer

v0.1.17·Updated 2026-09-18

Faster Valheim loading/networking: up to 96.9% shorter forced join wait, 68.8% shorter teleport minimum, and 62-67% smaller validated ZDO payloads.

About this mod Author’s original text

MagiCorp Valheim Optimizer

Client and server performance optimisations for Valheim focused on faster joins, faster teleports, lower ZDO transfer volume and less unnecessary rendering work.

Loading-path improvements

These percentages describe the specific loading stages changed by the plugin, not a guaranteed reduction in total connect-to-spawn time. Total load time still depends on world size, storage, CPU, network latency and other mods.

  • Initial join wait: up to 96.9% shorter. On a negotiated server, once the server confirms the initial area is ready, the enforced initial respawn delay is reduced from Valheim's 8.0 s to 0.25 s. Death respawns are unchanged.
  • Distant teleport minimum: 68.8% shorter. The forced minimum is reduced from 8.0 s to 2.5 s. The player is still held until the destination is actually ready.
  • Object creation throughput: up to 3x. While loading, the ZNet object creation cap increases from 100 to as many as 300 objects per pass. That can reduce an object-creation-bound phase by up to 66.7%. It automatically backs off to 200, 140 or 100 objects on slow frames.
  • ZDO transfer size: 61.9% to 67.2% lower in validation. On the Purple Turtle test-world clone, compressed optimizer traffic measured 1,461,672 -> 557,604 bytes client-side and 1,747,722 -> 572,898 bytes server-side. These are plugin ZDO payload bytes, not exact Steam on-wire totals.

The test world used for those network measurements contained about 584,794 ZDOs. A separate server-startup LoadChunks comparison showed a small apparent improvement, but it was not counted because later runs had a warmer page cache.

Server-side requirements for best performance

For the full optimisation path, install the same Valheim Optimizer version/protocol on the dedicated server and on every connected client.

Full client/server negotiation enables:

  • compressed ZDOData transfers
  • adaptive server replication scheduling
  • expanded replication send window
  • priority initial-area transfer for faster first spawn
  • portal destination prefetch
  • adaptive high-throughput object creation during loading
  • the reduced 8.0 s -> 0.25 s initial join wait
  • the reduced 8.0 s -> 2.5 s distant-teleport minimum
  • persistent minimap cache reuse for negotiated worlds

For the server-wide replication scheduler and expanded send window, all connected peers must support the optimizer. If a vanilla client or incompatible protocol is connected, the affected server networking paths fall back to Valheim-compatible behaviour rather than forcing the optimisation.

A client-only install still provides local-only changes such as the immediate loading screen, asynchronous scene-loading path, custom loading artwork and reduced main-menu rendering, but it does not get the main negotiated loading/network gains listed above.

Defaults

  • Replication rate: 30 Hz for negotiated peers
  • Replication window: 128 KiB when every peer is negotiated
  • Main-thread network budget: 1.75 ms/update
  • ZDO compression threshold: 2 KiB
  • Loading object limit: 300/pass, adaptive under poor frame time
  • Distant teleport minimum: 2.5 s
  • Initial join minimum: 0.25 s after server area-ready confirmation
  • Portal prefetch limit: 6,000 destination ZDOs

Configuration is generated at BepInEx/config/magicorp.valheim.optimizer.cfg.

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.

Dependencies

Install these first, or the mod will not work:

denikson-BepInExPack_Valheim

File & checksum

Filename
ValheimOptimizer-0.1.17.zip
File size
2.3 MiB