Fix the Satisfactory Server "Version Mismatch" Error
You update your dedicated server, jump in to play, and the game refuses to connect with a "version mismatch" message, or the server simply will not show as joinable. This is one of the most common complaints from self-hosting pioneers after every patch, and it shows up again with each major release like 1.1 and 1.2. The error is almost never a corrupted install. It means the build number running on your server does not match the build number your game client is on. This guide explains why that happens and gives you the exact commands to fix it.
Why client and server fall out of sync
Satisfactory ships on two main Steam branches: Stable (the default public branch) and Experimental (early access to upcoming patches). Both your game client and your dedicated server install have their own branch setting, and they update on their own schedule.
A mismatch happens for one of these reasons:
- Client moved, server did not. You opted your game into Experimental to try 1.2 early, but your dedicated server is still on Stable. The client is now several builds ahead.
- Server updated to a new build, client did not restart. Steam updated your client in the background while you were mid-session, or the reverse happened on the server.
- The server update did not actually land. You ran
+app_update, SteamCMD reported success, but it updated the public branch while you expected Experimental (or vice versa). Steam remembers the last branch you selected, so a half-finished branch switch leaves stale files behind. - Coffee Stain pushed a hotfix. Experimental in particular can receive several builds in a single week. A server that updated yesterday can already be one build behind today.
The rule to remember: the client branch and the server branch must match, and both must be fully updated to the latest build on that branch.
Step 1: Confirm which branch your client is on
Before touching the server, check the client so you know your target.
- Open Steam, right-click Satisfactory, choose Properties.
- Open the Betas tab.
- If the selected beta is experimental, your server must also be on Experimental. If it reads None (or the default public branch), your server must be on Stable.
Decide which branch the whole group will play on, then make every client and the server agree. Mixing Stable and Experimental in one group never works.
Step 2: Update the dedicated server with SteamCMD
The dedicated server is a separate Steam application from the game itself. Its app ID is 1690800 (the playable game is 526870, a different ID entirely). You update it through SteamCMD with an anonymous login.
To put the server on the Stable branch and fully verify the files:
steamcmd +force_install_dir /path/to/SatisfactoryDedicatedServer +login anonymous +app_update 1690800 validate +quit
To put it on the Experimental branch instead:
steamcmd +force_install_dir /path/to/SatisfactoryDedicatedServer +login anonymous +app_update 1690800 -beta experimental validate +quit
The validate keyword is the part most people skip, and it is the part that fixes stubborn mismatches. It compares every local file against the selected branch and re-downloads anything missing, outdated, or left over from a previous branch. Without it, a branch switch can leave old executables in place and you stay mismatched even though SteamCMD says "fully installed."
-beta flag is not always enough. Force the public branch explicitly with -beta public:
steamcmd +force_install_dir /path/to/SatisfactoryDedicatedServer +login anonymous +app_update 1690800 -beta public validate +quit
Step 3: Run each command on its own line if it fails
A recurring fix from the community: if the single-line command reports success but the mismatch persists, run the steps interactively instead. Launch SteamCMD first, then enter each line and wait for it to finish before the next:
steamcmd
force_install_dir /path/to/SatisfactoryDedicatedServer
login anonymous
app_update 1690800 validate
quit
This guarantees the install directory is set before the download starts, which is the usual reason an "all on one line" update quietly writes to the wrong folder.
Step 4: Restart the server and reconnect
- Stop the dedicated server process completely after the update finishes. A server that was running during the update is still on the old build in memory.
- Start it again and wait for it to fully load the save.
- Restart your Steam client too, so it picks up any pending client update.
- Reconnect. The build numbers should now match and the server becomes joinable.
If your server still does not appear in the Server Manager, the problem has shifted from a version mismatch to a connectivity issue. Both port 7777 (TCP and UDP, used for game traffic and the HTTPS API) and port 8888 (TCP, used for reliable messaging) must be open and forwarded. The old 15777 and 15000 ports are no longer used in 1.1 and later. See our connection and authentication guide if the server connects but rejects you.
Common mistakes that keep the mismatch alive
| Symptom | Likely cause | Fix |
|---|---|---|
| Update "succeeds" but numbers still differ | SteamCMD updated the wrong branch, or files were not validated | Re-run with the correct -beta flag plus validate |
| Server jumped ahead of the client | You are on Experimental, which patches often | Update the client too, or move both to Stable |
| Switched off Experimental, still mismatched | Steam remembered the old branch | Force -beta public and validate |
| Mismatch returns the next day | A new hotfix landed overnight | Re-run the update command before each session |
| Used wrong app ID | Installed the game (526870) instead of the server (1690800) | Reinstall with app ID 1690800 |
How to avoid it entirely
The cleanest habit is to update the dedicated server first, every time you notice a patch, and only then launch the client. If you run Experimental, accept that you are signing up to re-run the SteamCMD command roughly weekly. Groups that want a stable, predictable cadence should stay on the Stable branch and update only when Coffee Stain promotes a build out of Experimental.
On a Supercraft Satisfactory server the branch switch and update are a single panel click rather than a SteamCMD session, and the server validates its own files on every update, so the "version mismatch" loop simply does not happen. You pick Stable or Experimental, hit update, and join. From $7.99/mo, no contract.