Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
Skip to content
World desk8 min

Valheim Server Mods Folder: Where Mods Go on a Dedicated Server

Valheim server mods belong in the dedicated instance’s BepInEx/plugins folder—not config or a PC mod-manager profile. Follow the installation path, client-requirement checks, and log verification steps.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For a BepInEx-based Valheim dedicated server, install BepInExPack_Valheim in the folder that contains the dedicated-server executable, then put each server mod’s runtime DLL in BepInEx/plugins/ on that same server instance. A typical destination is <dedicated-server-root>/BepInEx/plugins/<ModName>/<ModName>.dll. The BepInEx/config/ directory is for settings, not for installing plugin DLLs.

What “server root” means in Valheim

The server root is the game directory used by the running dedicated-server process. It is the directory containing the Valheim dedicated-server executable and its launch files. On a self-hosted machine, this may be a Steam installation directory. On a rented or containerized host, it may be a provider-specific instance directory.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Do not assume that a desktop mod-manager profile is the server root. A profile on your gaming PC can contain a complete BepInEx tree and still have no effect on a remote dedicated server. Files must be uploaded to the machine and instance whose startup command actually launches the server.

Where do Valheim server mods go?

Runtime server plugins belong below BepInEx/plugins/. You can place a DLL directly in that directory, but preserving the mod’s supplied subfolder is usually safer because it keeps each mod’s files together and avoids name collisions.

<dedicated-server-root>/
├── valheim_server (or the server executable for your platform)
├── start_server_bepinex.sh (when supplied by the BepInEx installation)
└── BepInEx/
    ├── plugins/
    │   └── ModName/
    │       └── ModName.dll
    └── config/
        └── ModName.cfg

For example, a plugin documented as SarkasticGG_Dedicated_Simulation.dll is installed under BepInEx/plugins/ on the dedicated server. The Valheim Admin Tool example uses Valheim/BepInEx/plugins/ValheimAdminTool/ValheimAdminTool.dll; the important part is that this is the BepInEx tree belonging to the server process.

Install BepInEx before copying any mod

A plugin DLL cannot load until the server itself is starting through BepInEx. Install the Valheim BepInEx pack in the server instance first, rather than copying only a mod’s DLL.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Stop the server cleanly. Save and shut down the process before changing files. Make a separate copy of the world save so a content-changing mod can be removed without losing the original state.
  2. Identify the real instance directory. Find the folder used by the dedicated-server executable and its launch command. If you administer several worlds or instances, treat each one as a separate installation unless your host explicitly shares files between them.
  3. Install BepInExPack_Valheim. Extract the pack and move the contents of its BepInExPack_Valheim folder into the server game root. The package documentation describes both automated and manual installation. Do not create an extra nesting level such as server-root/BepInExPack_Valheim/BepInEx/; the BepInEx directory must be directly under the root used by the server.
  4. Use the BepInEx launch method. Start the server with the startup script or launch parameters supplied by the pack. On Linux installations this commonly includes start_server_bepinex.sh. Starting an untouched executable or an old service definition can bypass BepInEx even when the files are present.
  5. Run once, then stop. The first BepInEx launch creates directories and baseline files. Let the server finish its startup, then shut it down normally before adding plugins.
  6. Copy the mod files. Extract the mod download and place its runtime DLL, along with any files the mod explicitly requires, under <server-root>/BepInEx/plugins/. Keep the package’s folder structure unless its instructions specify otherwise.
  7. Restart and verify. Start through the BepInEx-enabled command again. Inspect BepInEx/LogOutput.log for the plugin’s load message or a clear error before allowing players to reconnect.

BepInEx/plugins or BepInEx/config?

Location Purpose What belongs there What does not install a mod
BepInEx/plugins/ Runtime plugin discovery and loading Server plugin DLLs and their documented companion files Putting only a configuration file here
BepInEx/config/ Settings generated or edited after a plugin loads Configuration files such as a mod’s .cfg Copying a plugin DLL here
BepInEx/config/BeastheimServerMods/required/ Reference or policy copies used by that management mod Files used to check client requirements Using this as the server’s runtime plugin directory
BepInEx/config/BeastheimServerMods/optional/ Optional reference or policy copies Files consulted by the management workflow Assuming a DLL here is loaded by BepInEx

ServerManager follows the same principle: its required and optional directories are reference copies. A DLL placed only in one of those folders does not install or load the server mod; a mod that must execute on the server still belongs in that instance’s BepInEx/plugins/ directory.

How to add a mod manually

Prepare the download

Many downloads are archives containing a top-level folder, a DLL, dependencies, and documentation. Open the archive before uploading it. You are looking for the runtime DLL and any dependency DLLs that the author says are required. Do not upload the archive itself and expect BepInEx to unpack it at runtime.

Preserve the supplied layout

If the archive contains ModName/ModName.dll, copy that directory into BepInEx/plugins/. If it contains several DLLs, retain them together unless the mod’s instructions give a different path. Avoid renaming DLLs: dependency loading and update scripts may rely on the original names.

Upload to the correct machine

For a self-hosted server, copy the files locally with the account that runs the service. For managed hosting, use the provider’s file manager, SFTP endpoint, or documented deployment mechanism, and confirm that you are editing the correct world instance. A client-side mod-manager profile is useful for assembling files, but it is not a substitute for uploading them to the dedicated server.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Restart rather than hot-copy

Most BepInEx plugins are loaded during process startup. Stop the process, replace or add the files, and perform a full restart. Replacing a DLL while the server is running can leave the old assembly in memory and can also corrupt a file that is being read.

Manual upload versus a mod-manager workflow

Workflow Best use Critical check
Manual extraction and upload Small server collections, scripted deployments, or hosts without profile import Every required DLL and dependency reaches the server’s own BepInEx/plugins/
Mod-manager profile Building and updating a repeatable collection on a PC Export or upload the profile’s BepInEx files; the local profile alone does not modify a remote instance
Managed-host file manager or SFTP Servers operated through a hosting panel The selected service and world instance must match the launch command you restart

Whichever workflow you choose, the final test is on the dedicated server: BepInEx must be loaded by its startup command, and the plugin must appear in the server log.

Do players need the same mods?

There is no universal answer. The mod’s own documentation defines whether it is server-only, client-only, or a coordinated client-and-server installation.

Server-only plugins

Some administrative, simulation, or rules plugins execute entirely on the server. Dedicated Simulation, for example, states that clients need nothing. Players can join an unmodified game client when the server-side plugin does not send client-specific code or assets.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Client and server companions

Mods that add an interface, HUD, keybinds, visual assets, or client prediction may require matching files on every player’s computer. Valheim Admin Tool documents separate server and client companion DLLs, including AdminPanel.dll and AdminPanelCompanion.dll, and requires the two sides to use the same version when used together.

How to decide before rollout

  • Read the mod page’s server-side and client-side labels.
  • Check its dependency list and supported Valheim or BepInEx versions.
  • Note whether the author supplies separate server and client packages.
  • Tell players exactly which client files and versions are required before opening the server to the public.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Confirm that a plugin loaded

After a restart, open BepInEx/LogOutput.log in the dedicated-server root. Search for the plugin name, its GUID, or a line indicating that the assembly was loaded. A successful installation log entry is more useful than merely seeing a DLL in a directory: it confirms that the process used BepInEx, found the file, and passed its initial loading stage.

If the log contains an exception, record the first error and the plugin version before changing several files at once. A later stack trace is often a consequence of the first failure. Check whether the missing item is a dependency, an incompatible game build, or a client-only assembly accidentally uploaded to the server.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Troubleshooting: the usual folder and startup mistakes

The server starts, but no mod appears in the log

  • Verify that the DLL is under the active instance’s BepInEx/plugins/, not under config, required, or optional.
  • Confirm the launch command uses the BepInEx startup script or parameters rather than the original server executable alone.
  • Check for an accidental extra folder level, such as BepInEx/plugins/ModName/ModName/ModName.dll, when the package expected only one.
  • Make sure the file was uploaded to the server machine, not left in a local mod-manager profile.

The plugin reports a missing dependency

Return to the mod’s dependency list and install every required library in the same BepInEx plugin tree. Keep versions compatible with the mod’s stated requirements. Do not solve a dependency error by moving files into BepInEx/config/; that directory does not participate in normal plugin discovery.

Players cannot connect after installation

First determine whether the mod requires client files. If it does, distribute the documented client package and make sure client and server companion versions match. If it is explicitly server-only, compare the server log for protocol or game-version errors and temporarily remove the new plugin using a backup copy to isolate the change.

A replacement mod behaves as if the old version is still present

Stop the server completely, remove the old DLL rather than leaving two versions side by side, copy the replacement, and start again. Check the log for duplicate GUID or assembly messages. Keep the old file outside the active plugins directory if you need a rollback copy.

The world behaves differently after removal

Content-changing mods can write state into a world save. Restore the pre-installation world backup if removal leaves missing objects, altered progression, or repeated load errors. A backup made before the first modded launch is the safest recovery point.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Safe updates and maintenance

  1. Read the new version’s changelog and compatibility notes.
  2. Stop the server and back up the world plus the active BepInEx configuration.
  3. Keep a record of the old DLL version and dependencies.
  4. Remove or archive the old runtime DLL so two versions cannot load together.
  5. Copy the new files into the same BepInEx/plugins/ location.
  6. Start through the BepInEx-enabled command and inspect LogOutput.log.
  7. Test administrative commands or a noncritical area before inviting all players back.

Configuration files generated in BepInEx/config/ may need migration when a mod changes settings names. Leave them in place unless the mod’s upgrade notes say to regenerate them, and preserve a copy so you can undo an unsuccessful update.

Quick path checklist

  • BepInExPack_Valheim is installed directly in the dedicated-server game root.
  • The server is launched with the pack’s BepInEx-enabled script or parameters.
  • The server has been started once so BepInEx creates its directories.
  • Runtime mod DLLs are in that instance’s BepInEx/plugins/ directory.
  • Settings are in BepInEx/config/; policy copies in required or optional are not runtime installs.
  • The mod’s documentation has been checked for dependencies, game-version support, and client requirements.
  • The server was fully restarted and the plugin’s load status was checked in BepInEx/LogOutput.log.
  • A world backup exists before any content-changing mod is enabled.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.