A dedicated Valheim server keeps your Viking world online 24/7, so your group can sail, build and fight bosses whenever they want — not only when the host is online. Here is how to set one up.
Valheim's built-in "host and play" ties the world to one player's session and PC. A dedicated server runs independently: persistent world, better stability with more players, and no host-migration headaches.
Valheim's official server supports up to 10 players; mods can raise that. World size grows over time, so NVMe storage and regular backups matter.
Most Valheim mods run through BepInEx, installed from Thunderstore. Popular picks add bigger build limits, extra storage, and quality-of-life tweaks. On GGameHost you can install BepInEx and upload mods via the file manager — just make sure every player runs the same client-side mods.
Already have a local world? Upload your .db and .fwl world files via FTP into the server's worlds folder, restart, and your progress carries over.
The dedicated server is a separate Steam application from the game client, with its own app ID. Iron Gate's FAQ directs anyone who wants a persistent server to download the Valheim Dedicated Server application from Steam, and states that Iron Gate provides no official servers and has no access to your saved worlds or characters. The setup guide explains that the application appears in the Steam library once the Tools checkbox is ticked in the library dropdown. Published SteamCMD setup guides install it with an anonymous login and app ID 896660; the game client is app ID 892970.
| Item | Documented value |
|---|---|
| Launch scripts | start_headless_server.bat (Windows), start_server.sh (Linux), docker_start_server.sh |
| Additional Linux packages | libatomic1, libpulse-dev, libpulse0 |
| Linux minimum | GLIBC_2.29 and GLIBCXX_3.4.26 |
| Game platforms | Windows, Linux, Mac and Xbox |
The guide documents these launch parameters on the start script's command line:
-name, -port 2456, -world, -password, -public 1|0 and -crossplay-preset, whose valid values are Normal, Casual, Easy, Hard, Hardcore, Immersive and HammerFour further parameters control how often the world is written and how many copies are kept:
-saveinterval 1800 — save frequency in seconds, 30 minutes by default-backups 4 — number of backups kept-backupshort 7200 — first backup interval, 2 hours by default-backuplong 43200 — subsequent interval, 12 hours by defaultIron Gate's dedicated server guide gives the default port range as 2456-2457 and explains that the server uses both the port passed with -port and the port immediately above it. The same guide documents -public 1 as the default, which lists the server in the server browser, while -public 0 hides it so players can join only through the in-game Join IP button. The guide does not state which transport protocol is used; community setup documentation describes the traffic as UDP and opens a third port, 2458.
| Port | Documented role | Source |
|---|---|---|
| 2456 | Game port, set by -port | Official guide |
| 2457 | The -port value plus one, used alongside 2456 | Official guide |
| 2458 | Opened when crossplay is enabled, for crossplay backend communication; also required by mods whose RPC commands use gameport+2 | Community-documented, not stated in the official docs |
Community server documentation aimed at cloud providers opens 2456-2458 for both TCP and UDP, while the lloesche Valheim server container publishes 2456-2457 as UDP and adds 2458 UDP when crossplay or RPC-based mods are in use. Both are community-documented defaults, not stated in the official docs.
To run more than one server on the same machine, the community valheim-server-help FAQ advises giving each server a -port value several numbers apart from the others, along with a different -world name.
Adding -crossplay to the start command runs the server on the crossplay backend (PlayFab), according to Iron Gate's dedicated server guide. In that mode the server sends data through a relay server, so the guide states that port forwarding is not required. The guide also records the trade-off: with crossplay enabled, you cannot connect using a local or loopback IP address.
The dedicated server guide documents three files in the default save path: adminlist.txt, bannedlist.txt and permittedlist.txt. Each takes one Platform User ID per line, in the format [Platform]_[User ID], which the guide notes is case sensitive. The Platform User ID can be found in the server log or in game through the F2 panel.
The in-game console opens with F5 and offers Kick, Ban, Unban and Banned.
The password blocks startup. The lloesche Valheim server container documentation states that the server password must be at least 5 characters long or the valheim_server.x86_64 binary will refuse to start, and the same project's issue tracker records a server log rejecting a four-character password as too short. A community server-script wiki adds that the password must be unique, must not match the server's public display name and should avoid special characters. These password rules are community-documented, not stated in the official docs.
Missing Linux libraries. If the binary will not start on Linux, check the packages and library versions the official guide lists: libatomic1, libpulse-dev and libpulse0, alongside minimum versions of GLIBC_2.29 and GLIBCXX_3.4.26.
Mod mismatch. The Valheim-Modding wiki explains that the Jotunn version pop-up means you reached the server but there was a mod mismatch, while an empty remote version list most likely means BepInEx is not starting on the server. A failed-to-connect window instead indicates that you probably could not reach the server at all.
Version mismatch. A community server wiki documents the Incompatible Version error as a mismatch between the game client and server versions, resolved by updating the client through Steam and restarting the server so both move together.
Shutting down. Iron Gate's guide stresses closing the server by pressing CTRL+C in the command window.