SteamCMD update problems split into two kinds: hard failures (disk space, permissions, an interrupted appmanifest) and the sneakier one where SteamCMD reports success but the server stays on the old build. The second kind is causing a wave of version mismatches right now because of the V3.1 Henpocalypse update. Both fixes are below.
If SteamCMD prints "Success! App already up to date" (or "Success, No Error") and yet your server is still on the previous build, you are hitting a stale Steam PICS (product info) cache. SteamCMD trusts a cached copy of the app's metadata and never sees that a newer build exists, so it keeps the old files. Force a fresh product-info refresh with +app_info_update 1:
steamcmd +login anonymous +app_info_update 1 +app_update 294420 validate +quit
+app_info_update 1, SteamCMD can report success while silently staying on the old build - this is the exact cause of the "I updated but players still get a version mismatch" problem.V3.3.0 is the current stable build on the default public branch; V3.2, V3.0 and V2.6 are older lines. When a server flips between stable and experimental, the new branch points at a different build than the one SteamCMD has cached. Without a forced product-info refresh, SteamCMD keeps the cached branch info and reports success on a stale build, so clients on the new branch are rejected with an incompatible version. Add +app_info_update 1 to clear the cache, and add the beta flag when moving branches:
steamcmd +login anonymous +app_info_update 1 +app_update 294420 -beta latest_experimental validate +quit
To return to stable, run the update with no -beta flag (or -beta ""). On managed hosts with auto-update enabled, the server runs its Steam update on every start or restart, so the practical fix is usually to confirm the branch and restart - the update runs before the server boots.
steamcmd +login anonymous +force_install_dir /path/to/7d2d +app_update 294420 validate +quit
appmanifest_294420.acf and retry.+app_info_update 1 (see above).This is a stale Steam PICS (product info) cache. SteamCMD trusts cached app metadata and never sees the newer build, so it reports success while keeping the old files. Force a fresh product-info refresh with +app_info_update 1: steamcmd +login anonymous +app_info_update 1 +app_update 294420 validate +quit.
It forces SteamCMD to re-fetch the application's product info from Steam instead of using its cached copy. Without it, SteamCMD can report Success, No Error while silently staying on the old build, which causes players to get a version mismatch even though the update appeared to work.
Use appid 294420 for the dedicated server. Do not use 251570 with SteamCMD; that is the game's store appid and a different application. The dedicated server is always updated with 294420.
V3.3.0 is the current stable branch and V3.2, V3.0 and V2.6 are older lines. When a server flips between branches, the new branch points at a different build than the one SteamCMD has cached. Without +app_info_update 1, SteamCMD keeps the cached branch info and reports success on a stale build, so clients on the new branch are rejected. Add the beta flag to move branches: +app_update 294420 -beta latest_experimental validate.