Skip to content
Valheim Wiki Home

Version-verified guide

Valheim Server Admin Guide — Launch Arguments, Permissions Files and In-Game Commands

Everything a Valheim 1.0 dedicated server admin needs: the full launch argument reference, adminlist/bannedlist/permittedlist.txt permissions, kick/ban/unban commands, and the crossplay mod blocker.

Verified Valheim 1.0

By Valheim Field Guide Editorial Team

Prerequisites: run this after reading the setup guide

This page covers what happens after your Valheim dedicated server is running. If you have not set up your server yet, start with the dedicated-server-guide — it covers the headless install, port forwarding, and the start_headless_server.sh / .bat launch script.

Launch arguments — the complete 1.0 reference

Valheim has no config file. Every server setting is passed as a command-line flag at startup. The launch script ships with sensible defaults — edit the copy before the original so Steam updates do not overwrite your changes.

Essential flags (every server needs these)

Flag Default What it does
-name "text" required Server name shown in the Steam / crossplay server browser
-world "text" required World filename. A new world is generated automatically if the file does not exist.
-password "text" required Minimum 5 characters and must not appear inside the world name or seed. Valheim refuses to boot with an invalid password — check this first if your server dies on launch.
-port N 2456 Game port. Valheim binds to this port and the next one up (2457 for Steam query / A2S). Your host panel usually handles this — do not add it yourself unless you know you need to.
-nographics Required for headless servers. Disables the game’s rendering pipeline. Do not remove this from a dedicated server — it will crash.
-batchmode Runs the Unity engine in batch (headless) mode. Also required for dedicated servers.

Crossplay and visibility flags

Flag Default What it does
-crossplay off Enables PlayFab crossplay networking. Without this flag, only Steam players can see and join your server. Console players (Xbox / PS5 / Switch 2) cannot connect to a Steam-backend server at all — this is an architecture constraint, not a bug.
-public 1 or 0 1 1 lists the server in the community browser; 0 means players join only by IP or join code.

What -crossplay actually changes

Iron Gate documents this in the official dedicated server guide:

If you use the Crossplay backend (-crossplay), the server transmits data via a relay server and therefore does not require port forwarding to be accessible from outside your local network. You can connect using the public IP address + port, a join code, or via the server list. It is not possible to connect using a local IP address or a loopback address.

So: crossplay = PlayFab relay = no port forwarding needed. Steam backend = direct connection = port forwarding required. Pick one and commit to it before inviting players. You can switch, but changing -crossplay requires a restart.

⚠️ Important for modded servers: If you want mods, remove -crossplay from your launch script. BepInEx mods use the Steam networking hook and cannot load on a PlayFab backend. This is not fixable — it is how the two networking layers are designed. See our mod ecosystem guide for full details.

The standard Linux launch template

#!/bin/sh
export templdpath=$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH
export SteamAppId=892970
./valheim_server.x86_64 \
  -nographics -batchmode \
  -name "MyServer" \
  -port 2456 \
  -world "MyWorldFilename" \
  -password "ChangeMeNow" \
  -crossplay -public 1
export LD_LIBRARY_PATH=$templdpath

Copy this, save it as start_server.sh, chmod +x, then run.

The three permissions files — adminlist, bannedlist, permittedlist

Valheim has no in-game “add admin” button. All server permissions are controlled by three plain-text files stored in the game data directory:

  • Windows: %UserProfile%\AppData\LocalLow\IronGate\Valheim\
  • Linux / macOS: ~/.config/unity3d/IronGate/Valheim/

These files live outside your dedicated server installation folder — they are in the player data directory because the headless server shares the same Iron Gate account context. Hosted server providers typically expose this folder through their file manager panel.

adminlist.txt — grant admin powers

// Platform User ID — one per line
V_7656119812345678
X_2535416401464117

Platform User IDs follow the format [Platform]_[User ID] and are case sensitive. You get them from the server console log (when a player connects) or from the F2 player panel in-game (visible only to admins after typing admin). The format:

  • Steam players: Steam_1234567890 (the 64-bit Steam ID; the 1.0.12 hotfix notes confirm this old Steam_ form still works in the list files alongside the newer V_123456789 form)
  • Xbox players: Xbox_1234567890 — the 16-digit Xbox ID exactly as it is logged by the server when the player connects (Xbox_ prefix, as it appears in the PlayFab log line)
  • PS5 players: S_1234567890 — the PlayStation ID, shown in the server console log when the player joins
  • Switch 2 players: N_1234567890 — the Nintendo ID, shown in the server console log when the player joins

One adminlist entry = one admin across all characters. You do not need to add each character the player makes.

bannedlist.txt — permanently ban

// Ban reason field is optional; line format: [Platform]_[User ID]
V_7656119812345678
X_2535416401464117

A banned player cannot join even if they know the password or join code. Ban decisions should ideally be made from the server console (see below) because the ban command records the ban reason and player name, making it easier to undo later.

permittedlist.txt — whitelist mode

Any entry in permittedlist.txt bans everyone who is not on the list. This is Valheim’s whitelist mode — useful for private servers, guild servers, or tournaments. Leave the file completely empty (not deleted, just empty) if you want everyone who has the password to join.

// Leave empty to allow anyone with the password
V_7656119812345678
X_2535416401464117

Iron Gate warns: “Adding a person on the permitted list will ban everyone else from the server.” This is intentional and documented — do not accidentally put your own Steam ID here while testing.

In-game admin commands — the full list for dedicated servers

Only players listed in adminlist.txt can execute these. Press F5 to open the console. The format is command name without extra punctuation.

Server-wide admin commands

Command Effect
kick PLAYERNAME Removes a player from the server. Does not ban them — they can reconnect immediately.
ban PLAYERNAME Kicks and bans. The ban is written to bannedlist.txt.
unban PLAYERNAME Removes the ban. Equivalent to editing bannedlist.txt by hand.
banned Lists all players currently banned.
admin Shows which admins are connected right now.
recall PLAYERNAME Teleports a player (or recall all) to your current location. Useful for recovering players stuck on terrain.
save Forces the server to save immediately instead of waiting for the auto-save interval (~20 minutes).

Client commands available to admins

These work on your own character, not other players:

Command Effect
god Invincibility toggle.
ghost Enemy mobs ignore you. Good for inspecting terrain or testing spawn points.
nocost No resource cost when building. Toggle on to lay out a base, toggle off before friends join.
freefly Camera detached from your character — use for screenshots or cinematic videos.
exploremap Reveals your personal map completely. Only affects your character’s save.
pos Prints your current coordinates — useful for directing a stuck friend.

devcommands vs vanilla admin commands: Commands like god, spawn, freefly, findbiome, and 1.0’s cinematic require devcommands on your client before the session starts. This flag permanently marks your character and world against earning achievements — Iron Gate’s recent patches removed the devcommands flag from achievement eligibility, so if you already marked your world you need to run yes i used devcommands but i want my achievements anyway (remove spaces) to opt back in. Server-side kick, ban, save, admin work without devcommands on any admin’s client.

Shutting down properly

Press CTRL+C in the server console window. Clicking the X close button may leave the server process running in the background — Iron Gate confirms this is a known issue. Always use CTRL+C for a clean shutdown.


All Multiplayer & Servers guides →