ServerSideSave
Saves characters server-side and enforces one character per Steam account, so players can't bring in edited or pre-loaded saves.
About this mod Author’s original text
ServerSideSave
Saves player characters server-side instead of trusting each player's local
save file, so a character can't be edited offline and brought back with
extra items, stats, or skills. Install on both the dedicated server and
every client that connects to it.
What it does
- Server-authoritative character storage. When a player logs out (or
autosaves), their character data is sent to the server and stored there.
On the next connect, the server sends that stored copy back down and it's
applied before the character spawns, overriding whatever the player's
local file contains. The server's copy is always what's used going
forward.
- One character per Steam account. Once a Steam ID has joined as a
given character name, it can only ever reconnect as that same character
on this server. Trying to join as a different local character gets
rejected with an explanation instead of a generic connection error.
- New players are forced to start fresh. A Steam ID that has never
connected to this server before spawns with a brand-new default
character, ignoring whatever loot or stats their local character file
already has. Steam IDs that already had a character on this server
before this mod was installed are unaffected.
- Rotating backups. Before overwriting a character's stored save, the
previous version is kept as a timestamped backup (a configurable number
of the most recent ones are retained).
Install
Both the server and every connecting client need this mod (and the same
version — the mod enforces this automatically and will reject clients that
don't have it or are out of date). Drop it into BepInEx/plugins/ like any
other BepInEx mod. Requires BepInEx (5.4.2350 or compatible).
Server config
After the server has been run once, settings appear in
BepInEx/config/ServerSideSave.cfg:
| Setting | Default | Description |
|---|---|---|
| SingleCharacterMode | true | Restrict each Steam ID to the one character name it first connected with. |
| ForceFreshCharacter | true | Force Steam IDs that have never connected before to spawn with a default character instead of their local save. |
| MaxBackups | 10 | Number of rotating timestamped backups to keep per character. |
Where data is stored
Server-side character data is stored in the world's characters_local
folder alongside the normal.fch files, using the extension.sss
(e.g. Steam__.sss) so it never conflicts with
or gets confused for a regular Valheim character file. Backups use the
naming pattern..._backup_auto-.sss.
Notes
- This mod does not provide a web API, admin commands, or a maintenance
mode — it's intentionally narrow in scope: save, load, protect.
- Existing characters that were already playing on a server before this
mod was installed are automatically grandfathered in wherever the mod
can tell (single-character-mode and the fresh-character check both key
off whether a character file already existed) — nobody needs to do
anything manually for that to work.
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.
Install these first, or the mod will not work: