An "incompatible version" or "invalid version" error means the client build does not match the server build. During the V3.0 Dead Hot Summer launch window the single biggest cause is a branch mismatch: one side is on V2.6 stable and the other is on V3.0 experimental. Both the client and the server must be on the same Steam branch, and Steam's build IDs differ between branches even when both say they are "updated."
V3.0 is the experimental branch (opt in via the Steam beta branch named latest_experimental). V2.6 is the stable branch on the default install. A client on the 3.0 experimental branch cannot join a server still on 2.6 stable, and a 2.6 client cannot join a 3.0 server. There is no cross-branch compatibility, so "we are both updated" is not enough - you have to be on the same branch.
The fix is to pick one branch and put everyone on it. If you run a server, decide whether it stays on 2.6 stable or moves to 3.0 experimental, then tell players to match it. If you are a player who opted into experimental and cannot join your usual server, switch your client back to the stable branch (or wait for the server to move).
| Cause | What it looks like | Fix |
|---|---|---|
| Server behind on build | Server is on an older build than up-to-date clients; everyone gets kicked. | Restart the server (managed hosts update on start) or force a fresh Steam update server-side. See the server-side fix below. |
| Client behind | One or two players cannot join while others can. | Update the game in Steam, restart Steam, and verify the install. Confirm the client is on the same branch as the server. |
| Branch mismatch (stable vs experimental) | Client and server are both "fully updated" but still incompatible. | Put both sides on the same branch. This is the dominant cause during the 3.0 launch. |
On managed hosts with auto-update enabled, the server runs its Steam update automatically on every start or restart, so there is generally no separate "update game files" button - the update happens before the server boots. That means the fix for a server that is behind is almost always: restart it, and make sure the branch is set correctly first. Restarting a server that is configured for 3.0 experimental will pull the latest experimental build before it comes back up; restarting a 2.6 server keeps it on stable. Once the server is on its intended branch, every player simply matches their client to that branch in Steam.
Sometimes a server flips branches (for example 2.6 stable to 3.0 experimental) but stays stuck on the old build, so players keep getting a version mismatch even after a restart. This is a stale Steam PICS (product info) cache: SteamCMD can report "Success! App already up to date" while silently keeping the old build. Force a fresh product-info refresh by adding +app_info_update 1:
steamcmd +login anonymous +app_info_update 1 +app_update 294420 validate +quit
A few important notes:
+app_info_update 1, SteamCMD can say "Success, No Error" while keeping the old build, which is exactly why players still see a version mismatch after what looked like a successful update.+app_update 294420 -beta latest_experimental validate. To go back to stable, run the update with no -beta flag (or -beta "").On top of the branch and build checks, every mod version must match on the server and the client. A mismatched or missing mod produces the same incompatible-version result. Update or remove mismatched mods so both sides load an identical mod set. Note that most V2.6 mods do not load on V3.0, so plan mod updates around your branch move.
+app_info_update 1