Valheim
You are viewing a potentially older version of this package. View Latest Version
Install

Details

Date Uploaded
14 hours ago
Downloads
8
Size
172KB
Dependency string
TheBiggestAiUser-ServerCharacterVault-1.0.0
ADDatHost Valheim hosting
30% off!

ServerCharacterVault

ServerCharacterVault makes the server the authoritative source for player characters in Valheim. It locks each platform ID to one character and synchronizes that character between the server and the client.

WARNING: Joining a ServerCharacterVault server with an existing character WILL wipe that character.

Use a new character when joining a ServerCharacterVault server for the first time. Back up any character you care about before connecting.

What Players Need to Know

  • ServerCharacterVault must be installed on the dedicated server and on every connecting client.
  • On a first join, the server creates a blank character. Inventory, skills, recipes, food, trophies, and other progression are cleared. Appearance details such as hair and clothing are preserved.
  • On later joins, the server replaces the local character file with the server's saved copy. Any items, skills, or other progress made offline are discarded.
  • Each platform ID is locked to the first character it registers. Joining with a different character is rejected.
  • The client sends character updates to the server after relevant actions, such as picking up or discarding items and gaining or losing skills. It also performs a general profile sync automatically, normally every five minutes.

Installation

  1. Install BepInEx on the dedicated server and on every client.
  2. Install ServerCharacterVault.dll in BepInEx/plugins/ServerCharacterVault/ on both the server and clients.
  3. Start the server and connect with a new character.

Clients without ServerCharacterVault, or clients running a different version, are disconnected.

PC Xbox Game Pass users should also be supported when connecting through Valheim crossplay. They must still be able to install and run BepInEx and ServerCharacterVault on the client.

Server Data

ServerCharacterVault stores its data on the server in:

BepInEx/config/ServerCharacterVault/
|-- bindings.json                 Platform ID to character name bindings
`-- snapshots/
    `-- Steam_76561198XXXXXXXXX.json
                                  Saved character data for each player

The configuration file is:

BepInEx/config/ServerCharacterVault.cfg

Admin Commands

These commands require the admin to be listed in the server's adminlist.txt. (Both /scv and /sc command prefixes are supported).

Command Effect
/scv remove [playerId] Remove a character binding. The player can register a different character on the next join.
/scv wipe [playerId] Delete the player's server snapshot and binding. The player receives a blank character on the next join.
/scv list List all character bindings.
/scv status [playerId] Show the player's binding and snapshot status.
/scv help List available commands.

Configuration

Changes take effect on the next player join.

Setting Default Description
EnforceCharacterBinding true Lock each platform ID to one character.
AutoSaveIntervalMinutes 5.0 How often the client sends its character data to the server.
ProfileSyncTimeoutSeconds 15.0 How long the client waits for the server's character data before disconnecting.
VerboseLogging false Enable additional log output.

Limitations

  • ServerCharacterVault is designed for dedicated servers. The host player in a peer-to-peer game does not go through the normal server join flow.
  • Profile synchronization is bounded and safe against corruptions via atomic write operations.
  • The server stores character data in the native Valheim profile format. Back up the snapshots directory before major Valheim updates.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.