Valheim
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
2 weeks ago
Downloads
3.2K
Size
203KB
ADDatHost Valheim hosting
30% off

Highseat

An admin console for Valheim dedicated servers. Press F5 to open a panel with the admin commands on it, instead of typing them into the console.

Named for the ondvegi, the high seat a chieftain sat in.

What It Is For

Valheim does not allow cheat commands on a dedicated server. The game only permits them when you are the server yourself, so being listed in adminlist.txt makes no difference and no message explains why the commands do nothing.

Highseat enables those commands for server admins and provides a UI for them.

Install

Install on the admin's game, not the server. 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 needs the platform prefix:

Steam_76561190000000000

A bare SteamID64 will not work. The prefix is required. If the prefix is missing, Highseat writes the correct line to the log.

The Panel

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

Tab What It Does
Spawn Every spawnable item, creature and build piece, with real icons. Search it, or filter by type
Player God, ghost, fly, debug, reinforce and weather toggles, free building for yourself or anyone else, heal, skills, teleport
World Time of day, time skip, weather
Server World settings, cheat confirmation, achievements, force save, and the player list with kick and ban
Mods Every installed mod's settings, editable in place
Log A working console: the game's replies, plus a command line

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

Map Teleport

Right-click anywhere on the world map to open a small menu:

  • Teleport Here moves you to that spot.
  • Teleport Player Here lists the players currently connected and moves the one you pick.

This works from the map itself; the panel does not need to be open.

Right-clicking a map pin still deletes that pin, as it always has. The menu only opens where there is no pin under the cursor.

A player you teleport needs Highseat installed, because the move happens on their machine. They do not need to be an admin.

Building

Three things on the Player tab for people who build.

Reinforce

Anything you place while Reinforce is on ignores structural support and cannot be damaged: no collapse, no weathering, and no damage from trolls or raids.

Only pieces placed while it is on are affected. Everything else in the world behaves normally.

Your hammer still removes a reinforced piece the usual way. Struck pieces still spark and make noise, they just take no damage.

The toggle starts off every time you launch, because it marks what you build permanently.

No Weather Damage

Stops rain, ash rain and heavy snow wearing your buildings down. This one is remembered between sessions.

Weather only. Unsupported pieces still collapse, lava still destroys, and raids still do their damage. Buildings also still count as wet in the rain, so they keep their protection from Ashlands embers.

Rain on its own never destroys a building. It wears one down to half health and stops there.

No Cost

No Cost opens a menu. Your own free building is the first row. Below it is every player currently connected, each with a Grant button.

Granting gives that player free building without making them an admin. They keep it until you press Revoke, including across relogs and server restarts.

The player you grant it to needs Highseat installed. They do not need to be an admin, and the panel will not open for them. Without the mod there is nothing on their machine to turn free building on.

Grants are stored in the world rather than on your computer, which is how they survive a restart. They are not private: anyone can list them with the keys console command.

Server Settings

The Server tab has every world setting a server will accept from an admin: world level, player and enemy damage, enemy speed and stars, raids, stamina, eitr, food, carry weight, durability, resource and skill rates, death rules, free building and crafting, portals, passive creatures, no map, and more.

Edit what you want and press Save. Changes apply immediately for everyone connected and are saved into the world. No restart, no editing files on the server.

Default clears a setting rather than pinning it to a value. Rates are percentages, so 150 means 1.5x.

Server name, port, password, public/private and crossplay are not here. They are set when the server starts, so they need its start script and a restart.

Mod Settings

The Mods tab lists every installed mod that has settings, grouped by section and editable in place. Pick a mod on the left, search within it on the right. Changes save as you make them.

The editor matches the setting: a switch for on/off, a dropdown for a list of choices, a slider where the mod gave a range, a text field for the rest. Default puts one setting back. Edit opens a long value full width.

A slider also has a box beside it, so a value can be typed in rather than dragged to. Out-of-range numbers are clamped to whatever the mod allows.

Some mods offer Custom as a dropdown choice and keep the actual value in a second setting, named something like Custom Crafting Station or Drop config. When a dropdown is set to Custom, that second setting appears on the same row so it can be filled in directly. Where a mod has no single setting for it, as with a creature's spawn options, nothing appears and the other settings in that section are the custom configuration.

Local And Server

Every mod is badged:

Badge Meaning
Local The settings are yours. Edits apply straight away
Server The server has a say. What happens depends on the mod, see below

For a Server mod, one of two things happens when you change a setting as an admin:

  • It applies to the server, and therefore everyone connected, right away. The server keeps it until it restarts
  • Or it is saved as your own preference, and the server's value keeps winning while you are connected. Rows like this are marked, and show what the server is using instead

Either way, to change something permanently, edit that mod's config on the server.

Dropped Items

Valheim only despawns dropped items after an hour, and never near a player or inside a base, so gear dropped around your base stays forever. Remove Drops on the Player tab clears what is 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.

Key Does
Enter Run the command
Up / Down Command history
Tab Complete the command, or its argument once you have typed a space
Esc Close the panel

Tab completion uses the game's own command list, so spawn then Tab cycles real item names.

Your commands echo in brass, the game's replies in white. Valheim reports a refused command by writing to its own console, which Highseat hides, so the replies are mirrored here. Without that, a rejected command would look like the button did nothing.

Game keybinds are blocked while the panel is open, so typing m will not open the map.

Achievements

Confirming cheats blocks achievements for that character. Iron Gate provide an official way to turn them back on, available as Restore Achievements on the Server tab. The panel reads the result back from your character so you can see whether it applied.

Settings

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
NoWeatherDamage false Structures take no rain, ash or snow damage

Window position and size are saved automatically.

For Mod Authors

Another mod can add its own tab to the panel. Highseat does not have to be installed for your mod to work, as long as the reference stays 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 and the footer. Your tab owns its body. Anything you want 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. Register whenever you like, including before Highseat wakes.

A tab that throws is benched until the next world load rather than taking the panel down with it.

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

Credits

JereKuusela's Server devcommands (Unlicense) uses the same approach.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.