
Iron Gate patched Valheim three times in October 2026: 1.0.17 on 6 October, 1.0.20 on 15 October and 1.0.21 on 28 October. After a patch, the dedicated server you played on last night can turn you away with "Incompatible version", or the server is current and one friend still gets the message. This guide shows how to read both versions, update the server so the update lands where it runs, fix the case where SteamCMD reports success and nothing changes, and deal with mods that refuse players.
Quick answer: Valheim says "Incompatible version" when your game and the dedicated server run builds with a different network version, which the server checks when you connect. Most often the server missed the patch: stop it, run steamcmd +force_install_dir /path/to/server +login anonymous +app_update 896660 -beta public validate +quit on the folder it starts from, start it and check the Valheim version line in its log. If the server is current, the player's game is behind, so let Steam finish the update. Mods with their own version check refuse players whose mods differ, so give everyone the server's mod versions.
What "Incompatible Version" Means in Valheim
The dedicated server does not run the game logic, but it checks every player who connects: their Steam ID, the ban and permitted lists, the password and a version code, according to the Valheim Wiki. Since patch 0.215.2 the game prints a separate network compatibility version in its console and log, and that number decides whether two builds can play together. A refusal in the server log looks like this, taken from a public bug report with the timestamps removed and the Steam ID shortened:
Network version check, their:35, mine:34
Peer 7656119... has incompatible version, mine:0.220.5 (network version 34) remote 0.221.4 (network version 35)
mine is the server, their and remote are the player. Here the player ran 0.221.4 and the server was still on 0.220.5, one network version behind: the server had missed the update.
Not every patch changes the network version. The 1.0.21 notes hold back part of one fix because it "requires network incompatible update and is coming soon", so 1.0.21 itself left the number alone, and a patch that changes it is on the way. That is why some patch days lock players out and others don't. The wiki's rule holds either way: every time the game updates, update the dedicated server too.
Check Which Version Each Side Runs
The player. The version number is on Valheim's main menu.
The server. It writes its version to the log when it starts, in a line like this one from a server on 1.0 launch day (bug report):
Valheim version: l-1.0.7 (network version 39)
The number after the letter prefix is the game version, the one in brackets the network version. If the server runs as a systemd service called valheim, as in our Valheim dedicated server guide, pull the version line and any refusals from the journal:
sudo journalctl -u valheim --no-pager | grep -iE "valheim version|network version check|incompatible version" | tail -n 6
If you start the server with -logFile or send its output to a file, run the same grep on that file.
| The log shows | Who is behind | Fix |
|---|---|---|
| The server's network version is lower | The server | Update the server (next section) |
| The player's network version is lower | The player | Update the game in Steam |
| Same network version, the player still can't join | Neither | Check mods and the other causes below |
Update a Valheim Dedicated Server With SteamCMD
The dedicated server is its own Steam app, 896660, so updating the game never updates the server. It takes three steps:
- Stop the server so it saves. Iron Gate's dedicated server guide says to stop it with Ctrl+C. The wiki adds that SIGINT or SIGTERM with enough wait time works for a service, and SIGTERM is what
systemctl stopsends by default (systemd.kill). - Update the folder the server starts from. Valve's SteamCMD page says to set the install folder before logging in, so
+force_install_dircomes before+login. - Start it and check the version line.
With the setup from our guide (user valheim, server files in /home/valheim/server, SteamCMD from the Ubuntu package, which installs it as /usr/games/steamcmd; sudo does not search that folder, hence the full path):
sudo systemctl stop valheim
sudo -u valheim -H /usr/games/steamcmd +force_install_dir /home/valheim/server +login anonymous +app_update 896660 -beta public validate +quit
sudo systemctl start valheim
Iron Gate's guide says the server accepts connections once it shows Game server connected. Give it a minute, then check:
sudo journalctl -u valheim --since "15 minutes ago" --no-pager | grep -iE "valheim version|game server connected"
What the parts of the SteamCMD line do:
-beta publickeeps the install on the normal branch: Valve names the non-beta branchpublicand says this option takes an install off a beta branch.validatechecks every file against Steam's copy and overwrites changed ones, while files that are not part of the install, such as your copy of the start script, stay as they are. Valve suggests it for first installs and for servers with problems.
On Windows the Valheim Wiki uses the same line with steamcmd.exe and a Windows path:
steamcmd.exe +force_install_dir "C:\valheim-server" +login anonymous +app_update 896660 -beta public validate +quit
If you run the server from the Steam client instead, it is listed under Tools in your library, and updating it there is enough.
One trap after every update: Iron Gate's guide warns that the original start_headless_server.bat (Linux: start_server.sh) is reset each time Steam updates it, and validate overwrites an edited original as well. Keep your settings in a copy of that file and start the server from the copy.
If your server runs on our Valheim server hosting, the server binaries update automatically when Iron Gate ships a patch, and the web console shows the live log, so you can read the version line there.
SteamCMD Says Success but the Server Is Still on the Old Version
In a Steam discussion, a server owner ran app_update 896660, SteamCMD reported a good update, and the log still said 0.209.10 while the client was on 0.210.6. The accepted answer: SteamCMD had been updating a different copy of the server. Check these four causes in order.
1. SteamCMD updated another folder. A line without +force_install_dir, such as steamcmd +login anonymous +app_update 896660 validate, works on the copy in SteamCMD's own library, which is only your server if you installed it there. A typo in the path has the same effect. Every copy SteamCMD manages has a manifest in its steamapps folder, so list them:
sudo find / -name appmanifest_896660.acf -not -path "/proc/*" 2>/dev/null
Each result sits in <install folder>/steamapps/. If there are two, or the folder is not the one your start script uses, point +force_install_dir at the folder the server starts from. grep buildid on a manifest shows the build installed in that folder, which is how LinuxGSM reads the local build.
2. SteamCMD failed and a script hid it. Read SteamCMD's own output. In a September 2026 report, a Docker server stayed on 0.221.12 after 1.0 came out: SteamCMD ended with App '896660' state is 0x6 after update job, and the image's updater kept the old files and called them the latest version. The fix the project merged on 19 September explains why: to patch an install, SteamCMD needs the manifest of the build you have, which it keeps in a depot cache, and Steam refuses anonymous logins the manifests of builds that are no longer current. Without that cache the update fails. The fix moves appmanifest_896660.acf aside and runs the update again with validate, so SteamCMD checks the existing files and downloads what changed. Worlds live in the save folder (-savedir, or ~/.config/unity3d/IronGate/Valheim by default), normally not in the install folder, but back them up first:
sudo systemctl stop valheim
sudo -u valheim mv /home/valheim/server/steamapps/appmanifest_896660.acf /home/valheim/appmanifest_896660.acf.old
sudo -u valheim -H /usr/games/steamcmd +force_install_dir /home/valheim/server +login anonymous +app_update 896660 -beta public validate +quit
sudo systemctl start valheim
If that still fails, install into a new, empty folder and point your start script at it.
3. The old process never stopped. An update does not change a server that is already running: it keeps running the build it started with. Stop it before the update, start it after, and read the version line from the new start.
4. The install is on a test branch. If the server was ever switched to a beta branch, name the normal branch in the update with -beta public, as in the lines above.
When the Server Is Current but a Friend Still Can't Join
- Their game is behind. Ask them to close Valheim, restart Steam so it checks for the update, and let the download finish. They should also check that no beta is selected under Properties, then Betas, the tab Iron Gate's notes use for its test branch.
- They don't play on Steam. Iron Gate's guide says a server started without
-crossplayuses the Steam backend, and then only Steam users can see and join it. Players on other stores also get patches on their own schedule: the notes for 1.0.17 and 1.0.21 say a patch takes a few days to reach every platform. Our Valheim servers take Windows (Steam) players only, and our crossplay explainer covers the platform question. - Their mods differ from the server's. See the next section.
Mods That Block Joining
Iron Gate has no official mod support and says it cannot guarantee that mods stay compatible with newer versions of the game. The game's own check compares network versions, not mods, but mod libraries add a check of their own, and their refusal names the mod:
- Jotunn runs a version check when a player connects. If a mod's requirements are not met, the player is disconnected with a version mismatch error that names the mod and the version it needs. Each mod sets whether everyone must have it and how closely the versions must match (Jotunn docs).
- ServerSync lets a mod set a minimum version. A player with an older copy is disconnected right away with an error that says why (ServerSync).
- ValheimPlus has
enforceMod=truein the[Server]section of its config by default: a version check that makes sure joining players have V+ installed, which its authors say never to turn off (server settings).
After a game patch, update BepInEx and the mods on the server first, test that you can join, then give every player the same versions. Our Thunderstore mods guide shows how to share one mod profile with everyone. On Linux a modded server starts from the BepInExPack Valheim script start_server_bepinex.sh, which is not part of the Steam install, so updates and validate leave it alone.
Other "Failed to Connect" Causes After a Patch
- The start file was reset. A server that comes back with a different name, world or password is running the reset original. Start it from your copy.
- The server is still loading. Wait for
Game server connectedin the log. - It's missing from the server list. The wiki explains that the list only shows a server once Steam's master server has fetched its details, so after a restart join with the Join IP button until it shows up again.
- Ports. On the Steam backend the server uses its port and the port above it, 2456 and 2457 by default, and the wiki says it relies on UDP. Both must be reachable.
- The permitted list. Once
permittedlist.txtholds any ID, everyone else is refused, Iron Gate's guide says. Copy IDs from the F2 panel in game.
FAQ
Why does Valheim say incompatible version when I join my server? The server compared its network version with your game's and they differ, so one side is on an older build, usually the server after a patch. The refusal line in the server log names both versions.
How do I update my Valheim dedicated server?
Stop it, run the SteamCMD line from this guide with +force_install_dir set to the folder the server starts from, start it and check the Valheim version line. From the Steam client, update the Valheim Dedicated Server tool in your library.
SteamCMD says the update worked. Why is my server still on the old version? Mostly one of three things: SteamCMD updated another folder, the old server process never restarted, or SteamCMD failed with a state error that a script or panel hid. The section above covers each one.
My friend can't join my dedicated server after patch 1.0.20. Why?
Read the refusal line in the server log. If your friend's number is lower, their game has not updated yet; if the server's is lower, update the server. If your friend plays outside Steam, a server started without -crossplay won't let them in on any version.
Can I roll the server back to an older version instead? Not in a useful way. The pull request above notes that an anonymous SteamCMD login cannot get manifests for builds that are no longer current, and since patch 0.216.9 Valheim refuses to load a world from a game version newer than its own. Update whichever side is behind.
Do mods cause the incompatible version error? Mods with their own version check do: mods built on Jotunn or ServerSync, and ValheimPlus, refuse players whose mods differ from the server's, and the message names the mod. Give every player the same mod versions as the server.
Sources
All opened on 31 October 2026:
- Iron Gate: Patch 1.0.21, Patch 1.0.20, Patch 1.0.17, A Guide to Dedicated Servers
- Iron Gate on Steam: Patch 0.215.2, Patch 0.216.9, Patch 0.221.13 (Public Test), Regarding Mods
- Valheim Wiki: Dedicated servers
- Valve: SteamCMD
- Steam Community: Incompatible version between client and dedicated server after patch
- valheim-server-docker: issue 758, issue 795, issue 798, pull request 812
- LinuxGSM core_steamcmd.sh
- Mods: Jotunn network compatibility, ServerSync, ValheimPlus server settings, BepInExPack Valheim
- Linux: Ubuntu steamcmd package files, systemd.kill