Set up a Valheim dedicated server on Linux

Source checked 29 Sept 2026; game-version match unverified.Official

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

  1. In the server directory, open a terminal and run the bash script ./start_server.sh (official guide).
  2. Before that, edit the launch line: the properties are on the line that starts with start valheim_server in the Windows script, and the Linux script is start_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).
  3. Set the server properties described on the launch options page.
  4. When the output says Game server connected, the server is up (official guide).
  5. 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).

  1. 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 docker group (official guide).
  2. 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 the docker group (official guide).
  3. Run the script that ships with the server, next to start_server.sh, and pass it the start script to use (your copy, or start_server.sh itself): ./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).
  4. Game data lives in the Docker volume named by DOCKER_DATA_VOLUME in docker_start_server.sh (default valheim_server_data). To keep it in your own filesystem, set it to a path such as ${HOME}/valheim_storage and create that directory first. Worlds, adminlist.txt, bannedlist.txt and permittedlist.txt are inside it (official guide).
  5. 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