Games Project Zomboid
Project Zomboid server requirements
Requirements
| Our benchmark | The Indie Stone | PZwiki | DatHost | ||
|---|---|---|---|---|---|
| CPU | 2% of one core, idle | No figure, B42 lighter on CPU than B41 | Min quad 2.5 GHz, rec 6+ cores 3.0 GHz | ||
| RAM | 2.1 GB idle, 8.1 GB peak | 3 GB + 0.5 GB per player | 8 GB start for B42, 6 GB needed to boot | Min 8 GB, rec 16 GB+ | |
| Disk | 7.0 GB install | Min 20 GB SSD, rec 50 GB+ SSD | |||
| Network | UDP 16261 and 16262 | UDP 16261-16262 | Min 5 Mbps upload, rec 20 to 50 Mbps | ||
| OS | Linux, native | Windows or Linux | Windows 10+ or Linux 64-bit, Ubuntu 20.04+ |
RAM by players
PZwiki
3.5 to 5 GB
6.5 to 8 GB
DatHost
8 GB
- Recommended
- Community
- PZwiki: "Allocate at least 3 GB of RAM for the server itself to run, then add approximately 500 MB of memory for each additional player you plan to host."
- WinterNode: "think of it more like 6GB base + 0.5GB per player for comfortable headroom. ... Build 42 needs at least 6GB to initialize, even for small worlds with no players connected."
- DatHost: "[Minimum] 8 GB (good for 2-4 players) | [Recommended] 16 GB or more (for 8+ players or mod-heavy servers)"
Memory over time
- In use
- Peak, with cache
Community results
Loading...
Add result
Pending
- 24 hours idle
- Same world at
-Xmx4gand-Xmx2g - One player for 30 minutes
- Three warm restarts
Reported by others
- The Indie Stone: "It is currently inadvisable to have more than 20 players on a server."
Ports
| Port | Protocol | Use | Our server |
|---|---|---|---|
16261 | UDP | Game traffic (-port). | Open |
16262 | UDP | Direct connection (-udpport). | Open |
Forward UDP 16261 and 16262.
Docker setup
4 steps
Download
Free anonymous download, Steam app 380870, about 7 GB on disk.
docker volume create pz_files docker run --rm -v pz_files:/data steamcmd/steamcmd:latest \ +@sSteamCmdForcePlatformType linux +force_install_dir /data \ +login anonymous +app_info_update 1 +app_update 380870 validate +quitMemory cap
Set the heap before the first start; the shipped value is 8 GB.
docker run --rm -v pz_files:/data alpine sed -i 's/-Xmx8g/-Xmx4g/' /data/ProjectZomboid64.jsonRun
Exact bench command. Add
-p16261-16262:16261-16262/udp to publish the ports.docker volume create pz_home docker run --rm -v pz_files:/a -v pz_home:/b ubuntu:24.04 chown -R 1000:1000 /a /b docker run -d --name pz --memory 12g \ -v pz_files:/pz -w /pz -v pz_home:/home/ubuntu/Zomboid \ game_runtime ./start-server.sh -adminpassword change-meReady line
'SERVER STARTED' 36.2 seconds after container start.
docker logs -f pz | grep -m1 'SERVER STARTED'
Settings
15 settings
Memory: -Xmx in ProjectZomboid64.json. Server settings: ~/Zomboid/Server/servertest.ini.
| Setting | What it does |
|---|---|
-Xmx8g | Java heap cap in ProjectZomboid64.json. |
-XX:+UseZGC | Shipped garbage collector. Heap held as shared memory; unused heap returned over time. |
-adminpassword | Admin password; without it the first start waits for input. |
-servername servertest | Settings and save name. |
DefaultPort=16261 | servertest.ini. Game port. |
UDPPort=16262 | servertest.ini. Direct connection port. |
MaxPlayers=32 | servertest.ini. Player slots. |
Public=false | servertest.ini. Server list visibility. |
PublicName=My PZ Server | servertest.ini. Name in the list. |
Password= | servertest.ini. Join password; empty is open. |
PVP=true | servertest.ini. Player combat. |
PauseEmpty=true | servertest.ini. Pauses the world with nobody on. |
Map=Muldraugh, KY | servertest.ini. Map. |
SaveWorldEveryMinutes=0 | servertest.ini. Autosave interval; 0 uses the game's own schedule. |
SteamVAC=true | servertest.ini. Valve anti-cheat. |
Troubleshooting
4 problems
- RAM far above guides right after start
- ZGC claims most of the
-Xmxheap at start (about 8 GB with-Xmx8g), then returns unused heap over the next hour. Lower-Xmxin ProjectZomboid64.json to cap it. - First start hangs waiting for input
- It asks for an admin password. Pass
-adminpasswordon the command line. - 'libjsig.so' cannot be preloaded
- Harmless on Linux; startup continues.
- No connections from outside the network
- Forward UDP 16261 and 16262.
Method
build 25485538
| Server | Project Zomboid dedicated server, Steam build 25485538, game version 42.21.0, downloaded 2026-10-06. |
|---|---|
| Image | Minimal ubuntu:24.04 with ca-certificates and libcurl, uid 1000; bundled Java runtime; ~/Zomboid on a Docker volume. |
| Machine | AMD Ryzen 9 5950X, Proxmox VE 9, each game server in Docker inside a dedicated LXC container. 12 GB memory limit, no swap. |
| Command | ./start-server.sh -adminpassword (random) |
Changes from defaults
- Random admin password on the command line, so the first start does not stop to ask for one.
- Shipped ProjectZomboid64.json unchanged:
-Xmx8g, ZGC.