Confirm with your password

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.

· Website

Stars
0
Downloads
181
Version
1.1.2
Updated
Author
Wubarrk
Virus scan
✓ Scan successful
Runs on
Client & Server
Required by
3 mods

Description

🛏️ RuneboundRest

Valheim Mod Multiplayer Compatible Framework Version

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)

  1. Install Gale.
  2. Make sure BepInEx is installed.
  3. Search for RuneboundRestInstall → launch through the manager.

Manual

  1. Install BepInEx.
  2. Extract the release into Valheim/BepInEx/plugins/.
    • e.g. steamapps\common\Valheim\BepInEx\plugins\RuneboundRest.dll
  3. 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

  1. Install BepInEx on the server, exactly as on a client.
  2. Drop RuneboundRest.dll into the server's BepInEx/plugins/.
  3. Start the server once, then stop it — that writes BepInEx/config/wubarrk.runeboundrest.cfg.
  4. 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.
  5. 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

1.1.2 Latest
  • 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 turned ZRoutedRpc.Everybody from 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 (its ZRoutedRpcEverybodyStatic bridge 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. MinimumRequiredVersion follows 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 every SE_Rested / comfort member the patches read was checked against the 1.0.7 decompile. Both transpilers still find their anchors - GetNearbyComfortPieces still loads 10f for the comfort radius and UpdateBaseValue still compares the scan timer against 2f - and SE_Rested.CalculateComfortLevel gained a second overload (bool inShelter, Vector3 position) on 1.0 that the existing typeof(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. MinimumRequiredVersion follows 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 SkillXPMultiplier was 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 running AllowRestingNearEnemies could 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.dll was 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 have ServerSync.dll sitting in BepInEx/plugins from 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-Tools folder instead of a per-project copy, removed an unused Jotunn dependency and a leftover scratch file.

1 older entry, full version history & downloads →

Manual installation instructions
1

Install BepInExPack Valheim

BepInExPack Valheim is required to run mods in Valheim.

Download BepInExPack Valheim 5.4.2350 · View mod page

Check out the mod page for detailed installation instructions.

2

Install RuneboundRest

This mod must be installed on both the client and the server.

Download RuneboundRest 1.1.2

Extract the ZIP and place the file(s) into the BepInEx/plugins/ folder inside your Valheim game folder.