Quick Answer
Before blaming mods, compare branch and exact build on both sides — the recorded order: Steam branch (Stable/Unstable) first, then the exact patch number both sides display, then restart state (a branch or Workshop change needs a FULL restart), and only then WorkshopItems, Mods, Map, and dependencies. The anchor for calibration: 42.21 went Stable on 2026-09-28 — a server still reporting 42.20.x is on the wrong branch or didn't finish updating. Write down both displayed versions verbatim; 'latest' is not a version number.
Table of Contents
Mismatch triage
Work a mismatch from the Steam branch to the exact build, then restart state and Workshop items. Don't start by replacing the save or deleting mods.
| Order | Compare | Next |
|---|---|---|
| 1 | Steam branch on client and server | Align Stable or Unstable first |
| 2 | Exact Build 42 patch | Write down both displayed versions |
| 3 | Restart state | Fully restart after a branch or Workshop change |
| 4 | Workshop items and Mods IDs | Compare the server list with one client |
| 5 | Maps and dependencies | Retest the smallest matching set before the full list |
After the versions match: the four fields
The version-fields reference separates branch and patch checks from WorkshopItems, Mods, Map, dependencies, and restart state — the handoff point from this page's version work to the mod-field comparison.
| Field | Compare it between | The restart rule |
|---|---|---|
| WorkshopItems | The server's INI and one affected client's downloads | A Workshop change applies fully only after a complete restart of both sides |
| Mods | The server's loaded Mods IDs and the client's enabled list | Same restart rule — half-applied changes produce versions that match but behavior that doesn't |
| Map | The server's Map entries and every client's map chain | Map changes are the least forgiving: an incomplete chain blocks the join outright |
| Dependencies | Each item's requirements on both sides | Test the smallest matching set first, then the full list — a dependency mismatch inside a big list is otherwise invisible |
Calibrating against the 42.21 anchor
The version fields reference separates branch and patch checks from the WorkshopItems, Mods, Map, dependency, and restart fields — and the 42.21 release gives that workflow a concrete anchor.
Build 42.21 went Stable on 2026-09-28. That date is your calibration point: a server or client displaying 42.20.x after that date is either on the wrong branch, holding an unfinished update, or deliberately pinned — and each of those three is a different fix. The first comparison is branch (Stable versus Unstable), because a branch mismatch makes every later number comparison meaningless: the patches don't even share a lineage. The second is the exact displayed version, written down verbatim on both sides — the display is the ground truth, and 'I'm on the latest' is a feeling, not a version.
Restart state is the silent third step. A branch switch or a Workshop change only fully applies after a complete restart of both server and client — a half-applied update produces version strings that disagree with actual behavior, which is how you get 'the numbers match but the join still fails'. Full restart both sides, re-read the displayed versions, and only then move to the mod fields.
The mod fields come last and separately: WorkshopItems, Mods, Map, and dependencies are four distinct comparisons, with the restart requirement applying again after any change. If versions now match and the join still fails, the mismatch page hands you off to the network and mod-field diagnosis — but the order protects you from the expensive mistake: replacing saves or deleting mods over what was a branch flag.
Reference data
Diagnose a mismatch in this order: Steam branch, exact Build 42 patch, full restart, then Workshop items and Mods IDs.
| Check | Record | Next |
|---|---|---|
| Steam branch | Stable or unstable on both sides | Select the same branch before changing mods |
| Build | Exact client and server version text | Update the side that is behind |
| Restart | Server and client fully restarted after alignment | Repeat the join test |
| Workshop items | WorkshopItems, Mods, Map, and dependency versions | Compare the active lists after game versions match |
FAQ
How do I fix a version mismatch on my Project Zomboid server?
In the recorded order: align the Steam branch (Stable or Unstable) on both sides, write down the exact displayed patch version on each, fully restart both after any branch or Workshop change, and only then compare WorkshopItems, Mods, Map, and dependencies. Don't replace the save or delete mods over a branch flag — that's the expensive mistake the order exists to prevent.
What version should my server be on?
Calibrate against the anchor: Build 42.21 went Stable on 2026-09-28. A server displaying 42.20.x after that is on the wrong branch, holding an unfinished update, or deliberately pinned — three different fixes, so read the actual displayed version rather than trusting 'I updated'.
Versions match but the join still fails — what now?
Restart state first: a branch switch or Workshop change only fully applies after a complete restart of both sides, and a half-applied update shows matching numbers with mismatched behavior. If a full restart doesn't clear it, move to the four mod-field comparisons (WorkshopItems, Mods, Map, dependencies) and the network path — the version work is done.
Should I update my server right away when a patch drops?
Back up first, then update: the official 42.21 notes say existing 42.20.4 saves should not be affected but still recommend a manual backup before testing on a new branch. Align every client at the same time — a server that updates while clients lag produces exactly the mismatch this page diagnoses.