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.
ValheimOptimizer
Faster Valheim loading/networking: up to 96.9% shorter forced join wait, 68.8% shorter teleport minimum, and 62-67% smaller validated ZDO payloads.
By MagiCorp
| Date uploaded | a week ago |
| Version | 0.1.16 |
| Download link | MagiCorp-ValheimOptimizer-0.1.16.zip |
| Downloads | 106 |
| Dependency string | MagiCorp-ValheimOptimizer-0.1.16 |
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.2350README
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.
CHANGELOG
Changelog
0.1.17
- Safety-disabled the experimental asynchronous remote scene loader after a client was observed negotiating successfully but never reaching character spawn.
- Remote joins now use Valheim's normal scene transition while retaining the optimizer's negotiated network, object-creation, spawn-delay and portal optimisations.
- Dedicated servers no longer apply the minimal-main-menu world-generator suppression.
0.1.16
- Expanded the Thunderstore documentation with loading-stage percentage improvements and benchmark context.
- Documented the server-side and all-peer requirements needed to enable the full optimisation path.
- No behavioural changes from 0.1.15.
0.1.15
- Added a dedicated Valheim Optimizer Thunderstore icon.
0.1.14
- Replaced the bare pre-join loading overlay with packaged full-screen MagiCorp artwork.
- Preloads the loading image once and releases it cleanly on plugin shutdown.
- Falls back to the previous black/text loading overlay if the artwork cannot be loaded.
- Expanded minimal-main-menu optimisation to suppress additional non-UI rendering work.