Warden features a simple command-line interface for managing mods on a Valheim dedicated server, hosted on Linux (Windows support coming soonTM!).
Mods are currently sourced from Thunderstore.io, with added support for Nexus Mods planned for the near futureTM. Warden also automatically resolves dependencies for mod installs and updates, including BepInEx.
Warden stores data in 2 different files:
- A YAML configuration file at $HOME/.warden.yaml.
- A lightweight, database storage file at $HOME/.warden.db
The YAML file stores the following configuration values for the app:
- valheim-directory- Where the Valheim dedicated server is installed. By default, Warden uses the default location SteamCMD installs Valheim servers into.
- mod-directory- Where mods (also called 'plugins') are installed. This is expected to be a child folder of- valheim-directory. By default, Warden uses- /BepinEx/pluginswhich is the folder that BepInEx loads mods from when the server is started.
The DB file stores metadata about each mod managed by the app, including things like: author, version, where its installed, etc..
Warden was built with:
- Go - Everyone's favorite open-source programming language
- Cobra - CLI library for Go
- Viper - Configuration library for Go
- SQLite - Lightweight SQL database engine
Warden supports the following commands:
- list- Prints a list of all installed mods
 
- add- Downloads and installs the specified mod
 
- update- Updates the mod to latest version
- all- A sub-command for updating all installed mods
 
 
- remove- Removes the targetted mod
- all- A sub-command for removing every installed mod. A clean slate :)
 
 
- config- Lists the current configuration values for Warden + where the config file is located
- get- Fetch a specific configuration value
 
- set- Update a configuration value
 
 
 Proper install process coming soon TM.
Proper install process coming soon TM.
The Warden project is licensed under an MIT License


