Three steps. The middle one is a download that does the fiddly parts for you.
The server is not on the public internet. Tailscale is a free private network — it is how you reach it.
Does all three fixes automatically. Takes about a minute.
Double-click it when it lands. It will:
| Step | What it does |
|---|---|
| Steam setting | turns on Allow downloads during gameplay — the single most common cause of a stuck join |
| 8 mods | installs the ones Steam cannot serve into Zomboid\mods\ |
| 129 files | restores game files missing from the Steam build. Never overwrites a file you already have. |
.bat.
Click More info → Run anyway. In Chrome, click the ⌄ next to
the download and choose Keep. The file is short, plain text, and you are
welcome to open it in Notepad first — everything it does is listed at the top.
localconfig.vdf.bak-pzsetup.
In Project Zomboid: Join → Favourites → add a server.
On the same home network as the server instead? Use 192.168.1.220, same port.
Start Steam first and let it finish any pending downloads before you launch the game.
Steam → Settings → Downloads → Allow downloads during gameplay.
Without it, Steam quietly refuses to fetch mod updates while a game is running. Project Zomboid asks for the mods during the join, Steam defers, and the join waits forever without ever printing an error.
Download pz-manual-mods-FOR-Zomboid-mods-folder.zip (49 MB).
C:\Users\<you>\Zomboid\mods\
| Folder | What it is |
|---|---|
VFE, VFEP93, VFES | Vanilla Firearms Expansion + STALKER pack + Post '93 |
BetterTowing, DisableDefaultTowing, HarrysTowTruck | the towing overhaul |
Project Summer Car | a vehicle |
VehicleClassOverhaul | vehicle class changes |
steamapps\workshop\content\108600\. Files
there do not make Steam consider you subscribed, so the game still refuses them.
Zomboid\mods is read directly by the game with Steam not involved —
that is the whole point.
Download pz-client-files.zip (37 MB) and extract it into your
Project Zomboid install folder, the one that contains media:
...\steamapps\common\ProjectZomboid\
The zip already contains a media\ folder, so it merges straight in.
Choose "skip" if anything asks to overwrite — you only want the files you
are missing.
You can tell it worked if this file now exists:
media\actiongroups\player\hitreaction-bite\to_hitreaction-hit.xml
You are missing the 129 game files. Run the setup file, or do step (c) above.
This comes back after Steam's Verify integrity of game files, and after some game updates — both delete files Steam does not know about. Just run the setup file again.
That mod was deleted from the Steam Workshop. Waiting will never help — Steam is returning nothing for it. You are missing the 8 hand-install mods; run the setup file, or do step (b) above.
Your copy of that mod is older than the server's and Steam is refusing to update it. The mod named on screen is usually just the last one it got to, not the actual problem — there may be a dozen behind it.
It hangs rather than fails because of a stand-off: Steam reports the download "complete" in about a second without transferring anything, because it believes your old copy is current. The game compares against the server, disagrees, and asks again. Neither side gives up and neither produces an error.
Fix, in order of effort:
Usually a version mismatch: your game updated and the server has not yet, or the other way round. The server accepts the connection and then goes quiet, so there is no error on screen.
Check the bottom of the main menu for your version, and tell the server owner what it says. Nothing you can do from your side fixes this one.
The game writes a log. Open:
C:\Users\<you>\Zomboid\console.txt
and look at the end. These lines are the smoking gun:
Subscribed|Installed|DownloadPending ID=<number> repeated many times onItemDownloaded itemID=<number> time=1162 ms Steam claims success... GetItemState()=Subscribed|Installed ...but nothing changed item state CheckItemState -> DownloadPending so the game asks again
Paste the number after
https://steamcommunity.com/sharedfiles/filedetails/?id= to see which mod
it is. result=3 on an onItemNotDownloaded line means Steam
gave up on that item.
Send that file to the server owner if you are stuck.
With 57 mods, authors push updates constantly. Any time your copy falls behind the server's, the join stalls the same way.
Leave Allow downloads during gameplay on, and let Steam finish updating before you launch the game. If you have not played in a while, open Steam first and give it a few minutes.