ZoneSavior

v1.3.0·Updated 2026-10-08

Archive inactive-player structures and tamed animals per zone, save/load/restore zone bundles, track player activity, configure archive exclusions, and enforce per-zone WearNTear limits.

Screenshots 2 screenshots

About this mod Author’s original text

ZoneSavior

Archive inactive-player structures and tamed animals per zone, save/load/restore zone bundles, track player activity, configure archive exclusions, and enforce per-zone WearNTear limits.

ZoneSavior is a Valheim server maintenance mod for zone-based cleanup, archive, restore, and build-count control.

This source targets Valheim 1.0.7 and BepInExPack Valheim 5.4.2350. It references original game DLLs and includes a pinned ServerSync compatibility build. Existing ZoneSavior config keys, RPC formats and current bundle format remain unchanged.

It can:

  • archive inactive player structures into zone bundle files
  • restore saved bundles to the original place or a new zone
  • optionally reset archived source zones
  • enforce per-zone WearNTear limits from zones.yml
  • track player activity for inactive-owner cleanup
  • provide an optional client zone UI

The zone UI hotkey (F8 by default) displays the current zone boundary with eight 64m corner extensions. The lines follow the terrain, with height samples every 4m, to help estimate neighboring zones.

Files

ZoneSavior uses one BepInEx config file and one data folder:

BepInEx/config/

sighsorry.ZoneSavior.cfg

ZoneSavior/

activity.yml

zones.yml

Diagnostics/

ZoneBundles/

tag_name/

manifest.yml

bundle001_.zonebundle.yml.gz

activity.yml stores player activity, scan state, and recent scan records. ZoneSavior reloads it conservatively at runtime: broken YAML, dirty runtime state, and active scans are ignored.

zones.yml stores zone limits and archive protection rules. Every rule must declare a non-negative limit. Steam IDs are the best long-term protection key; player names are convenient but can change.

ZoneBundles//manifest.yml records the archive shape. Each bundleNNN_.zonebundle.yml.gz stores one source zone as a compact, gzip-compressed YAML bundle. ZoneSavior reads and writes these files directly; no manual extraction is required. New bundle files are committed by replacing the manifest only after every zone is saved successfully.

Previous manifest and bundle versions, including uncompressed legacy zone bundles, are not loaded or converted. If the original world data is still available, create a new archive from the live world with the current ZoneSavior version before restoring it.

Diagnostics/ contains YAML reports written by zs_debugzone.

Config

Config sections:

  • 01 - General
  • Lock Configuration: lets the server control synced settings.
  • 02 - ZoneSavior
  • WearNTear Save Mode: controls whether zone bundle saves include creatorless WearNTear.
  • Zone WearNTear Limit: enables zone limits from zones.yml.
  • Zone UI Toggle Hotkey: toggles the client zone overlay.
  • Build Counter Visible Seconds: controls how long the placement counter stays visible.
  • Support Fill Contact Tolerance: terrain contact capture tolerance. Source terrain must be loaded to capture exact contacts.
  • Zone Bundle Support Fill Feather Width: blend width around restored support terrain.
  • 03 - Auto Archive
  • Dry Run: report only.
  • Reset After Save: reset eligible source zones after saving.
  • Minimum Pieces Per Cluster: small clusters are skipped, or reset without save during reset runs.
  • Inactive Days: owner inactivity threshold.
  • Scan Interval Minutes: automatic scan interval. 0 disables scheduled scans.
  • Scanner Batch Size: ZDOs inspected before yielding a frame.
  • Max Zones Per Run: maximum number of zones reserved for work in one automatic scan. Failed save/reset attempts still consume this budget.

What Gets Archived

ZoneSavior saves player-build structures, not arbitrary world clutter.

Saved:

  • player-build WearNTear objects with normal build recipes/resource costs
  • tamed monsters with MonsterAI and Tameable
  • creator metadata when present
  • terrain support data for saved structures

Skipped:

  • players, tombstones, loose item drops, projectiles, ragdolls, fish
  • location objects and volatile world objects
  • vanilla terrain comps and most raw terrain modifiers
  • W

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
ZoneSavior-1.3.0.zip
File size
386.7 KiB