How to Make a Project Zomboid Server, Step by Step
How to make a Project Zomboid server: dedicated server with SteamCMD, admin password, servertest.ini, port 16261, Workshop mods, RAM and backups.

Contents
Making a Project Zomboid server comes down to four steps: you download the free Project Zomboid Dedicated Server files with SteamCMD, start the server for the first time and set the admin password, customize your server with servertest.ini and the sandbox settings, and open UDP ports 16261–16262. With your own server, Knox County stays open to your friends even when you're not in the game.
This guide covers setting up a Project Zomboid server on Linux from scratch, the settings, Workshop mods, admin commands and backups. Project Zomboid is an actively developed game; file and setting names may change in new builds, so check the release notes after updates.
Requirements
- Operating system: Project Zomboid Dedicated Server runs on 64-bit Linux and Windows. In this guide we use Ubuntu and Debian.
- RAM: 4 GB for a few players, 8 GB or more for busy, modded servers.
- CPU: Simulating zombie hordes and the areas where players are puts a load on the processor; high single-core speed is what keeps things smooth.
- Disk: Set aside a few tens of GB of free space for the server files, Workshop mods and the world save. The save grows as the world is explored.
All you need to know is how to connect to a server with SSH; we give the rest of the commands step by step.
Downloading the server files with SteamCMD
For security, run the server as a separate user instead of root:
sudo apt update
sudo apt install lib32gcc-s1 curl tmux
sudo useradd -m -s /bin/bash pzserver
sudo su - pzserver
mkdir ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
The Steam app ID of Project Zomboid Dedicated Server is 380870:
~/steamcmd/steamcmd.sh +force_install_dir /home/pzserver/server +login anonymous +app_update 380870 validate +quit
If your players are on the game's beta (unstable) branch, you need to switch the server to the same branch; to do that, add -beta unstable to the command. The server and the players must be on the same version.
First start and the admin password
Start the server in a tmux session:
cd ~/server
tmux new -s pz ./start-server.sh
On the first start, the server asks you to set an admin password; type the password twice. With this password, you log in to the game with the username admin and manage the server. Once you see in the console that the server has started, press Ctrl + B and then D to leave the session, and return with tmux attach -t pz.
By default, the server's settings and save files are named servertest; in this guide we use this default name for the file names. If you'll run more than one server on the same machine, you can give a different name with ./start-server.sh -servername myserver; in that case, read the name you gave instead of servertest in the file names.
Setting the RAM
The memory the server can use is set in the ProjectZomboid64.json file in the server folder. Find the -Xmx value in the file and set it according to your server's RAM:
"-Xmx8g",
Leave some room for the operating system and other services; 6 GB on a server with 8 GB of RAM and 12 GB on a 16 GB server are reasonable values. Restart the server after the change.
Settings with servertest.ini
The settings files are kept in the Zomboid/Server folder in the user's home folder. Shut down the server before editing the server settings:
nano ~/Zomboid/Server/servertest.ini
The most important settings:
| Setting | What it does |
|---|---|
PublicName | The name shown in the server list |
PublicDescription | The server description |
Public | If true, the server appears in the public list |
Password | The password players need to join |
Open | If false, only accounts added by an admin can join |
MaxPlayers | The maximum number of players |
PVP | Whether players can harm each other |
DefaultPort | The game port (default 16261) |
WorkshopItems | The numbers of the Workshop items to load |
Mods | The IDs of the mods to enable |
Sandbox settings: The number of zombies, their speed, the infection type, loot rarity and other game rules are in the servertest_SandboxVars.lua file. The easiest way is to set them in the game as if you were creating a new single-player game, then copy the file the game creates to the server.
Ports and firewall
By default, the Project Zomboid server uses these ports:
- 16261 UDP: The game port.
- 16262 UDP: The port for additional game traffic.
If you use ufw on Ubuntu:
sudo ufw allow 16261:16262/udp
We explain how ports work in our What is a port? article.
Connecting to the server
In the game, go to the Join screen and enter the server's IP address and port 16261. When you connect to the server for the first time, you set a username and password; this account is specific to that server. If the server is public, you can also search for it by name in the Public tab.
Workshop mods
To add a mod, you need two pieces of information:
- Workshop ID: The number in the address of the mod's Steam Workshop page. It goes on the
WorkshopItemsline. - Mod ID: The ID given on the mod's Workshop page. It goes on the
Modsline.
Separate multiple values with semicolons:
WorkshopItems=1234567890;2345678901
Mods=examplemod1;examplemod2
The server downloads the mods from the Steam Workshop by itself at startup, and the same mods are downloaded to players when they connect. Map mods are also added to the Map line. Lots of mods increase the RAM requirement and the startup time; after adding mods, check the error messages in the server console.
Admin commands
In the game, type them in the chat window with /; in the server console, type them without the slash:
| Command | What it does |
|---|---|
players | Lists the connected players |
setaccesslevel "name" admin | Makes a player an admin |
adduser "name" "password" | Adds a new account to a closed server |
kickuser "name" | Kicks a player from the server |
banuser "name" | Bans a player |
servermsg "message" | Sends a message to all players |
save | Saves the world |
quit | Saves the world and shuts down the server |
Always use quit to shut down the server; killing the process can lose the progress made since the last save.
Backups and updates
The world save is kept in the ~/Zomboid/Saves/Multiplayer/servertest folder, while player accounts and settings are kept in the other folders under ~/Zomboid. Before big updates and mod changes, take a copy of the whole Zomboid folder:
tar -czf ~/pz-backup-$(date +%F).tar.gz -C ~ Zomboid
When the game updates, shut down the server with quit and run the SteamCMD command again. Major build updates may not be compatible with old worlds; read the release notes before updating. We cover taking regular backups that are independent of the server in our Server backups guide, and restarting the server at set times in our What is cron? article.
Nodesty for your Project Zomboid server
Project Zomboid's huge zombie hordes and modded worlds need a powerful processor and plenty of RAM. Nodesty AMD Ryzen 9 9950X VPS plans deliver smooth gameplay even in zombie hordes with single-core speeds up to 5.7 GHz, and run in Frankfurt and New York with NVMe storage, L3–L7 nShield DDoS protection and free daily backups kept for 7 days. If you're not sure which type of plan suits you, take a look at our Game server plan or VPS? article.
Project Zomboid is a trademark of The Indie Stone; Steam is a trademark of Valve Corporation. Nodesty is not affiliated with or endorsed by these companies.
Frequently Asked Questions
Does it cost anything to make a Project Zomboid server?
No. The Project Zomboid Dedicated Server software is free and downloads anonymously with SteamCMD. You only pay for the machine that keeps the server online 24/7. Players just need to own the game.
How much RAM does a Project Zomboid server need?
For a vanilla server where a few friends play, 4 GB is a good start. For servers with more players, large map mods and lots of Workshop mods, go for 8 GB or more. You set the memory the server can use with the -Xmx value in the ProjectZomboid64.json file.
I forgot the server admin password. What should I do?
The admin account is kept in the server's database. You can set a new password by starting the server with the -adminpassword parameter. Don't leave the parameter in the start command permanently; remove it once you've set the password.
Why don't my mods load?
For a Workshop mod to work, both its Workshop number must be added to the WorkshopItems line and its mod ID to the Mods line. If either one is missing, or if mods depend on each other in a different order, the mod won't load. The error messages in the server console show which mod is causing the problem.
I want to reset the world. What should I do?
Shut down the server, then back up and delete the folder in the saves folder that has the same name as your server. The server creates a new world the next time it starts. Player accounts and settings files are kept separately, so they aren't affected.
How do I make sure only my friends can join my server?
You can write a password on the Password line in the servertest.ini file, or set Open to false and add players one by one as an admin with the adduser command. Setting Public to false also keeps the server out of the public list.
About the author
Nodesty Team · Infrastructure & Support
The Nodesty team runs our servers, network and DDoS protection day to day and answers customer support requests around the clock. These guides come from that work.
Related articles

Minecraft Server Lag: Low TPS and How to Fix It
Why does your Minecraft server lag? TPS and MSPT, measuring with spark, chunk generation, view distance, entities, plugins and the fix with Aikar's flags.

Game Server Plan or VPS? Which One Should You Choose?
Game server plan or VPS? A comparison of ready-made setup, supported games, location, operating system and running multiple servers, and which to pick.

How to Make a Factorio Server, Step by Step
How to make a Factorio server: headless server setup on Linux, creating a world, server-settings.json, port 34197, admins, mods and backups.