Valheim has a great modding scene built around BepInEx and Thunderstore, and getting it set up on a dedicated server is honestly easier than people expect. This guide walks through the whole thing: installing BepInEx on the server, dropping mods in, getting your players' clients in sync, and what to do when something inevitably misbehaves.
A few things to know up front before you touch anything.
Crossplay and mods don't mix
If your server has crossplay enabled (so Xbox/Game Pass friends can join), BepInEx will not load and your mods won't run. Iron Gate's crossplay backend uses PlayFab and it hooks the same DLLs BepInEx does. The Valheim modding community has been asking for years and the situation hasn't changed. Pick one or the other:
- Crossplay on, no mods. Great for mixed-platform groups.
- Mods on, no crossplay. Everyone has to be on Steam.
Server-side, client-side, or both?
Every Valheim mod is one of three things: server-side only, client-side only, or both. Always check the mod's Thunderstore page before installing. Mismatched server/client mod sets are the #1 reason "I can't connect" tickets exist.
Back the world up first
Especially if you're installing mods that touch world generation, building pieces, or items. Mods aren't going to corrupt your world most of the time, but the times they do you'll really wish you'd taken a backup. LOW.MS does cloud backups automatically — kick one off from the Cloud Backup section of the panel before you start.
The easy route: Mod Manager (curated mods only)
Before diving into BepInEx, it's worth knowing that the LOW.MS control panel has a built-in Mod Manager in the left sidebar. It ships with a curated set of pre-bundled mods — things like ValheimRAFT, BuildShare V2, Better Wisplight, Bigger Chests, Chest Reloaded, Compass, Cooking Station Tweaks and others — and any of those can be installed with a single click. No BepInEx setup, no file uploads, no version juggling.
Use the Mod Manager if:
- The mod you want is in the bundled list. Open Mod Manager from the left sidebar of your server's panel page and browse the catalogue.
- You want a low-friction way to try a few popular mods without learning the BepInEx workflow.
You'll still need the rest of this guide if:
- The mod you want isn't in the Mod Manager catalogue (which is true for the vast majority of Thunderstore — the curated list is small).
- You need to keep mods at specific versions (Mod Manager always installs the latest bundled version).
- You're running a complex modpack with manual config tweaks.
For anything beyond the curated catalogue you'll be installing BepInEx and uploading mods yourself, which is what the rest of this guide covers.
Step 1: Install BepInEx on the server
BepInEx is the mod loader for everything outside the Mod Manager catalogue. Without it, no Thunderstore mods will run. Download the latest BepInExPack for Valheim by denikson here: denikson/BepInExPack_Valheim.
The install differs depending on whether your LOW.MS server is running on Linux or Windows. If you're not sure which yours is, the panel shows the platform on your server's overview page, or open a ticket and we'll tell you.
You can upload files using either the panel's File Manager (in the left sidebar) or via SFTP — your SFTP details are shown on your server's overview page under "SFTP Info" (typically the same IP as your server, on port 8822). For BepInEx and any larger mod uploads, SFTP is usually faster than the File Manager.
On a Linux server (most LOW.MS Valheim plans)
- Stop the server in the panel.
- Extract the BepInExPack zip on your computer. You'll see a
BepInExPack_Valheimfolder containingBepInEx/,doorstop_libs/,unstripped_corlib/,start_server_bepinex.sh, and a few other files. - Upload the contents of that folder (not the folder itself) to the root of your Valheim server directory using either the File Manager or SFTP. The structure on the server should look like:
/BepInEx/ /BepInEx/config/ /BepInEx/plugins/ /BepInEx/patchers/ /doorstop_libs/ /unstripped_corlib/ /start_server_bepinex.sh - Important on Linux: the BepInEx version of the start script needs to be the one that runs when the server boots. Open a support ticket and ask us to switch your startup command to
start_server_bepinex.shinstead of the vanillastart_server.sh— we'll handle it. (The script also needs to be marked executable, which we'll do at the same time.) - Start the server.
After the first start with BepInEx loaded you'll see a /BepInEx/LogOutput.log file appear in the server directory. That confirms BepInEx is running.
On a Windows server
- Stop the server in the panel.
- Extract the BepInExPack zip on your computer.
- Upload the contents of
BepInExPack_Valheim/to the root of your Valheim server directory. The structure should look like:/BepInEx/ /BepInEx/config/ /BepInEx/plugins/ /BepInEx/patchers/ /doorstop_config.ini /winhttp.dll - Start the server.
Same as Linux: a successful first start creates /BepInEx/LogOutput.log. If that file isn't there after a restart, BepInEx didn't load — see the troubleshooting section at the bottom.
Step 2: Install your first mod
Once BepInEx is loaded, adding mods is the easy bit.
- Find a mod on Thunderstore that you want to install.
- Click Manual Download and grab the zip.
- Extract it on your computer. You'll see one or more
.dllfiles (and sometimes aconfigfolder or other assets). - Upload the
.dllfiles to/BepInEx/plugins/on the server using the File Manager or SFTP. - If the mod has additional folders (e.g. its own assets folder, language files), upload those alongside the
.dllexactly as they appear in the zip. - Restart the server.
If the mod uses a config file, you won't see it on first install — Valheim generates the config file the first time the mod runs. Start the server once, stop it, and the config file will be sitting in /BepInEx/config/ waiting to be edited.
Watch out for dependencies
A lot of Valheim mods depend on other mods or libraries. The most common ones you'll hit:
- Jotunn (ValheimModding/Jotunn) — the modding framework many mods build on top of. Don't confuse it with the deprecated
ValheimLibpackage by the same author; you only need Jotunn. - HookGenPatcher (ValheimModding/HookGenPatcher) — required by some mods that hook lower-level engine methods.
The mod's Thunderstore page lists its dependencies under the Dependencies heading. Install those first.
Step 3: Set up your players' clients
For mods that need to be installed on the client side (which is most gameplay mods), every player in your group has to install the same mods at the same versions. The easiest way by far is using a mod manager — don't have your players install BepInEx by hand unless they're comfortable with it.
r2modman (recommended)
r2modman by ebkr is what we'd suggest. It's free, actively maintained, and handles dependencies automatically.
- Download and install r2modman.
- Pick Valheim as the game.
- Create a new profile for your server (e.g. "My Server Mods").
- Search for and install the same mods you put on the server.
- Click Start modded in r2modman to launch Valheim with the mods enabled.
Thunderstore Mod Manager (Overwolf)
The Thunderstore Mod Manager is the alternative. Same idea, slightly different UI.
Manual install (advanced)
If a player really wants to install BepInEx and mods by hand on their client:
- Install BepInExPack into the Valheim game directory (typically
C:\Program Files (x86)\Steam\steamapps\common\Valheim\). - Drop mod
.dllfiles intoBepInEx/plugins/inside that directory. - Launch Valheim normally through Steam.
It's fine, but a mod manager is much harder to mess up.
Step 4: Configuring mods
Most mods generate a config file in /BepInEx/config/ after their first run. To customise a mod:
- Start the server with the mod installed (this generates the config file).
- Stop the server.
- Open
/BepInEx/config/in the File Manager (or browse to the same folder over SFTP). - Find the config file for the mod — it'll be named something like
author.modname.cfg. - Edit the values you want to change.
- Save and restart.
Config files are an INI-like format:
[Section]
## Description of the setting
# Setting type: Boolean
# Default value: true
MySetting = true
Most mods that have a server-side config side also have a way to sync that config to clients automatically — the way it works depends on the mod. Check the Thunderstore page to see whether you need to push config to clients manually or whether the mod handles it.
Troubleshooting
Mods aren't loading
In rough order of likelihood:
- Crossplay is enabled. Disable it. BepInEx and crossplay are mutually exclusive.
- BepInEx never loaded in the first place. Check that
/BepInEx/LogOutput.logexists in the server root. If it doesn't, BepInEx isn't loading. On Linux: confirm with us that the startup command is pointing atstart_server_bepinex.sh. On Windows: confirmwinhttp.dllanddoorstop_config.iniare in the server root, not nested inside another folder. .dllfiles in the wrong place. Mods need to be in/BepInEx/plugins/, not in a nested folder unless the mod's instructions specifically tell you to.- Missing dependencies. Check the mod's Thunderstore page and install whatever it lists.
- Wrong Valheim version. Most mod breakages happen right after a Valheim update. Wait for the mod author to release a compatible build before updating your server.
The first place to look for actual errors is /BepInEx/LogOutput.log. You can either browse to it via the File Manager or open the Log Viewer in the panel sidebar to read it live. It's verbose but the actual problem is usually obvious if you scroll to the end.
Server crashes after adding a mod
The most reliable way to find the culprit:
- Stop the server.
- Remove the most recently added mod from
/BepInEx/plugins/. - Start the server. Did it boot? If yes, you found your culprit. If no, repeat with the next-most-recently-added mod.
- Check the offending mod's Thunderstore page for known issues, missing dependencies or version notes.
Players can't connect after adding a mod
Almost always a client/server mod mismatch.
- Check whether the mod is server-side, client-side, or both.
- Verify every player has the same mods at the same versions.
- Some mods enforce strict version matching and will kick clients on a mismatch — check the mod docs.
- The fastest "nuke and start over" fix: have the player wipe their mod profile in r2modman and reinstall the same list from scratch.
Mods stop working after a Valheim update
Normal. Game updates regularly break mods, sometimes for a few hours and sometimes for a week. The drill:
- Don't update your server immediately when a Valheim update drops.
- Check each of your installed mods on Thunderstore for an update.
- If a critical mod hasn't been updated yet, hold off updating the server. You can roll back to a previous Valheim version via Steam's beta branches if needed, but it's usually easier to wait it out.
Mod load order
BepInEx handles most load order automatically — you usually don't need to worry about it. If you do hit a load-order conflict:
- Check the mod's docs for any required ordering.
- Some mods belong in
/BepInEx/patchers/rather than/plugins/— read the install instructions. - As a last resort you can rename the
.dllfiles to influence alphabetical loading. Don't reach for this until you're sure load order is actually the problem.
Need help?
Mod setups can get messy, especially the first time. If you're stuck, open a ticket from the panel — we deal with Valheim mod installs all day and can usually spot the problem in a few minutes. Worth knowing if you ask: tell us which mods you're trying to install and which OS your server is on, and we'll get you sorted faster.