InventoryAnticheat
Inventory snapshots for single-server and trusted multiserver Valheim setups.
About this mod Author’s original text
InventoryAnticheat
InventoryAnticheat keeps a server-owned inventory snapshot for each enrolled Valheim character. The installed plugin file remains CatosServerInventory.dll. At login, the server compares the client inventory report with the last accepted snapshot. During play, the server asks the client for a fresh report at the configured interval and writes the result to the server authority store.
The default setup is for one Valheim server. A trusted multiserver setup is available when all server instances can read and write the same authority directory.
Character requirement
Players must join a protected server with a new Valheim character created for that server. The first join establishes the character's clean inventory baseline. Do not bring an existing character into the protected setup. The mod will reject it because it is designed to keep that character's inventory original to its designated server.
For a trusted multiserver setup, create the character once as a new character for that server group. The same enrolled character can then use the servers that share the authority directory. If each server must keep separate characters and inventories, create a separate new character for each server and use Standalone mode.
What administrators need to install
Install the same CatosServerInventory.dll in BepInEx/plugins on:
- the dedicated Valheim server;
- every client that joins that server.
The server stores the authority records. The client component supplies the current inventory report when the server requests it. Valheim's dedicated server does not expose the live remote Player inventory object to this plugin, so the client component is required for checkpoint capture and login validation.
Use the same mod version on every server and client. Do not test with an older DLL left in another Gale or r2modman profile.
First setup: one server
Standalone mode is the default and is the right choice when the mod protects one server or when each server should have its own inventory authority.
- Install the DLL on the server and clients.
- Start the server once. BepInEx creates:
BepInEx/config/com.catosvalheim.serverinventory.cfg
- Keep the default deployment settings:
[Deployment]
Mode = Standalone
SharedAuthorityPath =
ClusterId =
NodeId =
- Start with EnforcementMode = AuditOnly.
- Join with a new character. A fresh Valheim character must have the configured starter items, which default to a Rag Tunic and Torch.
- Pick up a few ordinary items, wait for at least one snapshot interval, then reconnect.
- Check the server log and the local authority directory before switching to enforcement.
In Standalone mode, a blank PlayerDataDirectory stores records under the server's BepInEx config directory:
BepInEx/config/CatosServerInventory/players
BepInEx/config/CatosServerInventory/incidents
Each server has its own records in this mode. Do not use Standalone mode if a character must move between trusted Valheim servers.
Trusted multiserver setup
Shared mode is intended for trusted servers on the same machine, or for servers that can access one shared filesystem. Both Valheim processes must see the same directory and the same files. Giving both servers the same text path is not enough if a container, sandbox, namespace, VM, or hosting panel gives each process a private filesystem view.
Each server reads and writes the same character record when the player connects. The shared filesystem is the handoff. Players can choose which server to join through any method available in their setup.
Use different node IDs for every server. Use the same cluster ID and shared authority path on every server.
- Choose shared storage
Choose an absolute directory that both server processes can read, write, lock, rename, and create subdirectories in. A local directory shared by two processes on one host is the simplest option. A network filesystem can work, but verify that it supports reliable file locking and atomic ren
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: