Set up a Valheim dedicated server on Linux
This guide follows Iron Gate’s official dedicated-server guide for Linux. Each step names its source; where the official guide is silent, this page says so.
Scope. The official guide is dated April 11, 2024, before Valheim 1.0. We read it on 2026-09-29 but did not run these steps against a specific 1.0.x build. The guide states that a copy ships with the server download, so treat that copy as the reference for your build.
Getting the server files
The official guide documents one way to get the server: in the Steam client, tick Tools in the Library dropdown and install Valheim Dedicated Server (official guide).
Not covered: SteamCMD. Headless Linux machines usually get server files through Valve's command-line tool, SteamCMD, which is documented on Valve's page. That page was behind bot protection when we checked, so we could not read it, and we do not publish command lines or an app id we have not verified. Use Valve's page directly.
Required packages
The Linux Steam client overlaps with the server’s library needs, but these additional packages are required: libatomic1, libpulse-dev and libpulse0 (official guide).
Run it directly
- In the server directory, open a terminal and run the bash script
./start_server.sh(official guide). - Before that, edit the launch line: the properties are on the line that starts with
start valheim_serverin the Windows script, and the Linux script isstart_server.sh(official guide); the guide does not say which line of the Linux script holds them. Work on a copy of the script, because the original is reset each time Steam updates it (official guide). - Set the server properties described on the launch options page.
- When the output says Game server connected, the server is up (official guide).
- Stop it with CTRL+C in the terminal (official guide).
Ports
With the default Steam backend, forward the port range the server uses (default 2456-2457; Valheim uses the port you set and that port plus one). With the Crossplay backend you do not need port forwarding (official guide). The official guide does not name the protocol, and it gives no Linux firewall commands, so none are given here.
Running in Docker
The server needs at least GLIBC_2.29 and GLIBCXX_3.4.26. If your distribution has older versions, Iron Gate suggests running the server in Docker instead of upgrading (official guide).
- Install Docker (the official guide links installation instructions for several distributions), make sure the daemon is running and that the user who runs the server is allowed to use Docker, typically by belonging to the
dockergroup (official guide). - Check with
docker ps. If it reports it cannot connect to the Docker daemon, start the daemon; if it reports permission denied on the socket, add your user to thedockergroup (official guide). - Run the script that ships with the server, next to
start_server.sh, and pass it the start script to use (your copy, orstart_server.shitself):./docker_start_server.sh start_server.sh. The first run builds the container environment and takes a few minutes; later runs start right away (official guide). - Game data lives in the Docker volume named by
DOCKER_DATA_VOLUMEindocker_start_server.sh(defaultvalheim_server_data). To keep it in your own filesystem, set it to a path such as${HOME}/valheim_storageand create that directory first. Worlds,adminlist.txt,bannedlist.txtandpermittedlist.txtare inside it (official guide). - Stop the server the same way as when running the script directly (official guide).
Where the save data is
Default Linux save path: ~/.config/unity3d/IronGate/Valheim, unless overridden with -savedir (official guide). See backups and updates.
What this guide does not cover
Hardware sizing, a systemd service, firewall rules, SteamCMD and mod setup are not in the official guide. For mods, see BepInEx and Valheim Plus.
Sources
- OfficialA Guide to Dedicated Servers (Iron Gate) - read on 29 Sept 2026; the page is dated April 11, 2024