Valheim
Install with App

Details

Latest version
0.12.1
Last Updated
First Uploaded
Downloads
932
Likes
1
Size
200KB
Dependants
ADDatHost Valheim hosting
€1

Highseat

An admin console for Valheim dedicated servers. Press F5 to open a browsable panel instead of memorising command names and argument order.

Named for the ondvegi, the chieftain's high seat in a longhouse, which is where authority was exercised from.

Why This Exists

Valheim refuses devcommands on a dedicated server, and it does so silently. There are three separate gates, and every one of them fails without an error message:

  1. Terminal.IsCheatsEnabled() returns m_cheat && ZNet.instance.IsServer(). A client is never the server, so cheats are off no matter what adminlist.txt says.
  2. ConsoleCommand's constructor does OnlyServer = onlyServer | onlyAdmin, and IsValid then returns ZNet.instance.IsServer() for those. Every admin-only command, including spawn, is unreachable from a client.
  3. Since 1.0, ConsoleCommand.RunAction refuses all cheat commands until the character is confirmed with confirmcheats.

Highseat opens the first two for genuine admins, surfaces the third as an explicit choice, and mirrors the game's console output so a refused command is never invisible again.

Install

Install on the admin client, not the server. The gates are client side, so a server-side install does nothing.

Requires BepInExPack Valheim.

Admin Setup

Add your platform user ID to adminlist.txt on the server, then restart it.

It must include the platform prefix:

Steam_76561190000000000

A bare SteamID64 will not work. Valheim compares against PlatformUserID.ToString(), which is "<Platform>_<id>". Pasting just the number is the single most common reason admin silently fails, and most server guides still tell you to do it. If you get it wrong, Highseat detects it and logs the exact line you should have used.

Using It

F5 opens the panel. Non-admins cannot open it at all.

Tab What It Does
Spawn Searchable grid of every spawnable prefab with real in-game icons, filtered by items, beasts or build pieces, and by item type within those
Player God, ghost, fly, debug, no-cost and reinforce toggles, heal, skills, teleport, clear nearby drops
World Time of day, time skip, weather
Server Server settings, cheat confirmation, achievement restore, force save, and the player list with kick and ban
Mods Every installed mod's settings, editable in place
Log A working console: everything the game prints back, plus a command line

Before anything will spawn you must press Confirm Cheats once on the Server tab. This is Valheim's own requirement, not Highseat's, and it permanently marks the character as cheated.

Server Settings

The Server tab carries every world setting the server will accept from a connected admin: world level, player and enemy damage, enemy speed and star rate, raid frequency, stamina, eitr, food, carry weight, durability, resource and skill rates, death rules, free building and crafting, portal rules, passive creatures, no map, and the rest.

Edit what you want, then press Save. Changes take effect immediately, for everyone connected, and are written into the world save. There is no restart step and no config file to edit on the server.

These are the world's global keys, so Default clears a setting rather than pinning it to a value. Rates are percentages: 150 means 1.5x, because that is how Valheim stores them.

What is not here, because no client can change it: server name, port, password, public/private, crossplay and save directory. Those are command-line arguments read once at launch. They live in the server's start script and need a restart.

Mod Settings

The Mods tab lists every installed mod that exposes configuration, with its settings grouped by section and editable in place. Pick a mod on the left, search within it on the right. Changes are written to that mod's .cfg as you make them.

Editors are chosen from the setting's own type: a switch for booleans, a dropdown for enums and fixed value lists, a slider when the mod declared a range, a stepper for other numbers, and a text field for everything else. Default puts a single setting back.

Settings a mod marked as hidden stay hidden, the same as in other config editors.

Local And Server

Every mod in the list is badged:

Badge Meaning
Local Its config is yours. Edits apply at once and are saved.
Server The server's value wins while you are connected. Your edit is still saved and applies when it is not overriding.

The badge is read from the mod itself, not guessed: Server means the mod bundles ServerSync, or marks its settings admin-only through Jotunn.

What you can do about a Server setting depends on which of the two the mod uses:

Mod uses Editing it as an admin
Jotunn admin-only settings Applies to the server, and therefore to everyone connected, as soon as you change it. The server holds it until it restarts
ServerSync Saved as your own preference. The server's value keeps winning while you are connected

For a change that survives a server restart, edit that mod's config on the server either way.

Settings The Server Is Overriding

