Skip to main content
Back to Category

Project Zomboid Server Setup: Dedicated Server and Mod Guide

Set up a Project Zomboid dedicated server on REXE VDS with mod support, sandbox settings, and multiplayer configuration.

Read time: 14 dk Game Server Setup
project zomboidsteamcmdgame serverdedicated servermodsandboxzombie

Table of Contents

Introduction

Project Zomboid is an isometric zombie survival game by The Indie Stone. With extensive mod support and sandbox settings, you can create a unique survival experience on your own dedicated server. This guide covers the complete Project Zomboid server installation on REXE VDS, including mod management and sandbox configuration.

System Requirements

ResourceMinimumRecommended
CPU2 Cores4+ Cores
RAM4 GB8+ GB
Disk10 GB SSD20+ GB NVMe
OSUbuntu 22.04+Ubuntu 22.04 LTS
Network10 Mbps50+ Mbps

Project Zomboid server RAM consumption increases with mod count and map size. 8 GB+ RAM is recommended when using many mods.

SteamCMD Installation

hljs bash
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install lib32gcc-s1 lib32stdc++6 -y
sudo adduser steam --disabled-login
sudo su - steam
mkdir ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzf steamcmd_linux.tar.gz

Downloading Server Files

hljs bash
cd ~/steamcmd
./steamcmd.sh +force_install_dir ~/pzserver +login anonymous +app_update 380870 validate +quit

Project Zomboid Dedicated Server App ID: 380870. The initial download is approximately 3-5 GB.

Java Installation

Project Zomboid server requires Java:

hljs bash
sudo apt install openjdk-17-jre-headless -y
java -version

Server Configuration

First Launch

Start the server for the first time to generate configuration files:

hljs bash
cd ~/pzserver
./start-server.sh -servername rexeserver

Set a strong admin password when prompted. Then type quit to stop the server.

servertest.ini Configuration

hljs bash
nano ~/Zomboid/Server/rexeserver.ini
hljs ini
PublicName=REXE Project Zomboid Server
PublicDescription=REXE Technology PZ Dedicated Server
MaxPlayers=32
Open=true
PVP=false
PauseEmpty=true
DefaultPort=16261
UDPPort=16262
Password=
MaxAccountsPerUser=5
PingLimit=400
HoursForLootRespawn=0
MaxItemsForLootRespawn=4
SaveWorldEveryMinutes=10
PlayerSafehouse=true
SteamVAC=true
Map=Muldraugh, KY
Mods=
WorkshopItems=
VoiceEnable=true
LoginQueueEnabled=true
LoginQueueConnectTimeout=60
ServerWelcomeMessage=Welcome to REXE Project Zomboid Server! <LINE> <RGB:1,0,0> Type /help for rules.

Key Parameters

ParameterDescriptionDefault
DefaultPortGame port (UDP)16261
UDPPortDirect connect port (UDP)16262
MaxPlayersMaximum players32
PVPPvP enabledfalse
PauseEmptyPause when emptytrue
SaveWorldEveryMinutesAuto-save frequency (min)10

Sandbox Settings

SandboxVars.lua

Sandbox settings allow you to fully customize the game experience:

hljs bash
nano ~/Zomboid/Server/rexeserver_SandboxVars.lua
hljs lua
SandboxVars = {
  Zombies = 4,                    -- 1=Insane, 2=Very High, 3=High, 4=Normal, 5=Low
  Distribution = 1,               -- 1=Urban Focused, 2=Uniform
  DayLength = 2,                  -- 1=15min, 2=30min, 3=1hr, 4=2hr
  StartMonth = 7,
  StartDay = 1,
  WaterShut = 2,                  -- 0=Instant, 1=0-30 days, 2=0-2 months
  ElecShut = 2,
  FoodLoot = 2,                   -- 1=Extremely Rare, 2=Rare, 3=Normal, 4=Common
  WeaponLoot = 2,
  XpMultiplier = 1.0,
  ZombieSpeed = 3,                -- 1=Sprinters, 2=Fast Shamblers, 3=Shamblers
  ZombieStrength = 3,             -- 1=Superhuman, 2=Normal, 3=Weak
  ZombieTransmission = 1,         -- 1=Blood+Saliva, 2=Saliva Only, 3=Everyone's Infected
  ZombieCognition = 3,            -- 1=Navigate+Use Doors, 2=Navigate, 3=Basic
  EnableVehicles = true,
  CarSpawnRate = 3,
}

