Valheim
You are viewing a potentially older version of this package. View Latest Version
Install

Details

Date Uploaded
an hour ago
Downloads
24
Size
167KB
Dependency string
Chazman-RunicWorldEngine-1.1.0
ADDatHost Valheim hosting
30% off!

Runic World Engine 1.1.0

Runic World Engine is a standalone, conservative world-state observatory and save smoother for Valheim 0.221.12. It measures aggregate ZDO population, peer count, create/destroy intervals, send/receive rates, and save/load call duration at a hard maximum of one aggregate sample per second. Its only runtime requirement is BepInExPack Valheim 5.4.2333.

Authority and performance bounds

World-data handling remains conservative:

  • it never deletes, rewrites, compacts, quarantines, reprioritizes, or force-sends a ZDO;
  • unknown third-party data is always preserved;
  • it creates no persistent world keys of its own;
  • it publishes no registry, capability, protocol, ownership declaration, or cross-mod service;
  • it has no client UI or asset load, so dedicated servers use the same small runtime;
  • optional summaries are off by default and rate-limited to 5–600 seconds.

The observatory uses constant-time collection counts and event counters. It does not perform a base scan, sector walk, prefab enumeration, heat-map build, or save clone on the game thread. Save/load completion cannot force an extra sample through the one-second ceiling. A failed sample is discarded without changing world state or blocking any gameplay mod.

Save smoothing

Asynchronous periodic saves are coalesced while an earlier save is still active and their main-thread preparation is deferred briefly when the previous frame exceeded the configured frame budget. The deferral is bounded (five seconds by default), so a persistently busy server still saves. Synchronous shutdown saves are never deferred. The smoother never touches Unity objects from a worker thread; Valheim retains ownership of both snapshot preparation and its normal disk writer. This reduces avoidable save-time spikes, but no mod can promise a literally zero-frame hitch for every world size and storage device.

Configuration

Setting Default Meaning
General.Enabled true Enables aggregate observation; false creates no patches or observatory state.
Diagnostics.LogPeriodicSummary false Writes bounded aggregate summaries.
Diagnostics.SummaryIntervalSeconds 30 Summary cadence, clamped to 5–600 seconds.
Save Smoothing.Enabled true Coalesces overlapping asynchronous save requests and waits for a stable frame.
Save Smoothing.FrameBudgetMilliseconds 24 Preferred maximum previous-frame duration before save preparation starts.
Save Smoothing.MaximumDeferralSeconds 5 Hard maximum delay before a pending save must start.

Planned later work—world heat maps, compaction, and synchronization scheduling experiments—is not claimed by 1.1.0 and remains disabled until separately designed and tested.

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