How to install BepInEx on a Valheim server

Install BepInEx on a Valheim dedicated server over SFTP: BepInExPack_Valheim, the BepInEx start script, adding mods to BepInEx/plugins, and common fixes.

Most Valheim mods need BepInEx, a mod loader that starts before the game and loads plugin files. On a dedicated server you install it once, upload your mods, and start the server through BepInEx instead of the plain start command. This guide covers a hosted server with SFTP or a file manager. BepInEx is not pre-installed on our Valheim plans, so these are the steps you do yourself.

What BepInEx is

BepInEx is a plugin framework for Unity games. For Valheim, the usual package is BepInExPack_Valheim on Thunderstore. It is BepInEx with the settings Valheim needs, for both the game client and the dedicated server. Mods are .dll files that BepInEx loads from the BepInEx/plugins folder at startup.

BepInEx itself changes nothing in the game. It only makes mods possible. A server with BepInEx and no plugins plays like vanilla.

Client vs server install

The server and each player install BepInEx separately.

  • Server: BepInExPack_Valheim in the server's root folder, started with the BepInEx start script. That is the rest of this guide.
  • Players: the same pack in their own Valheim game folder, or through a mod manager such as r2modman or the Thunderstore Mod Manager. A mod manager is easier for most players, because it installs the same mod list with one profile.

For most mods, every player needs the same mods and the same versions as the server. Some mods are server-only, for example some admin or world-tweak mods, and some are client-only, like a minimap or UI change. The mod page usually says which. If it does not say, assume everyone needs it.

Crossplay is the catch. Console and Game Pass players cannot load BepInEx mods. Turn crossplay off on a modded server and play with PC players on Steam.

Installing on a hosted server via SFTP

  1. Stop the server in the panel.
  2. Take a copy of your world first. Download the world files over SFTP before you change anything.
  3. Download BepInExPack_Valheim from Thunderstore (“Manual download”) and unzip it on your PC.
  4. Open the unzipped BepInExPack_Valheim folder. Upload its contents to the server's root folder, the folder with the Valheim server files. Use SFTP or the panel file manager. You should now have a BepInEx folder, a doorstop_libs folder and start_server_bepinex.sh next to the server files, not inside an extra BepInExPack_Valheim folder.
  5. Make sure the server starts through BepInEx. On a Linux dedicated server that is start_server_bepinex.sh, which loads BepInEx through Doorstop and then starts the normal server. On a hosted panel the startup command is set by the panel. Check the startup settings for a BepInEx or modded option. If you cannot find one, contact support and ask for the server to start with BepInEx. Do not guess at the startup line.
  6. Start the server once with no mods. Then check that BepInEx/LogOutput.log exists and that BepInEx/config and BepInEx/plugins are there. If the log is missing, BepInEx did not load.

Adding mods

  1. Stop the server.
  2. Download the mod from Thunderstore and unzip it.
  3. Upload the mod's .dll file, or its folder, to BepInEx/plugins. Read the mod page: some mods ship extra files that go in their own folder inside plugins.
  4. Check that the mod lists no other mods as dependencies. If it does, install those too, on the server and on the clients.
  5. Start the server. The mod creates its config file in BepInEx/config on first start. Stop the server before you edit that file, then start it again.
  6. Send players the exact mod list and versions. A shared mod manager profile is the easiest way.

Add one or two mods at a time. When something breaks, you then know which mod did it.

Fixing common errors

  • Mods do nothing, no LogOutput.log. The server is not starting through BepInEx. Check the startup command, or ask support. Also check that the files are in the server root, not in a nested folder.
  • Server crashes on start after a Valheim update. BepInExPack or a mod is too old for the new game version. Update the pack and the mods, or remove the mod named in the log.
  • A player gets kicked or cannot join. Their mods or versions do not match the server. Many mods check versions on purpose. Compare the mod lists.
  • A plugin is in the folder but does not load. Read BepInEx/LogOutput.log. It names missing dependencies and plugins that failed to load.
  • Console or Game Pass friends cannot see the server. Crossplay is off, as it should be on a modded server. They cannot play with mods.

Need a server to do this on? Raven is €5.99/mo with 8 GB RAM and 40 GB storage, up to 5 players. Odin is €12/mo with 16 GB RAM and 60 GB storage, for bigger groups and more mods. Both have SFTP access. See the Valheim hosting page for details. For other games, read Vintage Story server hosting or First Minecraft server. A bot for your group's Discord is covered in Discord bot hosting.

Valheim server from €5.99/mo →

Questions

Do all players need BepInEx?+

For most mods, yes: every player needs BepInEx and the same mods and versions as the server. Some mods are server-only or client-only, and the mod page usually says which.

Does it work with crossplay?+

No. Console and Game Pass players cannot load BepInEx mods. Turn crossplay off on a modded server and play with PC players on Steam.

Where do plugins go?+

In the BepInEx/plugins folder in the server root. Mod config files appear in BepInEx/config after the first start, and BepInEx/LogOutput.log shows what loaded.

Minecraft hosting All guides