Valheim
Install with App

Details

Latest version
3.0.51
Last Updated
First Uploaded
Downloads
175
Likes
1
Size
221KB
Dependants
ADDatHost Valheim hosting
€1

The Great Hall

A server-authoritative character system and leaderboard for Valheim dedicated servers.

The server owns your character. It keeps the authoritative copy, hands it back when you join, and a character levelled somewhere else cannot be walked in. Everyone on the server earned what they are carrying, on that server.

There is also a hall — press F7 — with the realm's boss progress across the top, a leaderboard ranking everyone by deaths, power level or skill category, and a dossier on every Viking you click.

Deaths say what killed you: "HEINLIEN was killed by a Troll", "HEINLIEN fell to their death".


Valheim 1.0.7

Build 51 is rebuilt for Valheim 1.0.7 (network version 39). Anything earlier will not work on 1.0.7: the update moved several fields this mod reads, and an older build takes the dedicated server down with it rather than just failing quietly. If you are running an earlier build, replace both halves.


⚠ This is a development build

It works, and it has been tested fairly hard by one person. It has not been tested with several people playing at once, which is the next thing on the list. Expect rough edges, expect bugs, and please do not put it on a server whose characters you would be upset to lose.

If something breaks, or you just want to tell me it is bad, find me as Zomax in the Valheim Modding Discord.

Try it without installing a server

There is a live test server running this. Client mod only — install it, join, and see what happens.

srv1936396.hstgr.cloud:2456
password: valheim

It is realm-locked, so you will be asked whether to hand your character over the first time, and you will start there with a brand new character.


The hall

Boss progress across the top — the realm's saga, with each boss's own trophy icon, lit when felled. This is the one figure on the board nobody can fake: bosses write a key into the world save when they die and the server reads its own keys. No client is involved.

The leaderboard, sortable by deaths, power level, or any of the three skill categories.

Click any name for that Viking's dossier:

  • Deeds — monsters slain, bosses felled, blocks, parries, items crafted, pieces built, trees felled, ore mined, distance travelled and sailed
  • Equipped — a paper doll of what they are carrying, drawn with the game's own item art
  • Slain — their kills broken down by creature
  • Killed by — what has killed them, and how often
  • Recent deaths — the last twenty, by world day
  • Skills — every skill they have raised, grouped and ranked

Deaths are measured by the server from the character's own state, so a death cannot be hidden or invented. Everything else is reported by the player's client: honest for honest players, which is what a leaderboard needs. It is not an anti-cheat system and does not pretend to be.


What it does to your character

Nothing, unless you agree. Before anything is applied, the mod stops and tells you in plain words what the server is about to do, and you can disconnect instead. That question is asked once per character, per server.

On a realm server:

  • Your first visit starts a brand new character — no gear, no skills. Your name, face, hair and beard come with you; nothing else does.
  • The server's copy is the one that counts. Whatever that character did elsewhere is not part of it.
  • Your own character file is never read, written or deleted. The realm character is held separately, and nothing touches the character you picked at the menu.
  • Everything you earn there is uploaded and given back next time — skills, inventory, food, recipes, appearance, and where you were standing and what you had explored.

Progress is uploaded every few minutes, on death, on logout, and a few seconds after your inventory changes. An unclean exit — a crash or a power cut — can cost the last few seconds. A normal logout costs nothing.

The consent prompt carries one optional extra, off by default: whether to keep your character-select slot updated with your realm progress, so the carousel shows the gear you actually have. Turning it on replaces that local character when you log out. It is the only thing this mod ever writes to your own character files, it cannot be undone, and it never happens unless you tick the box.

On servers that do not run this, it does nothing

The mod greets each dedicated server once and goes inert if it gets no answer. Unknown routed RPCs are silently ignored by vanilla Valheim, so a plain server never notices it is there — no custom version string, no changed network version, nothing making you incompatible with anything. Singleplayer and other people's servers are unaffected.


Installing the server

The package contains both halves:

