Bedtime
Server-only bed announcements for vanilla and modded clients. Shows how many players are in bed. Keeps vanilla sleep rules.
A dedicated-server Valheim mod that shows how many players are in bed. Players can use vanilla clients, including consoles.

Valheim still decides when everyone can sleep. Sitting does not count, there is no voting, and the mod never starts sleep or skips time.
Behavior
- Shows
X of Y players asleepin a top-left notification, with an optional alphabetical list of players not in bed. - Announces changes to the count or displayed awake-player list. Unchanged status is not repeated automatically.
- Type
zzzin normal chat to repeat the current sleep status for everyone on the next sleep-update pass. Requests share a five-second cooldown. - Shows
Everyone went to sleep. Sweet dreams!once when everyone is in bed. - Stays silent with only one active player, when nobody is in bed, and during sleep.
- Uses Valheim's existing sleep-update pass, currently every two seconds. Bedtime adds no timer or per-frame update loop.
- Counts the same active player characters as vanilla's sleep check. Characters still loading or respawning may not be counted until the game registers them.
- Uses the normal notification queue and fade. Each announcement appears in the game's message log. Other game messages can interrupt the display.
- No client installation or configuration is required.
Repeat the announcement
Type zzz in normal chat when someone is waiting in bed. Bedtime shows the
current count and optional awake list to everyone within about two seconds.
Any message containing only three or more Zs works, such as zzzz, ZZZZZ, or zZZZzzZ.
Unchanged status stays quiet until requested again or a player state changes.
Use plain zzz, without a slash. Vanilla rejects unknown slash commands such as /zzz
before sending anything to the server. You will see your own zzz chat echo;
Bedtime stops it from being forwarded to other players. Ordinary chat is unchanged.
The command shares a five-second server-wide cooldown and stays silent when
nobody is in bed, only one active player remains, or sleep is already underway.
It requires the client's normal chat communication permissions.
Installation
- Install BepInExPack_Valheim 5.4.2350 or newer on the dedicated server.
- Extract
plugins/Bedtime.dllfrom the release ZIP intoBepInEx/plugins/Bedtime/on the server, then restart it. - Remove or disable JustSleep or any other mod that changes sleep requirements if you want vanilla sleeping. Bedtime does not undo other mods' gameplay changes.
For the community-valheim-tools container, place the DLL in the persistent
/config/bepinex/plugins/Bedtime/ directory so it survives updates.
Installing Bedtime on a client has no effect. To uninstall, remove its DLL and restart the server. It writes no world or player data.
Configuration
After the first start, edit BepInEx/config/augusdogus.mods.Bedtime.cfg on the server:
[Announcements]
ShowAwakePlayers = true
Set ShowAwakePlayers = false to hide the Not Sleeping: heading and player list.
Only the count remains, for example 1 of 3 players asleep.
The list is enabled by default. Restart the server after changing the setting.
Build and verification
bun install --frozen-lockfile
dotnet build src/Bedtime/Bedtime.csproj -c Release -t:Package \
-p:GameDir="/path/to/Valheim" \
-p:BepInExDir="/path/to/profile/BepInEx"
MANAGED_DIR="/path/to/Valheim/valheim_Data/Managed" \
BEPINEX_DIR="/path/to/profile/BepInEx" bash scripts/check.sh
bun run typecheck
bun test tests/
Requires .NET SDK 8 and Bun 1.4.1+. Output: artifacts/Bedtime-1.1.0.zip.
Tests cover announcement transitions and the installed game's bed/HUD contracts.
See manual multiplayer checks for verification with real clients.
Built from ValheimModTemplate. Inspired by the server announcements in ServersideQoL, with an independent implementation and no dependency on its code or plugins.
Development and releases · Repository layout
License
MIT. Copyright (c) 2026 AugusDogus. Banner font notices are retained in FONT-LICENSE.txt.
