PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteFor 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.
Godlike.Host offers hosted Valheim servers with its own game panel, SFTP access and free DDoS protection, if you would rather not host it yourself.
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.
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.
#1 Best Overall
<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.
- 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.
- 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.
- Install BepInExPack_Valheim. Extract the pack and move the contents of its
BepInExPack_Valheimfolder into the server game root. The package documentation describes both automated and manual installation. Do not create an extra nesting level such asserver-root/BepInExPack_Valheim/BepInEx/; theBepInExdirectory must be directly under the root used by the server. - 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. - 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.
- 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. - Restart and verify. Start through the BepInEx-enabled command again. Inspect
BepInEx/LogOutput.logfor 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.
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.
Recommended Free Tools
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.
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.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →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 underconfig,required, oroptional. - 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.
Safe updates and maintenance
- Read the new version’s changelog and compatibility notes.
- Stop the server and back up the world plus the active BepInEx configuration.
- Keep a record of the old DLL version and dependencies.
- Remove or archive the old runtime DLL so two versions cannot load together.
- Copy the new files into the same
BepInEx/plugins/location. - Start through the BepInEx-enabled command and inspect
LogOutput.log. - 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 Recap
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 inrequiredoroptionalare 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.