File Goes where Notes
Deathboard.Client.dll every player's BepInEx/plugins the mod manager does this for you
Deathboard.dll the dedicated server's BepInEx/plugins copy it there yourself

Both are installed on your own machine by the mod manager, and that is fine — each stands down where it does not belong. The server half does nothing on a client, and the client half does nothing on a headless server. Realm features additionally require a dedicated server, so hosting a play-with-friends world will not realm-lock your own game.

Steps

  1. Install BepInEx on the dedicated server if it is not there already.
  2. Copy Deathboard.dll into the server's BepInEx/plugins/.
  3. Start the server once. It writes BepInEx/config/com.deathboard.valheim.cfg.
  4. Restart after any config change.

Check it loaded — the log line is the only honest confirmation:

===== Deathboard v3.0.0 build 51 starting =====
Realm protocol 9 registered (RealmMode=True, ... ). KickUnmodded is ON: ...

⚠ Realm lock is ON by default, and it kicks people

RealmMode and KickUnmodded both default to true, because a server-authoritative character store that ships switched off is not what anyone installs this for.

That means every player must have the client mod installed. Anyone without it is disconnected about fifteen seconds after connecting, and Valheim only lets a server show one of thirteen built-in reasons, so what they actually see is "Incompatible version". There is no way to send them a custom message — tell people out of band before you turn this on.

If that is not what you want, set RealmMode = false for a plain leaderboard server: no character data moves at all.

Settings worth knowing

BepInEx/config/com.deathboard.valheim.cfg

Setting Default Purpose
RealmMode true The server owns characters. Off = leaderboard only.
KickUnmodded true Disconnect players without the client mod.
KickUnmoddedGraceSeconds 15 How long they get to complete the handshake.
BackupCount 3 Previous character generations kept per player.
BackupIntervalMinutes 10 How far apart those backups are spaced.
SnapshotDir (empty) Where characters are stored. Empty = <config>/Deathboard/characters.
BoardTitle The Great Hall Leaderboard heading.
SkillJumpWarnPoints 15 Log a warning when one skill leaps this far. Advisory only.
AcceptDeathReports true Take "what killed me" from clients, for the death line and the dossier.
DeathCauseInAnnounce true Put the cause in the global death line. Off keeps the old wording.
AcceptStats true Take activity stats (kills, trees, distance, blocks) for the stat screen.
ShowBossRow true Show the realm's boss progress across the top of the hall.
BossOrder (the seven) Boss order and display names, as globalKey=Name pairs.

All four Accept* switches are independent of RealmMode — a leaderboard-only server can still collect every one of them.

Where the data lives

BepInEx/config/Deathboard/deaths.json              the ledger
BepInEx/config/Deathboard/causes.json              what has killed each character
BepInEx/config/Deathboard/stats.json               activity totals, skills, equipment
BepInEx/config/Deathboard/characters/<steamId>/    every stored character
    <name>.fch            the character
    <name>.fch.bak1..N    previous generations
    <name>.world          position, spawn points, explored map
    <name>.meta.json      generation and checksum

Back that folder up. It is the characters.

The config file and folders say deathboard — that was the working name, and renaming them would orphan every stored character. They were left alone on purpose.


Requirements

  • Valheim 1.0.7. Build 51 is compiled against it and is not compatible with earlier versions.
  • BepInEx for Valheim, on both the client and the server.
  • Both halves must be the same build. The wire protocol has a version byte, and a mismatched client goes inert rather than half-working — which, on a realm-locked server, means it gets kicked.

Privacy

On a realm server this uploads your character — skills, inventory, food, recipes, appearance, position and explored map — to that server, which is what lets it hand the character back.

Separately, for the hall, your client reports: your skill levels, your activity counters, what has killed you, and what you have equipped. Equipped items only — not the rest of your pack, not your position, not your character file.

Nothing is sent anywhere else, and nothing at all is sent to servers not running this mod. On any server that does not answer the handshake, the mod sends nothing at all.

DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro