Server Stuck on Initializing: Log-First Fix (Build 42.19)
Build 42.19 · Host and dedicated server stuck on Initializing
This guide is for when Host or a dedicated server never leaves “Initializing,” or exits with messages such as Server has stopped during launch (NormalTermination). For client-side “Getting Server Info,” use the connection troubleshooting guide. For broader admin settings, see server administrator tips and the hosting setup guide.
1. Back up, then capture the last log segment
Zomboid user-data folder (or at least Saves, Server, and multiplayer databases). Restoring a backup is always safer than recreating a world to “see if it works.”
Windows
- User data:
%UserProfile%\Zomboid\ - Server INI / sandbox:
%UserProfile%\Zomboid\Server\ - Multiplayer saves:
%UserProfile%\Zomboid\Saves\Multiplayer\ - Main log:
%UserProfile%\Zomboid\console.txt - Log history:
%UserProfile%\Zomboid\Logs\ - Support archive when present:
%UserProfile%\Zomboid\logs.zip
macOS and Linux
- User data:
~/Zomboid/ - Server INI / sandbox:
~/Zomboid/Server/ - Multiplayer saves:
~/Zomboid/Saves/Multiplayer/ - Main log:
~/Zomboid/console.txt - Log history:
~/Zomboid/Logs/ - Support archive when present:
~/Zomboid/logs.zip
Watch the Host or dedicated server console while it starts. Save the final 50–100 lines after it stalls or exits. Those lines usually name Workshop IDs, Lua paths, map folders, ports, or Java heap failures more clearly than the UI.
Windows PowerShell — search the main log:
Select-String -Path "$env:USERPROFILE\Zomboid\console.txt" -Pattern "exception|error|caused by|workshop|checksum|mod|bind|address already in use|OutOfMemory|UPnP|listening|NormalTermination|SERVER STARTED"
macOS or Linux:
grep -niE "exception|error|caused by|workshop|checksum|mod|bind|address already in use|OutOfMemory|UPnP|listening|NormalTermination|SERVER STARTED" ~/Zomboid/console.txt
2. Match the hang to a stage
| What the log / console shows | Likely stage | Safe next step |
|---|---|---|
workshop, download, item state, Workshop item IDs looping or failing |
Workshop content not finished or not matching the server list | Wait for downloads to finish; verify Workshop items and Mods in the server profile; retry on a stable network. Do not wipe the save. |
checksum, mod, Lua path, or stack frames under a mod folder |
Mod load / Lua checksum mismatch | Disable mods on a copy of the profile (see bisection below). Keep the original config. |
| Map / world load messages, missing map folder, or errors naming a map mod ID | World or map pack load | Confirm required map mods and map order. “Make the world smaller” is not a real server setting—use a clean test world only after backup, not as the first fix for an existing save. |
BindException, Address already in use, failed bind, or no “listening” line on the expected port |
Network bind / ports | Read DefaultPort and UDPPort from the server INI. Stop the stale process or free those ports. See port section below. |
OutOfMemoryError, repeated GC thrash, process killed by the OS |
Memory | Raise heap only when the log or OS shows memory pressure. Host default is 4 GB (host.ini memory=4096). See the server memory guide. |
Player / database / .db errors, or a specific multiplayer save path named before exit |
Player database or save folder | With a full backup, rename or move only the file the log names. Never delete the whole multiplayer save as the first experiment. |
NormalTermination after an intentional soft-reset or clean stop |
Often a normal exit, not always a crash | Check whether the process was asked to stop. For true launch failures, read lines above NormalTermination. See the Normal Termination guide. |
3. Branch: mods (halve the list)
Mods remain a common reason Host never finishes loading. Bisect on a backed-up copy of the server profile—do not edit the only copy of a live save’s mod list until you know the culprit.
- Disable all Workshop mods and local mods for a throwaway test server profile (or a copied profile).
- If vanilla starts, re-enable half the mods, restart, and watch the console.
- If it fails, disable half of the active set; if it succeeds, re-enable half of the remaining set.
- Continue until one mod or a small group reproduces the hang.
- After a large mod list change, fully restart the client and server so Lua reloads cleanly.
For a longer walkthrough, see how to find which mod causes an error and how to add mods to a server (correct Workshop item IDs vs mod folder names matter on B41 and B42).
4. Branch: ports and UPnP (not old Steam 8766/8767 as a universal fix)
Build 42.19 server settings still expose DefaultPort, UDPPort, and UPnP. The client join field defaults to port 16261. For public multiplayer on Build 42.19, use:
| Setting | Typical default | When it matters for “Initializing” |
|---|---|---|
DefaultPort |
16261 (UDP, Steam/query path) | Server cannot bind if another process already owns this port, or the INI was changed and a second instance still uses the old value. |
UDPPort |
16262 (UDP) | Second game port; must not conflict and must be allowed if players connect from outside the host machine. |
UPnP |
Commonly true by default |
Asks a UPnP-capable home router to create forwards automatically. If setup fails, the server falls back to its configured default ports—confirm success or failure in the startup log. |
| Legacy Steam ports 8766 / 8767 | Not required as a general PZ fix today | Do not treat them as mandatory for every Host setup. Prefer the game’s DefaultPort/UDPPort. Extra Steam/firewall ports only matter in specialized dedicated/cloud cases documented by the host environment. |
UPnP is not a LAN-only switch. Local clients on the same network usually do not need router forwarding. Use UPnP or manual forwards when internet players must reach your home host. If you already set manual forwards, set UPnP=false so there is one source of truth. Details:
UPnP and server options.
Check whether the default game port is already taken:
# Windows PowerShell
Get-NetUDPEndpoint -LocalPort 16261 -ErrorAction SilentlyContinue
Get-NetUDPEndpoint -LocalPort 16262 -ErrorAction SilentlyContinue
# macOS / Linux
lsof -nP -iUDP:16261
lsof -nP -iUDP:16262
Replace the numbers with the values from your server INI if you changed them.
5. Branch: memory (only with evidence)
Raising RAM is not a universal fix for Initializing. Increase the Java heap when logs show OutOfMemoryError, the OS kills the process, or sustained heap pressure under load—not because the bar sits on Initializing for a few minutes while mods download.
- Host: Server memory control (768 MB–16 GB, default 4096 MB) writes
memory=inhost.iniand becomes-Xmx. - Dedicated: set
-Xmxin the start script or panel JVM args; there is no standardMemory=key inside the server INI for heap size. - Leave headroom for the OS; do not set
-Xmxequal to total machine RAM.
6. Branch: player data and worlds (never first, never without backup)
- Confirm the log names a file or folder under
Saves/Multiplayeror a.dbpath. - Copy that path out of the tree (or rename with a
.baksuffix). - Retest once. If the hang moves to a new error, diagnose the new message; do not delete more files.
- If you only needed a clean test, use a new server profile name so the original multiplayer save stays untouched.
7. What not to do on current clients
- Do not force 32-bit mode. Current macOS packages target 64-bit ARM and Intel with a matching JRE; a 32-bit launch path is not a supported generic fix. Windows installs are also 64-bit oriented for modern builds.
- Do not “ensure the world is small” as if that were a documented server toggle. Map size and loaded chunks affect load time, but there is no substitute for reading the log and testing a separate profile when you need a clean world.
- Do not open 8766/8767 as the default answer for every home Host. Prefer
DefaultPort/UDPPort(16261/16262) and confirm bind success in the log.
8. Controlled retest checklist
- Stop the client and every server instance.
- Back up the complete
Zomboiduser-data folder. - Save
console.txt, the relevant file underLogs, andlogs.zipif present. - Apply one change that matches the log branch (mods, port bind, heap, named save file).
- Start Host or dedicated and wait for a clear ready message or a new failure line.
- If the message changes, follow the new signature instead of stacking unrelated fixes.
9. When to use a dedicated server instead
Switching from in-game Host to a dedicated process can help when the host machine needs the client free, or when a panel/VPS is already your plan—but it is setup work, not a magic fix for a corrupt save or a bad mod list. The same log-first rules apply. See the hosting guide for ports and secure VPS basics.
What to include when asking for help
- Exact build and Steam branch (client and server).
- Host vs dedicated vs rented panel.
- Operating system.
- The last 50–100 console lines (redact passwords, tokens, and public IPs if sharing publicly).
- Whether a no-mod test profile still hangs.
DefaultPort,UDPPort, andUPnPvalues from the server INI (not guesses).