

This is BepInEx 5.4.17 pack for Valheim.
BepInEx is a general purpose framework for Unity modding. BepInEx includes tools and libraries to
BepInEx is currently one of the most popular modding tools for Unity on GitHub.
This pack is preconfigured and usable for Valheim modding.
In particular, the changes from base BepInEx releases are:
BepInEx.cfg with console enabled.This is the recommended way to install BepInEx on the game.
There are some managed dedicated server that support simple and automatic BepInEx installation.
Here is a list of known ones (list updated as more is known).
Note: Some of the links may be affiliate links
If you are installing this manually, do the following
Extract the archive into a folder. Do not extract into the game folder.
Move the contents of BepInExPack_Valheim folder into <Steam Location>\steamapps\common\Valheim.
Check that you have installed it correctly. If done correctly, your folder will look as follows

Follow either Windows or Linux game running instructions below:
No need to configure. Simply run the game. If everything is correct, you will see a console pop up.
Make start_game_bepinex.sh executable with chmod u+x start_game_bepinex.sh.
In Steam, go to game's properties and set game's launch arguments to
./start_game_bepinex.sh %command%
Note to advanced users: You can change ./start_game_bepinex.sh to full path to the script. This way you can install this pack entirely outside of game folder.
Run the game via Steam.
At this moment you will not see any clear indication if BepInEx works. It is suggested to test by installing a simple plugin such as MessageCenter from BepInEx.Utility.
This guide assumes you have enough knowledge working with Linux.
If not, it is suggested you use ValheimPlus instead and server hosts that support it out of the box.
start_server_bepinex.sh executable with chmod u+x start_server_bepinex.sh.start_server_bepinex.sh to change the launch parameter like you would with Valheim's own launch script.start_server_bepinex.sh to start the server.If done correctly, you will see BepInEx bootstrap messages in the terminal.
If BepInEx was loaded successfully into the game, you should see BepInEx version info in top left corner of the main menu:

At this moment, you can use the following channels to ask for help
start_game_bepinex.sh to handle cmdline args betterPreventClose to true by default. This prevents console from being closed (and thus unsaved game being closed by accident)--enable-console true|false command-line option to enable or disable BepInEx console--doorstop-dll-search-override command-line option to behave the same way as config's dllSearchPathOverride option