A Valheim dedicated server has no map, no browser console and no alerts of its own, and it stops at 10 players. ValheimOne adds them: a live web map you can share with your players, an admin console in your browser, an item and recipe search, Discord alerts, a higher player limit and optional gameplay settings. It is one BepInEx mod on the server. Your players can join with an unmodded game, on PC or console.
ValheimOne is a community project and is not affiliated with or endorsed by Iron Gate Studio.
The map draws the whole world from the server seed and updates in real time. Players, ships, carts, portals, tombstones, wards and beds all show on it. Fog of war follows where players have walked and what they shared through cartography tables.
Turn on the heatmap to see where everyone has been over the last day or week, open the timelapse to scrub through explored fog and base growth, or open the Sagas leaderboard for playtime, deaths and distance travelled.
There are three views. Admin sees everything. Shared shows live players and the layers you allow, with no admin actions. Public is a read-only link with its own fog and layer settings. Fog can be a light tint or a solid cover that hides everything nobody has explored yet, including region names and markers, and Public viewers cannot switch the cover off. The settings are under Fog and Shared map layers.
Click any dungeon entrance for a top-down map of its rooms, read from the game's own generated layout, with live players drawn inside it.
Search and filter every item and recipe: weight, stack size, tiers, damage, armour, full recipes with station requirements, what drops it and what it is used to make. Jump from an ingredient to everything that needs it.
A live server log and a command box with history and autocomplete, running whitelisted commands through the game's own console. Kick, ban, save the world, or schedule a shutdown that warns players first.
Valheim lets the server have at most 10 KB of world updates on the way to each player, and serves one player per frame. When several players play close together, each one also needs everything the others change, the 10 KB runs out, and updates arrive in bursts: players and creatures rubber-band until the group splits up. ValheimOne raises that limit to 32 KB on Steam and crossplay alike, and lets Steam send up to 1 MB/s per player instead of a fixed 150 KB/s. It runs on the server only, so players install nothing and vanilla and console players get it too.
Measured on a lab server with four test players, 150 seconds per run. Valheim sends each moving thing at most about 6 times a second, so a quiet group gains little; a busy group gets back to near that ceiling.
It is on by default. Set Enabled = false in [Network] to go back to Valheim's own limit. It turns itself off, with one line in the log, when Better Networking or another mod that changes the same limit is installed.
- More than 10 players. Set
MaxPlayersin[Server], up to 127. The real join limit moves with it, on Steam and crossplay, and players install nothing. On crossplay the new limit applies at the next start. - Gameplay settings. 26 optional modules for carry weight, stamina, food, drops, gathering, build rules, portals, taming, raids, production speeds and more. All are off until you turn them on, and most values apply without a restart. Modules marked Synced also need ValheimOne on each player's PC. Every module and what it needs.
- Discord alerts. Joins, leaves, deaths with the biome they died in, raids starting and ending, world saves and new days. Point it at a webhook and pick the events you want.
- Shows up in server lists. A query responder (A2S) lets server browsers, monitoring tools and hosting panels see the server, including crossplay servers that do not answer on their own. Richer JSON lives at
/api/statusand/api/players(reference).
The Steam setup guide walks through installation, private map access, sharing and browser commands.
Valheim server hosting from Survival Servers comes with ValheimOne, with the map and console in the control panel.
You need a Valheim Dedicated Server with the Valheim-compatible BepInEx pack.
- Download the current GitHub release. Use the plugin-only ZIP if BepInEx is installed, or the Full ZIP for a fresh setup.
- Stop the server and extract the ZIP into its root folder. The plugin belongs at
BepInEx/plugins/ValheimOne.dll. Preserve your existingBepInEx/config/valheimone.cfgwhen updating; do not replace it with the packaged defaults. On Linux, use the Full pack'sstart_server_bepinex.shwith your usual server arguments. - Start once to generate any missing config, then stop before the initial configuration. In the existing
[LiveMap]section ofBepInEx/config/valheimone.cfg, setEnabled = true, choose a long uniqueAccessToken, and setPublicView = falsewhile configuring access. The live map is disabled by default. - Start the server and wait for the world to load. The default map port is TCP
8790. On a trusted network, openhttp://your-server-ip:8790/?token=YOUR_ADMIN_TOKENwith your own values. Use an HTTPS reverse proxy for authenticated access over the Internet. Behind a proxy, setRelayKeyin[LiveMap]to a long random value and have the proxy send it in anX-Relay-Keyheader: the map then refuses every request without it, except requests from the server machine itself. - Set
ConsoleEnabled = truein[LiveMap]if you want browser commands. SetEntityLayer = trueto collect the optional ships, carts and portals layer. For sharing, configure a separateShareTokenor enable the tokenlessPublicView, then choose the fog and public layers. Keep your admin token private.
Valheim Dedicated Server/
βββ BepInEx/
βββ config/valheimone.cfg
βββ plugins/ValheimOne.dll
You can join a ValheimOne server with an unmodded game, on PC or console. The live map, the browser console, the alerts and the raid settings in World Events work with nothing installed on your side.
The other gameplay modules are applied by the player's own game, so they only work on a PC that also has ValheimOne. That includes Drops, Gathering and the guardian power settings in World Events. The game rolls the loot of a tree, rock or creature in the game of the player standing near it, so a player without ValheimOne gets normal drops. Consoles cannot install mods.
- Close Valheim. Open the latest release and download
ValheimOne-full-<version>.zipunder Assets. The green Code button gives you the source, not the mod. - In Steam, right click Valheim, then Manage, then Browse local files. Extract the ZIP into that folder so
winhttp.dllandBepInEx/sit next tovalheim.exe. - Start Valheim from Steam. A BepInEx console window opens next to the game. Join the server. It sends its settings to your game at join, and your local config file is not changed.
Valheim/
βββ BepInEx/
β βββ config/valheimone.cfg
β βββ plugins/ValheimOne.dll
βββ doorstop_config.ini
βββ winhttp.dll
βββ valheim.exe
- Already running BepInEx: use the plugin-only ZIP instead. BepInEx alone changes nothing; the mod is
BepInEx/plugins/ValheimOne.dll. - Mod manager profile: install ValheimOne from Thunderstore in r2modman or Thunderstore Mod Manager and start the game from the manager. If its search does not show it yet, use Import local mod with the plugin-only ZIP. A profile and the game folder are separate installs.
- Linux and Steam Deck: set the Steam launch option
./start_game_bepinex.sh %command%. - Check it:
BepInEx/LogOutput.logshowsSent VO_Hello to serverandServer config appliedafter you join. The server log showsis modded: handshake okoris vanilla: no VO_Hello received within 15sfor each player. - Versions: keep the server and every PC on the same minor version, 0.13.x with 0.13.x. After a Valheim patch, check the releases page before you play.
- Enforce Mod:
EnforceMod = truein[Server]kicks vanilla and console players. Leave itfalseon a mixed or crossplay server. - Remove it: delete
BepInEx/plugins/ValheimOne.dllandBepInEx/config/valheimone.cfg. To turn every mod off, renamewinhttp.dll.
Building from source is ./build.sh; see RELEASING.md for packaging.
Everything lives in one file: BepInEx/config/valheimone.cfg. Start the server once to generate it, then turn on the sections you want. Saving the file applies most changes live, without a restart. Keep your file when you update.
| Section | What it does | Out of the box |
|---|---|---|
[LiveMap] |
The map, console, sharing and fog | Off |
[Network] |
The higher send limit | On |
[Server] |
Player limit, Enforce Mod, settings sent to players | On, with Valheim's limit of 10 |
[ActivityLog] |
The activity feed behind the map's Sagas panel, 30 days | On |
[Discord] |
Discord alerts | Off |
[Query] |
Server list query (reference) | Off |
| 26 gameplay sections | Each module and what it needs | Off |
[Player]
Enabled = true
BaseMaximumWeight = 450
MegingjordBuff = 200All of these live in [LiveMap]. Set FogMode = trails or explored to record the fog you want to display. The default fog is a translucent tint over the full terrain.
FogHideUnexplored = true gives the Public view a solid cover and withholds unexplored region names and spawn and trader markers. Public viewers cannot turn it off. Check the tokenless link before you share it.
SharedFog = true gives Shared viewers the same locked cover while keeping chat and stats. It defaults to false.
SharedPoiGroups = all keeps every point-of-interest layer in the Shared view. Use none to hide them, or a space-separated list such as spawn trader to show only those groups. The group keys are in the API reference.
Admins can switch on Fog preview under Layers to keep unexplored areas covered on their own map. It starts off, also hides unexplored markers and region names, and does not change admin permissions. It needs FogMode set.
Fog changes what the map draws. It does not restrict access to the underlying terrain images.
NewWorldSeed = <seed> in [Server] (1 to 10 letters or digits) makes a dedicated server create the world named by -world with that seed, when that world does not exist yet. After the start the setting is cleared and the log says what happened. A world that already exists is never changed: the setting is ignored, cleared and logged.
After every world save that works, a dedicated server writes <world>.valheimone.json next to the world in worlds_local: the world and seed names, the day, the bosses defeated, the players since the last save, the save time and the ValheimOne and game versions. The fields are in docs/query.md.
Type these in the browser console. vo help lists them all and vo help <command> explains one.
| Command | What it does |
|---|---|
vo players |
Connected players, session times and IDs |
vo save |
Save the world and connected player profiles |
vo shutdown 60 Restarting |
Shut down after a save and a warning, vo shutdown cancel to stop it |
vo kick <player>, vo ban <player>, vo unban <id> |
Remove or ban a player by name or ID |
vo item <name> |
Recipes, sources and drops for an item |
vo doctor |
Plugin, module, settings and map health |
Every release can be rebuilt byte for byte from its tag. The steps are in docs/verifying.md.
Bugs and feature requests go to GitHub Issues. If you rent your server, hosting and control-panel questions belong with your provider.
See CONTRIBUTING.md.
MIT. See LICENSE.
BepInEx and Harmony load and patch the mod. The map draws with Leaflet. The higher send limit takes its idea from Better Networking by CW_Jesse (MIT); ValheimOne's code is its own. Fonts: Metamorphous and Averia Serif Libre (SIL Open Font License).





