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.
RuneboundRest
Server-authoritative overhaul of Valheim's Rested/Comfort system: config-driven comfort, resting conditions and rested duration, plus a new Well Rested buff for sleeping a full night in your own claimed bed.
| Date uploaded | 2 weeks ago |
| Version | 1.1.3 |
| Download link | Wubarrk-RuneboundRest-1.1.3.zip |
| Downloads | 90 |
| Dependency string | Wubarrk-RuneboundRest-1.1.3 |
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
🛏️ RuneboundRest
RuneboundRest reworks Valheim's Rested/Comfort system end to end: how fast comfort builds up, what conditions let you rest at all, how long the Rested buff lasts, and how much it's worth. On top of that it adds a brand-new Well Rested buff for actually sleeping through the night in your own claimed bed.
Every gameplay setting is server-synced and admin-lockable — the server's config file is the one that matters on a multiplayer world.
⚔️ Features
🌙 Reworked Rested Buff
Base duration, duration-per-comfort-level, and the skill XP multiplier while Rested are all config-driven. Defaults roughly double vanilla's generosity (960s base duration vs. vanilla's 480s, 120s per comfort level vs. 60s), and the XP bonus while Rested defaults to 3x (vanilla is 1.5x).
An AlwaysRested toggle exists for servers that want the buff permanently active.
🔥 Configurable Resting Conditions
Vanilla hardcodes what lets you start Resting (fire, shelter, dryness, not being sensed by enemies). RuneboundRest replaces that logic with individually toggleable rules: require fire or not, require shelter or not, allow resting while wet, allow resting near enemies, and how many seconds of sitting/resting it takes to acquire the buff (default 4s vs. vanilla's 10s).
🧭 Comfort Area
The radius the game scans for comfort-providing furniture and how often it rescans are both configurable (default 30m radius / 6s interval vs. vanilla's 10m / 2s).
🪑 Sitting & Lying
Extra comfort points and a faster rested-buildup-speed multiplier apply while actively sitting or lying in a bed, both independently configurable for sitting vs. sleeping.
🌟 Well Rested — sleep a full night, in your own bed
A brand-new buff, separate from the comfort-driven Rested buff above. It's granted the moment you wake from a server-confirmed full night's sleep in your own claimed bed — the same "everyone in the group is asleep" moment that skips the night to morning in vanilla. Grants bonus health regen, stamina regen, and a stacking skill XP bonus for its duration. Can be disabled entirely if you only want the comfort-based Rested system.
⚙️ Configuration
(Run the game once to generate the config file in BepInEx/config. All settings below are server-synced and admin-lockable via 0. Server Sync > LockConfiguration — on a locked server, the host's values win.)
1. Core Rested Buff
| Setting | Default | Description |
|---|---|---|
AlwaysRested |
false |
Permanently have the Rested buff; the timer never decreases. |
BaseRestedDuration |
960 |
Base Rested duration in seconds (vanilla: 480). |
DurationPerComfortLevel |
120 |
Seconds added per comfort level (vanilla: 60). |
SkillXPMultiplier |
3.0 |
XP gain multiplier while Rested (vanilla: 1.5). |
2. Resting Conditions
| Setting | Default | Description |
|---|---|---|
RequireFireForResting |
true |
Require a nearby fire to start Resting. |
RequireShelterForResting |
false |
Require shelter to start Resting. |
AllowRestingWhileWet |
false |
Being wet no longer blocks Resting. |
AllowRestingNearEnemies |
false |
Being sensed by enemies no longer blocks Resting. |
SecondsToAchieveRested |
4 |
Seconds of Resting needed before the Rested buff is granted (vanilla: 10). |
3. Comfort Area
| Setting | Default | Description |
|---|---|---|
ComfortSearchRadius |
30 |
Radius (m) scanned for comfort-providing pieces (vanilla: 10). |
ComfortUpdateInterval |
6 |
Seconds between comfort rescans (vanilla: 2). |
4. Sitting & Lying
| Setting | Default | Description |
|---|---|---|
SittingComfortBonus |
2 |
Extra comfort while actively sitting. |
SleepingComfortBonus |
4 |
Extra comfort while lying in a bed. |
SittingRestedBuildSpeedMultiplier |
2.0 |
Rested-buildup speed multiplier while sitting. |
SleepingRestedBuildSpeedMultiplier |
4.0 |
Rested-buildup speed multiplier while lying down. |
5. Utility
| Setting | Default | Description |
|---|---|---|
EnableDebugLogging |
false |
Verbose [RuneboundRest Debug] logging. Local to you — not server-synced. |
6. Well-Rested Buff
| Setting | Default | Description |
|---|---|---|
EnableWellRested |
true |
Grant the separate Well Rested buff for sleeping a full night in your own claimed bed. |
WellRestedDuration |
1200 |
Well Rested duration in seconds. |
WellRestedHealthRegenBonus |
0.25 |
Extra health regen while Well Rested (+25%). |
WellRestedStaminaRegenBonus |
0.25 |
Extra stamina regen while Well Rested (+25%). |
WellRestedSkillXPBonus |
0.5 |
Additional skill XP bonus while Well Rested, stacks with the normal Rested bonus (+50%). |
📥 Installation
Mod Manager (Recommended)
- Install Gale.
- Make sure BepInEx is installed.
- Search for RuneboundRest → Install → launch through the manager.
Manual
- Install BepInEx.
- Extract the release into
Valheim/BepInEx/plugins/.- e.g.
steamapps\common\Valheim\BepInEx\plugins\RuneboundRest.dll
- e.g.
- Launch the game.
⚠️ Multiplayer: every player on the server must have the mod installed. 📦 One file. No external dependencies to install alongside it — RuneboundRest bundles its own config-sync library.
Dedicated Server
- Install BepInEx on the server, exactly as on a client.
- Drop
RuneboundRest.dllinto the server'sBepInEx/plugins/. - Start the server once, then stop it — that writes
BepInEx/config/wubarrk.runeboundrest.cfg. - Edit the server's config. Every gameplay setting is server-synced: on connect the server pushes its values over each client's, so the server's file is the one that decides everything above except
EnableDebugLogging. - Restart.
🏰 Come Play It With Us
RuneboundRest is one piece of a bigger table. Wubarrk builds several mods for Valheim, meant to be run together on Wubarrk's modded server. Details on joining live on the Discord.
Forged by Wubarrk. Rest well. 🔥
License: MIT — use, modify, and redistribute freely, including commercially; just keep the copyright notice. See LICENSE.md for the full text.
CHANGELOG
Changelog
[1.1.3]
- Rebuilt for Valheim 1.0.16. Rebuilt against the 1.0.16 game assemblies (client build 25527674 / dedicated server build 25527701, network version 40) on BepInEx 5.4.2350. No source change was needed: both transpilers still find their anchors -
GetNearbyComfortPiecesstill loads10ffor the comfort radius andUpdateBaseValuestill compares the scan timer against2f- and every Harmony target andSE_Rested/ comfort member the patches read is unchanged. - No gameplay change. Verified on the real 1.0.16 dedicated server: static reference check against both the 1.0.16 client and dedicated-server assemblies is clean (1089 references, 26 Harmony targets, same counts as 1.1.2), and the comfort-update-interval transpiler still patches successfully with no Harmony errors.
[1.1.2]
- Fixed: config sync was broken on Valheim 1.0.x without a compatibility patcher. 1.1.1 shipped with a prebuilt
ServerSync.dll(built against a pre-1.0 game) merged into the plugin. Valheim 1.0 turnedZRoutedRpc.Everybodyfrom a static field into a constant, and that old build still loads it as a field - which the game's Mono runtime refuses to compile (MissingFieldException: ... Using static instructions with literal field). The server booted fine and clients connected fine, but the first time the server pushed a synced value that differed from a client's own config file, the client's config-apply handler died mid-package: the remaining values stayed at the client's local settings and the admin lock never engaged. The mod only behaved correctly if the Valheim10Compatibility patcher happened to be installed (itsZRoutedRpcEverybodyStaticbridge papers over exactly this). RuneboundRest now compiles ServerSync from the shared source against the current game assemblies, like every other Wubarrk mod, so it binds on 1.0.7 / 1.0.12 on its own - no patcher, no bridge. - No gameplay change.
MinimumRequiredVersionfollows the mod version to 1.1.2, so 1.1.1 clients (which cannot sync correctly anyway) are refused rather than silently running mismatched settings. - Verified on the real 1.0.12 dedicated server (build 25253791, network version 40) with BepInEx 5.4.2350; static reference check against both the 1.0.12 client and dedicated-server assemblies is clean, including the new constant-field check that would have caught 1.1.1.
[1.1.1]
- Valheim 1.0.7 compatibility. Rebuilt for 1.0.7 (client build 25185596 / dedicated server build 25185644, network version 39) on BepInEx 5.4.2350. No source change was needed: every Harmony target (
Player.UpdateBaseValue/UpdateEnvStatusEffects/SetSleeping,SE_Rested.CalculateComfortLevel(Player)/GetNearbyComfortPieces/Setup/UpdateStatusEffect,SE_Cozy.Setup/UpdateStatusEffect,SE_Stats.Setup,ObjectDB.Awake/CopyOtherDB) and everySE_Rested/ comfort member the patches read was checked against the 1.0.7 decompile. Both transpilers still find their anchors -GetNearbyComfortPiecesstill loads10ffor the comfort radius andUpdateBaseValuestill compares the scan timer against2f- andSE_Rested.CalculateComfortLevelgained a second overload(bool inShelter, Vector3 position)on 1.0 that the existingtypeof(Player)pin already keeps unambiguous. - Verified the ServerSync merge on a Linux build: the ILRepack step runs, the merged DLL is the one staged into
HexiumDist/plugins, and it resolves cleanly against both the 1.0.7 client and dedicated-server assemblies. - No behaviour change.
MinimumRequiredVersionfollows the mod version to 1.1.1, as it always has. - The Thunderstore dependency now names the 1.0 BepInEx pack (
denikson-BepInExPack_Valheim-5.4.2350).
[1.1.0]
- New: Well Rested — a separate buff from the comfort-driven Rested, granted for sleeping through a server-confirmed full night in your own claimed bed (health regen, stamina regen and a stacking skill XP bonus, all configurable, toggleable via
EnableWellRested). - Fixed: the skill XP multiplier while Rested was miscalculated as roughly 201x instead of the intended 3x. The underlying field is additive to a 1.0 baseline multiplier, not a percentage scaled by 100 - a leftover from an earlier, incorrect assumption about the value's units. Every world running the default
SkillXPMultiplierwas getting a game-breaking XP bonus while Rested; it now applies correctly. - Fixed:
Player.IsSafeInHome()could disagree with whether you actually had the Resting buff. The mod overrides vanilla's resting conditions, but the flag other systems read to ask "is this player safe at home" was still being computed from vanilla's original, un-overridden logic - so a server runningAllowRestingNearEnemiescould grant Resting while the game still considered the player not safe at home. It's now derived from the same config-driven decision the Resting buff itself uses. - Fixed:
ServerSync.dllwas not actually being bundled into the shipped plugin DLL. The merge step existed but pointed at a library search path that didn't exist, so it silently failed - meaning the mod as previously built would refuse to load on any machine that didn't happen to already haveServerSync.dllsitting inBepInEx/pluginsfrom another mod. This is the library the server-authoritative config locking depends on, so it's now verified to be correctly merged and internalized into the single shipped DLL. - Hardened the comfort-scan-interval patch to match the same safety net the comfort-radius patch already had (stops after the first match, logs an error if the expected value ever isn't found), so a future Valheim update can't cause it to silently corrupt an unrelated value.
- Chore: reference assemblies now come from the shared
libs-Toolsfolder instead of a per-project copy, removed an unused Jotunn dependency and a leftover scratch file.
[1.0.0]
- Initial build: config-driven Rested duration/XP, resting conditions, comfort radius/update interval, and sitting/lying bonuses, all server-synced and admin-lockable.