Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Highseat
Admin console for dedicated servers. Devcommands for admins, a searchable spawn grid, live world settings, an editor for every mod's config, and building without structural integrity.
By GBV
| Last updated | 10 hours ago |
| Total downloads | 858 |
| Total rating | 1 |
| Categories | Mods Utility Deep North Update |
| Dependency string | GBV-Highseat-0.12.1 |
| Dependants | 3 other packages depend on this package |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2350README
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:
Terminal.IsCheatsEnabled()returnsm_cheat && ZNet.instance.IsServer(). A client is never the server, so cheats are off no matter whatadminlist.txtsays.ConsoleCommand's constructor doesOnlyServer = onlyServer | onlyAdmin, andIsValidthen returnsZNet.instance.IsServer()for those. Every admin-only command, includingspawn, is unreachable from a client.- Since 1.0,
ConsoleCommand.RunActionrefuses all cheat commands until the character is confirmed withconfirmcheats.
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.