How to install BepInEx and mods on your Valheim server
Install BepInEx in one click from the Mods tab or by hand, add Thunderstore mods with their dependencies, and keep players' mods matching the server.
Valheim mods run through BepInEx, a small loader that sits beside the game and loads .dll mods on start. Your panel's Mods tab installs BepInEx in one click and installs mods from Thunderstore with the other mods they need. The File Manager route further down still works, for a mod that is not on Thunderstore or when you want to place the files yourself.
Before you start
- Take a backup from the Backups tab. Mods change how the world is saved, and a backup is the fast way back. How to create and restore backups covers restoring one.
- Decide who is joining. Most mods must be installed by every player too, and console players cannot install mods at all, so a modded server is a PC-only server. See the crossplay note below.
Install BepInEx from the Mods tab
- Open the Mods tab. A fresh server shows a BepInEx isn't installed card.
- Click Install BepInEx, then Install in the box that opens. The panel downloads BepInExPack Valheim (5.4.2351, the release we have booted on our own servers), puts it in the server folder and sets Crossplay to
0for you. - Restart the server. On the way up the console shows
[PYW] BepInEx detected - loading it with the server., thenUser is running BepInExPack Valheim version 5.4.2351, and finallyChainloader startup complete (0 loaded, 0 skipped, 0 failed). That last line is the proof it loaded. BepInEx also createsBepInEx/pluginsand writesBepInEx/LogOutput.logon this first run.
If the card says there's already a BepInEx folder without the loader in it, an earlier upload was left half done. Move or delete that folder in the File Manager and the button works again.
Add mods from the Mods tab
- In the Store view, search for the mod and click Install.
- If the mod needs other mods, such as the Jotunn library, a Needs 1 more add-on box lists them. Install all puts them on too, which is almost always what you want.
- With no recent backup the panel asks first: Go to Backups, or install anyway.
- Restart. The console prints one line per mod, such as
Loading [PlanBuild 0.20.0] (marcopogo.PlanBuild), and the closingChainloader startup completeline counts what loaded, was skipped and failed.
Each mod lands in its own folder in BepInEx/plugins, named like MathiasDecrock-PlanBuild, the same layout r2modman uses. The Installed view lists every mod on the server, including ones you uploaded yourself, and has Update all, plus a Disable button on each mod to turn it off without deleting it.
Each mod writes its own settings file to BepInEx/config on its first run, named after the mod's ID (for example advize.PlantEverything.cfg). Edit those in the File Manager, then restart again.
What mods cost in boot time and memory
Measured on a 4 GB server in October 2026, from start to the DungeonDB Start line (the world is ready for players a few seconds later):
BepInEx itself costs almost nothing. Big content mods with many assets cost more, so add them a few at a time and watch the server's memory in the panel after each restart.
Install BepInEx by hand
- Download BepInExPack Valheim from Thunderstore (the pack made for Valheim, not the generic BepInEx release) and extract the zip on your PC.
- Open the extracted folder, then the
BepInExPack_Valheimfolder inside it. TheREADME.md,CHANGELOG.md,icon.pngandmanifest.jsonbeside that folder stay on your PC. - In your server panel, open the File Manager at the home folder (the top level).
- Upload everything inside
BepInExPack_Valheim: theBepInExfolder, thedoorstop_libsfolder and the loose files beside them (doorstop_config.ini,.doorstop_version,winhttp.dll,changelog.txtand the twostart_..._bepinex.shscripts). Keep the folder structure as it is in the zip. The File Manager can't upload a folder, so select all of those on your PC, compress them into one.zip, upload that zip to the home folder and choose Extract here on it. Delete the zip once it has unpacked. How to manage your server files covers Extract here. - Set Crossplay to
0in the Startup tab and click Save (the next section explains why). - Restart the server and look for the same console lines as in the Mods tab route above.
The pack's BepInEx folder holds only config and core. The plugins, patchers and cache folders appear after the first restart, so nothing is missing before then. Older guides also list an unstripped_corlib folder, which the pack stopped shipping in 2023.
Add mods by hand
- Download the mod from Thunderstore and extract it. Many mods keep their files in a
pluginsfolder inside the zip: what goes on the server is what is inside thatpluginsfolder, either a.dllon its own or a folder holding the.dlland its assets. - In the File Manager, upload a lone
.dllstraight intoBepInEx/plugins. A folder goes up the same way as BepInEx: zip it, upload the zip intoBepInEx/pluginsand choose Extract here. - Install the mods it depends on the same way first. The mod's Thunderstore page lists them, and the Mods tab's Installed view shows hand-added mods too.
- Restart and look for its
Loading [...]line in the Console.
Match the client and the server
This is where most modded Valheim problems come from. For any mod that changes gameplay (new items, new building pieces, changed recipes), every joining player needs the same mod at the same version installed in their own game, or they are refused with a version-mismatch message or see broken items. Purely server-side mods (better server performance, admin tools) are the exception, and their Thunderstore page will say "server-side only".
The easy way to keep a group in step is to hand out the server's own list:
- In the Mods tab, open Installed and click Export for players, then Create code.
- Share the code. Players paste it into r2modman or the Thunderstore app (Import profile, From code) and get BepInEx and the server's mods at the same versions.
- After you update a mod on the server, create a new code and share it the same day.
Mods you uploaded by hand that are not on Thunderstore are left out of the code, and the export box says which.
Crossplay
A modded server should run with Crossplay at 0 in the Startup tab. The Mods tab's BepInEx install sets it for you; after a manual install, set it yourself, click Save, restart and reload the page. With crossplay on, the game routes every connection through its crossplay network, Xbox and Game Pass players cannot install mods, and mods do not mix reliably with that networking. Steam players then join by IP with the server address in the panel's left rail, as Valheim server: join code, crossplay, mods explains.
Going back to vanilla
Delete the BepInEx folder (or rename it) in the File Manager and restart. The server detects that BepInEx is gone and boots plain Valheim: the [PYW] BepInEx detected line no longer appears. Your world files are separate and are not touched.
Common problems
- "Incompatible version" when a player joins - a mod is missing or on a different version on their side. Send them a fresh code from Export for players, or compare their mod list to the server's Installed view.
- The console says
Could not load [...] because it has missing dependencies- the line names what is missing, for examplecom.jotunn.jotunn (v2.30.1 or newer), which is Jotunn. Install that mod (the Store finds it by name), then restart. - The mod is in the folder but nothing changed in-game - check the console for an
[Errorline naming it. A.dllinside a subfolder ofpluginsstill loads, a.dllinside a zip does not. - Everything broke after a Valheim update - BepInExPack and many mods need a new release after each game patch. Use Update all in the Installed view once the mods have updated on Thunderstore, then restart.
- Where are the logs? -
BepInEx/LogOutput.login the File Manager has the full load log with every mod's messages. If you need help, put the exact console error and the lines around it from this log in your ticket. - The console says
libdoorstop_x64.so is missing- the upload came from the generic BepInEx release, or thedoorstop_libsfolder was left behind. Upload everything insideBepInExPack_Valheimfrom the Thunderstore pack again, then restart. - The console says BepInEx was detected, but there is no
BepInEx/LogOutput.log- BepInEx did not start. Upload the pack again as in the manual route and restart. If the log still does not appear, open a ticket with your server name, because the rest of the fix is on our side.
Was this guide helpful?
Related guides
How to make a Valheim dedicated server
Set up your Valheim 1.0 server: share the join code so friends on Steam, Xbox, PS5 and Switch 2 can crossplay, bring your world across and add mods.
Modpack mods to download from CurseForge
Some CurseForge modpack mods can only be downloaded from CurseForge's site. Find them in the Modpacks tab, download each one and upload it in a click.
How to install mods on a Satisfactory server
Install Satisfactory mods on your server with Satisfactory Mod Manager over SFTP, then get your friends on the same mods with one shared profile.
