UpdatingOldPlugins-ServerSideSave icon

ServerSideSave

Saves characters server-side and enforces one character per Steam account, so players can't bring in edited or pre-loaded saves.

Last updated a week ago
Total downloads 163
Total rating 1 
Categories Tools Server-side AI Generated
Dependency string UpdatingOldPlugins-ServerSideSave-0.1.0
Dependants 1 other package depends on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2350 icon
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.2350

README

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_<SteamID64>_<charactername>.sss) so it never conflicts with or gets confused for a regular Valheim character file. Backups use the naming pattern ..._backup_auto-<timestamp>.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.