How to Set Up a Project Zomboid Dedicated Server
Install a Project Zomboid dedicated server on Linux using SteamCMD (AppID 380870). Covers anonymous login, the start-server.sh launcher, admin password creation, and port requirements.
Project Zomboid Dedicated Server Setup
Project Zomboid's dedicated server runs natively on Linux and is downloaded via SteamCMD with anonymous login — no Steam account required.
Step 1 — Install SteamCMD
sudo apt-get update && sudo apt-get install lib32gcc-s1 -y
mkdir ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
Step 2 — Download the Server Files
Project Zomboid's dedicated server AppID is 380870. Anonymous login is fully supported.
~/steamcmd/steamcmd.sh \
+force_install_dir /home/steam/pz \
+login anonymous \
+app_update 380870 validate \
+quit
Step 3 — Run the Server for the First Time
The launcher script is located at the root of your install:
cd /home/steam/pz
chmod +x start-server.sh
./start-server.sh -servername servertest
On the very first launch, the server will prompt you in the console to set an admin password. Type a strong password and press Enter. This creates the servertest.ini config file and the servertest_SandboxVars.lua sandbox file.
Tip: The
-servernameargument controls which config file is loaded. Running without it defaults toservertest.
Step 4 — Directory Structure
After first launch, key files are created under:
~/.local/share/ProjectZomboid/
Server/
servertest.ini ← Main server configuration
servertest_SandboxVars.lua ← Sandbox/difficulty settings
servertest_spawnregions.lua ← Spawn region definitions
Saves/
Multiplayer/
servertest/ ← World save data
Important: Stop the server before editing any config files. Changes do not take effect until the next restart.
Step 5 — Firewall Ports
Open these ports in your firewall:
| Port | Protocol | Purpose |
|---|---|---|
| 16261 | UDP | Game traffic (primary) |
| 16262 | UDP | Direct connection (secondary) |
sudo ufw allow 16261/udp
sudo ufw allow 16262/udp
Keeping the Server Updated
~/steamcmd/steamcmd.sh \
+force_install_dir /home/steam/pz \
+login anonymous \
+app_update 380870 \
+quit
Run this after each Project Zomboid game update to keep client and server versions in sync. Version mismatches prevent players from joining.