Customize sandbox settings based on your community's preferences. For new players, set zombie speed to "Shamblers" and loot to "Normal".

Mod Installation

Steam Workshop Mods

To add mods, edit rexeserver.ini:

hljs ini
Mods=mod1;mod2;mod3
WorkshopItems=workshop_id1;workshop_id2;workshop_id3

Example popular mods:

hljs ini
Mods=Hydrocraft;Arsenal(26)GunFighter;Brita_2
WorkshopItems=2778991038;2297098490;2275412165

Mod Installation Steps

  1. Open the mod page on Steam Workshop
  2. Copy the Workshop ID from the URL
  3. Add the ID to WorkshopItems line (semicolon-separated)
  4. Add the mod name to Mods line
  5. Restart the server

Mod incompatibilities can cause server crashes. Test mods one by one.

Startup Script

hljs bash
nano ~/pzserver/start.sh
hljs bash
#!/bin/bash
cd ~/pzserver
./start-server.sh \
  -servername rexeserver \
  -adminpassword ADMIN_PASSWORD \
  -ip 0.0.0.0 \
  -port 16261 \
  -udpport 16262 \
  -players 32 \
  -cachedir=/home/steam/Zomboid \
  -Xmx4096m
hljs bash
chmod +x ~/pzserver/start.sh

Port Configuration

PortProtocolUsage
16261UDPProject Zomboid game port
16262UDPDirect connect port

Firewall Rules

hljs bash
sudo ufw allow 16261/udp comment "PZ Game"
sudo ufw allow 16262/udp comment "PZ Direct"
sudo ufw reload

Auto-Start with systemd

hljs bash
sudo nano /etc/systemd/system/pzserver.service
hljs ini
[Unit]
Description=Project Zomboid Dedicated Server
After=network.target

[Service]
Type=simple
User=steam
WorkingDirectory=/home/steam/pzserver
ExecStart=/home/steam/pzserver/start.sh
Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target
hljs bash
sudo systemctl daemon-reload
sudo systemctl enable pzserver
sudo systemctl start pzserver

Automatic Updates

hljs bash
nano ~/update_pz.sh
hljs bash
#!/bin/bash
echo "Stopping Project Zomboid server..."
sudo systemctl stop pzserver
~/steamcmd/steamcmd.sh +force_install_dir ~/pzserver +login anonymous +app_update 380870 +quit
sudo systemctl start pzserver
echo "Update complete."
hljs bash
chmod +x ~/update_pz.sh
crontab -e
0 5 * * * /home/steam/update_pz.sh

Backup

hljs bash
nano ~/backup_pz.sh
hljs bash
#!/bin/bash
BACKUP_DIR="/home/steam/pz-backups"
SAVE_DIR="/home/steam/Zomboid/Saves"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
tar -czf "$BACKUP_DIR/pz_save_$DATE.tar.gz" -C "$SAVE_DIR" .
find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete
echo "Backup completed: pz_save_$DATE.tar.gz"
hljs bash
chmod +x ~/backup_pz.sh
crontab -e
0 */4 * * * /home/steam/backup_pz.sh

Admin Commands

Basic admin commands from the server console:

/adduser username password
/addusertowhitelist username
/setaccesslevel username admin
/kickuser username
/banuser username
/save
/quit

Conclusion

Project Zomboid dedicated server setup can be completed quickly with SteamCMD. With comprehensive sandbox settings and mod support, you can create a unique zombie survival experience for your community. REXE VDS powerful infrastructure and Path.net DDoS protection ensure your server runs securely.