Valheim AutoModSync
Join the server. The mods follow.
AutoModSync is a client/server synchronization utility for Valheim + BepInEx.
Instead of requiring every player to manually download, compare, update, and install the same server-required plugins, AutoModSync lets the server maintain the synchronized plugin set automatically.
Players connect to the Valheim server normally.
When an AutoModSync client joins an AutoModSync-enabled server, it can:
- Verify the server's identity
- Compare installed files against the server's signed manifest
- Download only missing or changed synchronized plugins
- Verify transferred files before installation
- Stage updates safely
- Restart Valheim when required
- Automatically reconnect to the same server
- Continue using the previously selected character when possible
✨ Features
- Automatic server-to-client BepInEx plugin synchronization
- Uses Valheim's existing game connection
- No additional synchronization port
- No extra firewall or router port-forwarding rule
- Transfers only missing or changed files
- Signed per-server manifests
- SHA-256 file verification
- First-contact server fingerprint trust
- In-game synchronization/download progress
- Automatic staging of changed files
- Automatic Valheim restart
- Automatic server reconnect
- Previously selected character continuation when possible
- Package-manager profile restart/reconnect support
- Unrelated extra client plugins are not automatically deleted
- Supports:
- Client
- Dedicated Server
- Host & Play
- Open-source AutoModSync components
How It Works
1. Trust
Every AutoModSync server has its own signing identity.
The first time a client encounters a server identity, AutoModSync displays the server's fingerprint so the player can decide whether that server operator should be trusted.
Only trust AutoModSync servers operated by people you trust.
2. Compare
AutoModSync compares the client's synchronized plugin hashes against the server's signed synchronization manifest.
Files that already match do not need to be downloaded again.
3. Download
Only synchronized files that are:
- Missing
- Outdated
- Different from the server version
are transferred.
This avoids unnecessarily retransferring the entire synchronized plugin set every time a player connects.
4. Verify
Transferred files are verified against the authenticated server manifest before being applied.
AutoModSync verifies expected file information including SHA-256 hashes and sizes before synchronized files are installed.
5. Restart
If synchronized plugins changed, AutoModSync stages the updated files and restarts Valheim so BepInEx can load them cleanly.
6. Reconnect
After the update is applied, AutoModSync attempts to return the player to the same server.
When possible, AutoModSync also continues using the character selected before the synchronization restart.
Valheim still handles the normal server-password prompt when applicable.
🔌 No Extra Sync Port
AutoModSync uses Valheim's existing game connection.
You do not need to:
- Open another synchronization port
- Add another firewall rule
- Add another router port-forward
- Run a separate web server for mod synchronization
The synchronization protocol operates through the existing Valheim connection.
Installation
Close Valheim and any running Valheim Dedicated Server before installing.
- Download the AutoModSync archive.
- Extract it to a normal folder.
- Run:
install.bat - Choose the appropriate installation mode.
Client
Use Client if you are a player joining AutoModSync-enabled servers.
The installer prepares the required AutoModSync client components for Valheim.
Dedicated Server
Use Dedicated Server on a Valheim dedicated server.
The server installation:
- Installs the AutoModSync server component
- Creates the server's unique signing identity
- Enables the server to publish its synchronized plugin manifest
- Serves synchronized files through Valheim's existing connection
Host & Play
Use Host & Play if the same Valheim installation will both:
- Host AutoModSync-enabled worlds
- Join other AutoModSync-enabled servers
This installs both client and server roles.
BepInEx
The standalone AutoModSync package includes the pinned BepInEx runtime required for a clean installation.
A separate BepInEx download is not required for a fresh standalone install.
Existing working BepInEx installations are intended to be preserved where possible.
🔐 Security Model
Important
BepInEx plugins are executable .NET code.
AutoModSync intentionally allows a trusted Valheim server to provide synchronized BepInEx plugins that will run on the client.
Because of that:
Only trust AutoModSync server fingerprints belonging to server operators you recognize and trust.
AutoModSync verifies:
- The server identity
- The signed synchronization manifest
- SHA-256 hashes of transferred files
- Expected file sizes
- Synchronized file paths
- File integrity before installation
However:
SHA-256 verification does not determine whether a third-party plugin is safe or trustworthy.
It confirms that the file matches what the authenticated server advertised.
AutoModSync is not an antivirus scanner.
Server Signing Identity
Each AutoModSync server receives its own signing identity.
The server's private signing key must never be distributed to clients.
Clients receive the server's public identity and fingerprint for trust verification.
Antivirus / Security Scanner Notes
The standalone AutoModSync archive includes the pinned BepInEx runtime used to load mods into Valheim.
BepInEx uses a Doorstop/bootstrap component named winhttp.dll.
Because DLL proxy/bootstrap behavior resembles techniques also used by some malicious software, heuristic antivirus scanners may occasionally flag this type of file even when it is the known upstream BepInEx component.
AutoModSync's standalone release build downloads the pinned BepInEx package from its upstream distribution source and verifies its SHA-256 hash before packaging the runtime.
AutoModSync's own source code is public and unobfuscated.
Users should still evaluate antivirus warnings rather than blindly ignoring them.
What AutoModSync Does Not Do
AutoModSync does not:
- Open a separate synchronization port
- Require users to manually compare plugin versions
- Blindly delete unrelated client plugins
- Claim third-party plugins are malware-free
- Replace Valheim's normal server-password handling
- Require a separate mod-distribution web server
🆕 Version 2.4.8
AutoModSync 2.4.8 improves restart and reconnect behavior for package-managed BepInEx profiles while preserving normal standalone behavior.
2.4.8 Highlights
- Preserves the active package-manager profile state
- Saves the original Valheim launch context before synchronization restart
- Relaunches Valheim through Steam using the original Doorstop/BepInEx profile arguments
- Prevents package-managed restarts from accidentally falling back to an unmodded/default launch
- Restores automatic reconnect after synchronized files are applied
- Remembers the previously selected character and attempts to continue automatically
- Prevents duplicate reconnect dispatches
- Prevents false reconnect-timeout warnings during package-managed restart
- Standalone Client, Dedicated Server, and Host & Play behavior remains unchanged
- Signed manifests remain
- Delta synchronization remains
- SHA-256 verification remains
- First-contact server trust remains
- Existing unrelated client plugins remain untouched
- Protocol remains AMS4 / version 4
2.4.7 highlights
- Replaces the packed version.dll bootstrap with a transparent on-disk BepInEx layout.
- Installs the AutoModSync client as a normal BepInEx\plugins DLL plus a visible apply helper.
- Removes the encoded-PowerShell client detection path from the public installer.
- Migrates the known 2.4.4 packed bootstrap by SHA-256 without deleting unknown version.dll files.
- Keeps signed manifests, delta synchronization, restart/reconnect, and file verification.
Source
GitHub:
https://github.com/GordonFreesay/ValheimAutoModSync
Developer Website:
https://gordonfreesay.com/AutoModSync
Third-Party Notices:
https://github.com/GordonFreesay/ValheimAutoModSync/blob/main/THIRD-PARTY-NOTICES.md

