
Idavoll
Dungeon respawn for Valheim. Crypts, caves and camps rebuild on a timer, with the same layout and everything back inside.Idavoll
Dungeon respawn for Valheim.
Crypts, burial chambers, caves, Fuling villages and dvergr towers rebuild on a timer. Chests refill, monsters come back, ore is whole, doors are shut, smashed props are standing again. The layout does not change, so a crypt you have learned is still the crypt you learned.
Named for Idavoll, the field where the surviving gods gather after Ragnarok and build the world again from nothing.
This is new, and it destroys things on purpose.
Idavoll deletes every object a dungeon placed and lets the game build it again. That is the only way to get a mined-out ore vein or a broken door back, and it means the protection list - the code that decides what is not deleted - is the whole mod. It has been written carefully and it refuses loudly when it is unsure, but it has not yet been run for months on a busy server.
Take a world backup before the first reset, and use
idavoll_dryrunbefore you trust it. A dry run changes nothing and prints exactly what would be destroyed and what would be kept, with a reason for every survivor.
What It Does
Vanilla Valheim never resets a dungeon. DungeonGenerator.Generate runs exactly once per
dungeon, during first world generation, and after that a crypt stays looted forever. On a server
that runs for months, the map fills up with buildings that are just empty rooms.
Idavoll gives every location a timer. When one comes due and nobody is near it, everything the location placed is destroyed and the game's own generation path is re-entered - so the rebuild is Valheim building the dungeon, not Idavoll imitating it.
What It Will Not Destroy
Everything below survives a reset, and each rule is worked out from live game data rather than a list of names, so modded equivalents are covered too:
- Anything a player built. Walls, chests, workbenches, signs, portals, beds.
- Portals, separately and by prefab, because losing one strands whoever is on the far side.
- Terrain modifications. Every hole you dug and every path you levelled.
- Beds, tombstones and player characters.
- Tamed creatures, including ones partway through being tamed.
- Ships and carts.
- Dropped items, by default - so gear on the floor where somebody died is safe.
- Vegetation. Trees, rocks and bushes are never touched.
- The zone's own spawner, so a reset zone does not go quiet forever.
- Unique locations such as boss altars, which are skipped entirely.
- Anything you name in
protectedPrefabs.
One gap worth knowing: objects created with the spawn console command carry no creator, so
they look exactly like dungeon furniture. If you have admin-spawned something precious inside a
dungeon, name its prefab in protectedPrefabs.
There is also a ceiling. If a reset would destroy more than maxObjectsPerReset objects it
refuses and tells you, rather than proceeding. That number exists so a bug in the protection
list shows up as a refusal instead of a loss.
Resetting Is Opt In
Out of the box Idavoll resets burial chambers, sunken crypts, mountain caves, troll caves and Fuling villages, and nothing else.
That narrowness is deliberate. Valheim's location registry holds every location in the world - on a full map that is around fourteen thousand of them, and the overwhelming majority are scenery: standing stones, dolmens, ruins, wood houses, flint deposits, shrines, spawn points. A mod that reset anything it had not been told about would slowly rebuild the entire map.
So the catch-all rule * ships disabled. A location with no matching rule never resets, and
deleting a rule always makes things safer rather than riskier.
To see what is actually in your world and write rules for it:
idavoll_locations
That lists every kind of location with a count, whether it has an interior, and which rule (if any) covers it. It is the only way to get the prefab names - they live in the game's asset bundles, not anywhere you can read offline. Mistlands and Ashlands content has no rules yet; add the keys you want from that list.
Installing
Install it on the server. The whole engine is server-side: it owns the timers, it owns the world, and a client-side install does nothing on its own.
Install it on admin clients too, for the settings UI. Idavoll adds a Dungeons tab to Highseat's panel, which lists every dungeon with its countdown and gives you a dry run and a reset button per row.
Highseat comes down with Idavoll as a dependency. It is a client-side admin console, so on a dedicated server it simply sits there doing nothing, and Idavoll runs fine without it: every setting and every command is reachable from the console either way.
Settings
Server settings live in BepInEx/config/gbv.valheim.idavoll.json and are pushed to admin
clients automatically. Edit them in the Dungeons tab or in the file, whichever suits.
| Setting | What it does |
|---|---|
enabled |
Master switch for automatic resets. |
timeSource |
WorldTime or WallClock. See below. |
defaultIntervalHours |
Hours between resets for anything no rule names. |
playerClearanceMeters |
How far away everybody has to be before a dungeon may reset. |
maxObjectsPerReset |
The refusal ceiling. |
maxResetsPerHour |
Throttle, so a long absence does not rewrite a region at once. |
protectDroppedItems |
Keep loose items on the floor. On by default. |
skipUniqueLocations |
Never reset boss altars and similar. Leave this on. |
protectedPrefabs |
Extra prefab names never to destroy. |
rules |
Per-location intervals. |
Rule keys are a prefab name (Crypt4), a prefix (Crypt*) or * for everything. An exact
match beats the longest matching prefix, which beats *. Setting a rule's enabled to false
means that location never resets, and so does having no rule at all - see above.
Which clock
WorldTime is the default, and it is Valheim's own world clock - it only advances while
somebody is online. A server nobody touches for a week does not age its dungeons by a week.
That is usually what people mean by a respawn timer, but it does surprise people, so it is worth
saying plainly.
WallClock is real elapsed time, for a server that is genuinely always busy.
Commands
All of them work from an admin client as well as from the server console.
| Command | What it does |
|---|---|
idavoll_status [filter] |
Every dungeon that can reset, when it last did and when it is due. |
idavoll_locations [filter] |
Every kind of location in your world, with counts and which rule covers it. |
idavoll_dryrun <x> <z> |
Show what a reset would destroy and keep. Changes nothing. |
idavoll_reset <x> <z> [force] |
Reset one dungeon now. |
idavoll_pending |
What the scheduler is waiting for, and what is in flight. |
idavoll_forget <x> <z>|all |
Clear stored reset times, so they count from now. |
idavoll_reload [defaults] |
Re-read the rule table and push it to clients. |
idavoll_abort |
Abandon the reset in flight. |
here works in place of coordinates: idavoll_dryrun here.
One Behaviour That Looks Like A Bug
On a dedicated server a reset happens in two halves, and they can be days apart.
The destroy runs immediately. The rebuild runs when a player is next within simulation distance
of that zone, because that is when the server generates the zone at all. Between the two,
idavoll_pending shows the dungeon as waiting and the dungeon is empty.
This is deliberate, and it is better than the alternative: the work costs nothing until somebody is actually going there. But if you reset a dungeon, fly away, and find an empty shell when you come back a minute later, wait for the zone to load rather than resetting it again.
After Restoring A Backup
Reset times live beside the config, not in the world save, so restoring a world backup rolls the
world back and leaves the schedule where it was. idavoll_forget all makes everything count
from now, which is what you want.
Credits
Built for Guys Being Vikings. Shared publicly in case it suits your server too.
Everything here was written from Valheim's own decompiled code. No other mod's source was read or adapted.