This applies to mods using ServerSync. They sync their configuration from the server, and the server's value wins while you are connected. Those rows are marked, and say what the server is running on.

Your edit is still kept. Highseat writes your value to your own config file rather than fighting the live one, so it is there waiting and applies the moment the server is not overriding it: single player, a different server, or a server that drops the setting. The editor always shows the value you chose, and the row tells you what the server is using instead.

Changing what a ServerSync mod enforces still means editing the config on the server.

Reinforce

Reinforce on the Player tab lets you build without structural integrity. While it is on, every piece you place ignores stability and takes no damage: it will not fall down unsupported, will not wear in rain or snow, and cannot be broken by a troll, a raid or an axe. It is for building the shape you want rather than the shape the support rules allow.

Only pieces placed while the toggle is on are affected. Everything else in the world decays as normal. That is the difference between this and No Structural Collapse on the Server tab, which switches off environmental damage for every structure in the world at once and still leaves everything breakable in combat.

The mark is stored on the piece, not in your config, so it is saved with the world and comes back after a relog. Your hammer still removes a reinforced piece the usual way, so nothing you build with this is permanent by accident. Struck pieces still spark and make noise; they simply take no damage.

The toggle starts off every time the game launches. It permanently marks whatever you place, so it is deliberately not remembered between sessions.

One limit worth knowing on a busy server: Valheim only simulates a piece on the client that currently owns it, so the protection holds whenever a player running Highseat is the nearest owner. That covers your own base. If someone without Highseat is the closest player to a floating structure, vanilla rules apply for them. No Structural Collapse on the Server tab covers that case for everyone.

Dropped Items

Valheim only despawns a dropped item after an hour of world time, and never while it is inside a player base or within 25 metres of a player. Gear dropped around a base therefore stays forever. The rule is hardcoded, so there is no setting for it. Remove Drops on the Player tab clears the loose drops loaded around you.

The Console

The Log tab is a full console, not just an output pane. It opens beside whichever tab you are on, so you can browse and type at the same time.

Key Does
Enter Run the command
Up / Down Walk back and forth through command history
Tab Complete the command name, or the argument once you have typed a space
Esc Close the panel

Tab completion reads the game's own registered command list and each command's argument options, so spawn then Tab cycles real prefab names. Pressing Tab again cycles to the next match.

Commands you type are echoed in brass, the game's replies below them in white. That matters more than it sounds: Valheim reports a refused command by writing to its console, and Highseat hides the vanilla one. Without the mirror, a rejected command looks like the button did nothing at all.

While the panel is open, game keybinds are blocked. Typing m will not open the map and pressing Enter will not open chat.

Achievements

Confirming cheats blocks achievements for that character. Iron Gate ship an official way to turn them back on, and Highseat exposes it as Restore Achievements on the Server tab. The panel reads the resulting state back from your character so you can see whether it actually applied.

For Mod Authors

Another mod can put its own tab in the panel. Highseat does not have to be installed for your mod to work, as long as you keep the reference optional:

HighseatTabs.Register(new HighseatTab
{
    Id    = "yourmod.something",   // stable and namespaced
    Label = "Something",           // short, Title Case
    Draw  = rect => { /* absolute GUI.* calls, not GUILayout */ }
});

The panel owns the tab strip, the transition and the footer. Your tab owns its body. Anything you want to draw on top of your body has to be drawn from inside Draw, because Highseat paints its own popups after every tab.

Registering the same Id twice replaces the first registration rather than adding a second tab. Register whenever you like, including before Highseat wakes: the registry is static and is read at draw time.

A tab that throws is benched until the next world load rather than being allowed to take the panel down. An exception escaping into IMGUI corrupts every control drawn after it, and the panel is the admin's only tool for diagnosing a broken server.

Everything is client side. The panel only opens for admins, so a tab is admin-only by construction, but that is a convenience and not a security boundary. A tab that changes server state must still check admin on the server when the request arrives.

Configuration

BepInEx/config/gbv.valheim.highseat.cfg

Setting Default Purpose
Enabled true Unlock devcommands for admins
PanelHotkey F5 Key that opens the panel
AutoEnableDevCommands true Turn devcommands on when the panel opens
VanillaConsoleOnHotkey false Also open Valheim's text console

Window position and size are saved automatically.

Credits

Reference behaviour was verified against the game's own assemblies. JereKuusela's Server devcommands (Unlicense) confirmed the same patch surfaces independently.

DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro