Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
VGSOURCES
Get listed

dedicated serverPATCH 2026.10.15

How to Run a Project Zomboid Dedicated Server on Linux

By VGSources Team 11 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Run Project Zomboid’s dedicated-server Steam application (app ID 380870) under a dedicated, non-root Linux account. Install or update it with SteamCMD, launch start-server.sh once to create the server profile, then configure the generated servertest.ini and servertest_SandboxVars.lua. For an internet server, allow and forward UDP 16261 and UDP 16262, keep the server and every client on the same branch/build, and shut the process down with quit so the world saves cleanly.

The procedure below uses Debian/Ubuntu-style commands and an installation directory of /opt/pz. Package names, firewall syntax and service-management details differ on other distributions, but the Project Zomboid files and port roles are the same.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What you need before installing

Prepare the machine before downloading the game server. A small private server can run on modest hardware, but available CPU, memory, storage I/O and network upload capacity determine how many players and how many mods it can handle. Leave headroom for the operating system and for world saves rather than allocating every resource to Java.

  • A 64-bit Linux installation with administrative access for package installation and firewall changes.
  • A dedicated account such as steam or pzserver. The game process should never run as root.
  • A fixed installation directory, for example /opt/pz, owned by that service account.
  • SteamCMD and its 32-bit compatibility dependencies. On Debian or Ubuntu, enable the i386 architecture before installing the distribution’s steamcmd package.
  • A public address that can receive unsolicited UDP traffic, or a router/VPS configuration that can forward it to the Linux host.
  • A backup destination with enough space for the server profile and world saves.

Create the service account and directory

sudo useradd --system --create-home --home-dir /home/steam --shell /usr/sbin/nologin steam
sudo mkdir -p /opt/pz
sudo chown -R steam:steam /opt/pz

A system account with a controlled home directory limits the damage from a compromised server process. You can use a normal login shell while setting up the machine, then disable interactive login after confirming the service works. Whatever account and home you choose, use the same identity for SteamCMD, the first launch and systemd.

#1 Best Overall
Sale
Gaoye Blue Light Blocking Glasses | Anti UV Ray, For Computers & Gaming, Square Frame, Eyewear for Men and Women
  • BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
  • EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
  • COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
  • LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
  • WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.

Install SteamCMD

On Debian or Ubuntu, the researched installation path is:

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmd

Some distributions place SteamCMD in a different repository or require an extra repository component. Use the package method supported by your distribution and verify that the steamcmd command is available. The dedicated server includes a Java runtime; a system JRE is only a fallback if the bundled runtime cannot start.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Download the dedicated server with app ID 380870

Project Zomboid has separate Steam applications for the player game and the dedicated server. The server uses app ID 380870. Do not substitute the player-game app ID.

With /opt/pz writable by steam, download the files anonymously:

sudo -u steam -H steamcmd 
  +force_install_dir /opt/pz 
  +login anonymous 
  +app_update 380870 validate 
  +quit

SteamCMD prints download and validation progress, then exits. A later update uses the same app_update 380870 validate command. Record the resulting branch or build after each update and do not let clients join from a different branch. A version mismatch commonly produces a failed join, a black screen or an immediate disconnect.

Keeping the profile path consistent

The -H option gives the command the steam account’s home directory. If you later configure systemd with Environment=HOME=/opt/pz, use that same HOME value during the first launch and when editing files; otherwise you can accidentally create one profile in /home/steam/Zomboid and run another from /opt/pz/Zomboid. For a single, predictable tree, either keep the account home as the profile root or explicitly set HOME=/opt/pz for every server command and service.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Launch once to generate the server profile

The first launch creates the configuration and save directories. Supply an administrator password on that initial run:

Rank #2
Windex Gaming Cleaning Wipes, Pre-Moistened Wipes to Instantly Clean all Gaming Gear and Electronics, Resealable Packaging for a Freshness Lock, 25 count (Pack of 1)
  • WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
  • AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
  • PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
  • ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
  • COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed
sudo -u steam -H /opt/pz/start-server.sh -adminpassword 'use-a-strong-secret'

If your systemd unit will use HOME=/opt/pz, make the first launch use the same location instead:

sudo -u steam env HOME=/opt/pz /opt/pz/start-server.sh -adminpassword 'use-a-strong-secret'

The default profile is normally named servertest. Under the selected account’s Zomboid/Server directory you should see files such as:

  • servertest.ini for server-level options.
  • servertest_SandboxVars.lua for world and gameplay rules.
  • Spawn-point and region data created as the world initializes.
  • A zombies configuration file and other generated profile data.

Type quit at the server console after the files appear. This lets the server close its world and write data normally. Do not force-kill the process during generation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use a different profile name

You can run another profile with the script’s server-name option, for example:

/opt/pz/start-server.sh -servername mycommunity -adminpassword 'use-a-strong-secret'

That profile uses matching names such as mycommunity.ini and mycommunity_SandboxVars.lua. Always pass the same -servername when starting the service; otherwise you may edit one profile while the process reads another.

Configure the two required UDP ports

By default, Project Zomboid uses UDP 16261 for Steam queries and UDP 16262 for the direct client connection. Both values can be changed, but the game configuration, host firewall and router or VPS security rules must agree exactly. A TCP rule does not replace a UDP rule.

Port Protocol Role What must allow it
16261 UDP Game/Steam query port Linux firewall, router or load balancer, and any VPS security group
16262 UDP Direct player connection Linux firewall, router or load balancer, and any VPS security group

Host firewall

Open both ports on the Linux host. For a UFW-based system:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
LISEN Cell Phone Stand Phone Holder for Desk, Office Decor Gadgets for Men | Office Gifts for Women, iPhone Stand, Gadgets for Men, Office Decor, Gaming Desk Accessories for Samsung Fold 8, Switch, iPad
  • Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
  • Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
  • Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
  • ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
  • Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)
sudo ufw allow 16261/udp
sudo ufw allow 16262/udp
sudo ufw status

On firewalld, add equivalent UDP services or ports and reload the firewall. Restrict source addresses only if you understand the effect: a public server needs to accept traffic from every player’s changing address.

Router NAT or VPS rules

For a home server, create two UDP port-forwarding rules from the public interface to the Linux machine’s static LAN address. Forward 16261 to 16261 and 16262 to 16262 unless you deliberately changed the server ports. For a VPS, add matching inbound rules to the provider’s security group or network ACL. CGNAT can prevent inbound forwarding entirely; in that case, a normal home-router rule will not make the server publicly reachable.

Multiple instances

Each independent world needs its own profile and a distinct port pair. Change the profile’s port settings, then create corresponding firewall and NAT rules. Reusing 16261 or 16262 for two processes causes binding failures or directs players to the wrong instance.

Edit server and gameplay settings

servertest.ini: server-level behavior

Edit the profile’s .ini file with a plain-text editor while the server is stopped. It contains settings such as:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • DefaultPort and UDPPort, which determine the network ports.
  • Whether the server is open to new players and how player limits are enforced.
  • Password and whitelist behavior.
  • RCON settings for remote administration.
  • Other server identity and connection options.

Save the file with the same profile name and preserve the existing key-value syntax. A malformed line can prevent startup or make a setting appear to be ignored.

servertest_SandboxVars.lua: world rules

Gameplay rules belong in servertest_SandboxVars.lua. This is where you adjust the sandbox choices that control the world rather than the network service. The Build 42 reference published by Pindrop in 2026 enumerates 144 settings, so use a reference that matches your server branch; names and availability can change between builds.

Stop the server before editing either file. After a restart, inspect the console for parsing errors and verify a changed rule in a new test world before applying it to a long-running community save.

Rank #4
Ledagic IC+RGBW USB Powered Led Light Bar with App & Remote Control, 2 Pack
  • Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
  • Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
  • 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
  • Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
  • USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC

Add Workshop content without losing a clean baseline

Start with an unmodded server and confirm that an unmodded client can join. Then add a small, documented batch of mods. In the profile’s .ini file, place the required Steam Workshop IDs in WorkshopItems. Add the corresponding internal mod identifiers in Mods when a mod requires them; a Workshop item ID and an internal mod ID are not interchangeable.

  1. Stop the server and back up the profile and saves.
  2. Add one small group of known-compatible Workshop IDs and mod names.
  3. Start the server and wait for SteamCMD/Workshop downloads and the server console to finish.
  4. Join with a client that has the same branch and the same mod set.
  5. If the join fails, remove or update the newest batch, then inspect the console and logs before adding anything else.

Game updates can break older mods. Freeze the game branch for an active community, keep a tested backup before changing builds, and update mods in controlled batches rather than changing the game and every mod simultaneously.

Run the server with systemd

Systemd keeps the process running after logout and can restart it after a crash. It must not be used as a substitute for an orderly administrative shutdown: a restart loop can repeatedly interrupt world writes.

Create /etc/systemd/system/project-zomboid.service:

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
[Unit]
Description=Project Zomboid dedicated server
After=network-online.target
Wants=network-online.target

[Service]
User=steam
WorkingDirectory=/opt/pz
Environment=HOME=/opt/pz
ExecStart=/opt/pz/start-server.sh -servername servertest
Restart=on-failure
RestartSec=10
TimeoutStopSec=120

[Install]
WantedBy=multi-user.target

Change HOME only if you intentionally keep the Zomboid tree elsewhere, and then use that same value for manual launches and file edits. If you use another profile, change -servername servertest to the exact profile name.

Load and start the unit:

sudo systemctl daemon-reload
sudo systemctl enable --now project-zomboid.service
sudo systemctl status project-zomboid.service
journalctl -u project-zomboid.service -f

For planned maintenance, stop the unit and allow the process to exit cleanly before updating files. The first administrator password is supplied during profile generation; do not place that secret in a world-readable unit file.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Verify that the server is reachable

Check locally

On the Linux host, confirm that the process is listening on the expected UDP ports:

Best Value
Sale
HUANUO FlowLift™ Dual Monitor Stand, Fully Adjustable Gaming Monitor Desk Mount for 13–32″ Computer Screens, Full Motion VESA 75x75/100x100 with C-Clamp & Grommet Base, Each Arm Holds 4.4 to 19.8 lbs
  • Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
  • Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
  • Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
  • Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
  • Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.
sudo ss -lunp | grep -E '16261|16262'

No listener on 16261 usually means the server did not finish starting. Read the console and journal for Java heap errors, malformed configuration, an occupied port or a wrong profile path. A listener proves only that the local process bound the ports; it does not prove that router or VPS traffic can reach it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Join from Project Zomboid

In the game’s multiplayer server browser, add the public IP address and the configured game port. Authenticate according to the server’s password, whitelist and open-server settings. Test from a device outside the host’s LAN when possible; testing the private address from inside the same network can hide NAT problems.

Trace an outside connection

  • Confirm the public IP currently assigned to the router or VPS.
  • Check that both UDP forwarding rules point to the correct internal address.
  • Watch Linux firewall counters and router logs while a friend attempts to join.
  • For a VPS, verify the provider’s security-group rules in addition to the operating-system firewall.
  • If the process listens locally but outside attempts never arrive, investigate CGNAT, an upstream firewall or an incorrect public address before changing game settings.

Backups, updates and clean shutdowns

Back up the complete Zomboid data tree used by the service, not just the .ini file. Include the profile configuration, world saves, region data and any mod-related metadata. Keep at least one copy outside the server’s disk and label backups with the game build and date.

Before an update:

  1. Announce maintenance and stop new joins.
  2. Use the server console’s quit command, or stop the systemd unit and wait for its clean exit.
  3. Create a dated backup.
  4. Run app_update 380870 validate as the service account.
  5. Start the server and verify the branch, console output and mod compatibility before reopening it.

Forced termination can interrupt save writes and corrupt a world. If corruption follows a crash, stop the service, preserve the damaged copy for diagnosis, and restore the most recent known-good backup rather than repeatedly restarting the same files.

Troubleshoot by symptom

Symptom Likely checks Correction
No listener on 16261 Read the server console and journalctl; check Java heap errors, malformed settings, an occupied port and the selected profile. Fix the reported startup error, confirm the correct HOME and -servername, then restart.
Friends cannot connect, but you can join locally Verify both UDP rules, public IP, router forwarding, Linux firewall counters and VPS security-group rules. Correct NAT or security rules and test from an external network. TCP-only rules will not work.
Black screen or join failure after an update Compare the exact client/server branch and build; review recently changed mods. Return clients to the server’s branch and disable or update mods in small batches.
Edits appear ignored Check systemd’s HOME, WorkingDirectory, the -servername argument and the actual Zomboid/Server path. Edit the profile that the running service reads, stop the server before saving changes, and restart.
World data is damaged after a crash Determine whether the process was forcibly killed during a write. Stop the service and restore a dated backup; do not overwrite the backup with the damaged world.
One of two instances will not start Check for duplicate DefaultPort/UDPPort values and overlapping NAT rules. Assign a unique port pair and matching firewall/NAT entries to each profile.

Self-hosting versus managed Project Zomboid hosting

Running the server yourself gives you direct control over Linux, files, mods, sandbox rules and update timing. Renting a managed Project Zomboid server trades some low-level control for an administration panel, provider-managed networking and support. Evaluate the choice against the factors that affect your group rather than assuming one option is universally cheaper.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Factor Self-hosted Linux server Managed hosting
Monthly cost Hardware, electricity or VPS fees are your responsibility; the amount depends on your setup. Recurring rental price varies by host and resource allocation; verify current terms directly.
Mods and sandbox settings Full filesystem and configuration control. Usually available through a panel, but limits and approval rules vary.
CPU/RAM headroom You choose the machine and can resize it yourself. Depends on the selected plan and upgrade options.
Backups and restore You design, schedule and test backups. Tools may be included, but retention and restore scope must be checked.
Geographic latency You select the home or data-center location. Choose among the provider’s available regions.
Updates You control build timing and mod testing. The host may provide one-click or automatic updates, which can still require compatibility checks.
DDoS and network protection You are responsible for upstream protection and firewalling. Protection depends on the host’s network and policy.
Support Diagnosis is your responsibility. Support quality and response times vary; confirm what server-level help is included.

If you need unrestricted file access, custom systemd behavior or experimental mods, self-hosting is usually the more flexible route. If you prefer not to maintain Linux, router forwarding, backups and security rules, compare managed Project Zomboid hosting options using the same criteria and verify their current specifications before paying.

Operational checklist

  • Dedicated non-root account owns /opt/pz and the Zomboid data tree.
  • SteamCMD installed with required 32-bit support.
  • Dedicated-server app 380870 downloaded and validated.
  • First launch completed with an administrator password.
  • Profile files located in the same HOME tree used by systemd.
  • UDP 16261 and 16262 aligned across servertest.ini, host firewall, router NAT and VPS rules.
  • Clients and server on the identical branch/build.
  • Mods added gradually with matching Workshop IDs and internal mod names.
  • Backups taken before builds, mods or major sandbox changes.
  • Planned shutdowns performed with quit or an orderly systemd stop.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

dedicated servergame server hostingLinuxProject ZomboidSteamCMDsystemd

Leave a reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.