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.
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
-crossplayfrom 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 oldSteam_form still works in the list files alongside the newerV_123456789form) - 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’scinematicrequiredevcommandson your client before the session starts. This flag permanently marks your character and world against earning achievements — Iron Gate’s recent patches removed thedevcommandsflag from achievement eligibility, so if you already marked your world you need to runyes i used devcommands but i want my achievements anyway(remove spaces) to opt back in. Server-sidekick,ban,save,adminwork 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.
Links
- dedicated-server-guide — the setup guide you read first
- crossplay — join codes, version mismatches, how crossplay works end-to-end
- connection-troubleshooting — the “incompatible version” and connection-refused checklist
- mod-ecosystem-1-0 — BepInEx vs PlayFab, Valheim Plus status, standalone replacements
- devcommands-deep-dive — the full 1.0 devcommands list and achievement opt-in
Related guides
- Valheim Connection Troubleshooting — Fix Failed Joins, Lag and Crossplay Drops
A step-by-step checklist for the multiplayer problems that actually happen in Valheim at 1.0: join codes rejected, crossplay players not visible, lag and rubber-banding, and dedicated servers nobody can reach.
Verified Valheim 1.0 - Valheim Crossplay Guide — PC, Xbox, PS5 and Switch 2 Together
How Valheim crossplay works at 1.0: join codes, version parity, hosting a cross-platform session from PC or console, and the fixes for the joins that fail.
Verified Valheim 1.0 - Valheim Dedicated Server Guide — Self-Host or Rent in 2026
How to set up a Valheim dedicated server at 1.0: the free headless server tool, world name and password, port 2456, crossplay join codes, backups, and when renting beats self-hosting.
Verified Valheim 1.0