How to Install Project Zomboid Dedicated Server on Ubuntu 24.04
Project Zomboid is the isometric zombie survival game where the only real victory condition is "this is how you died." The multiplayer experience, however, is where the game truly lives -- surviving with friends through months of in-game time, fortifying a Louisville safehouse, and cooperatively losing everything to a single horde. Running your own dedicated server on a Linux VPS gives you 24/7 availability, complete control over sandbox rules, unlimited Workshop mods, and far better performance than hosting from a gaming PC over a home connection.
This tutorial walks you through installing and configuring a Project Zomboid dedicated server on Ubuntu 24.04, from SteamCMD setup to a production systemd service with automated backups. Expect to finish in about 35 minutes.
Table of Contents
Why Self-Host a Project Zomboid Server?
Paid Project Zomboid hosting providers typically charge EUR 15-25 per month for a 4-slot server with limited RAM and shared CPU -- and they often throttle mod counts, restrict file access, or charge extra for scheduled backups. Running your own server on a general-purpose VPS flips that equation.
- Roughly 70% cost savings -- A CloudCore Professional VPS at EUR 19.99/month gives you a full 8 vCPU / 12 GB RAM box that comfortably handles 4-8 players and hundreds of Workshop mods. The same experience from a dedicated PZ host would cost EUR 50-70/month.
- Full mod control -- You can install any Workshop mod, any custom map, any server-side patch. No mod-slot limits, no allowlists, no "premium mod" upsells.
- Full file system access -- Edit
servertest.ini,sandbox.lua, and any mod config directly over SSH. Push changes in seconds instead of waiting for a web-panel save cycle. - Better hardware per euro -- General-purpose VPS providers compete on raw specs. Game-host control panels are expensive to build, so those providers pass that cost to you through weaker hardware.
- Run more than PZ on the same box -- Your Ubuntu VPS is not locked to a single game. Stack a TeamSpeak or Mumble server, a Discord bot, and a web status page on the same machine.
- Keep save data forever -- When you cancel a paid host, your save is gone. On your own VPS, the Zomboid world directory is just a folder -- back it up, archive it, move it to a new server any time.
Cost Comparison: Self-Hosted vs. Paid PZ Hosting
| Scenario | Paid PZ Host (4-slot) | Paid PZ Host (8-slot) | Self-Hosted on CloudCore Professional |
|---|---|---|---|
| Monthly cost | ~EUR 15-25 | ~EUR 35-60 | EUR 19.99 |
| RAM | 3-4 GB (often capped) | 6-8 GB | 12 GB (full) |
| CPU | Shared / 1 vCPU | Shared / 2 vCPU | 8 vCPU dedicated |
| Mods | Sometimes limited | Sometimes limited | Unlimited |
| File access | Web panel only | Web panel + FTP | Full SSH + sudo |
| Backups | Extra fee | Extra fee | Free (rsync + cron) |
| Run other services | No | No | Yes |
Prerequisites
Before you begin, make sure you have:
- A VPS running Ubuntu 24.04 LTS with root or sudo access
- SSH access to your server (PuTTY on Windows, or the built-in terminal on macOS/Linux)
- At least 4 GB of RAM for a 2-4 player server with a modest mod list (8 GB+ recommended for 4-8 players or heavy mods)
- At least 10 GB of free disk space for the server, save data, and a few backup rotations
- A Steam account (Project Zomboid's dedicated server is free and does not require a logged-in Steam account with SteamCMD's anonymous mode)
Recommended Plan: CloudCore Professional>
For a 4-player server with a curated Workshop mod list, we recommend the Professional VPS plan:>
- 8 vCPU cores
- 12 GB RAM
- 100 GB NVMe SSD
- Unmetered bandwidth
- EUR 19.99/month>
This gives you enough RAM headroom for Project Zomboid's JVM (4-8 GB), the OS, and any supporting services (Discord relay bots, map viewers, monitoring). Smaller groups of 2-3 players can run comfortably on a CloudCore Professional plan with 6-8 GB RAM.
Connect to your server via SSH to get started:
ssh root@your-server-ipStep 1: Update System Packages
Start by refreshing the package index and applying any pending updates. SteamCMD pulls in 32-bit libraries that need current dependency resolution, so running apt update first avoids the most common install errors.
sudo apt update && sudo apt upgrade -yEnable the multiverse and i386 architectures, which are required for SteamCMD:
sudo add-apt-repository multiverse -y
sudo dpkg --add-architecture i386
sudo apt updateIf your kernel was updated, reboot before continuing:
sudo rebootStep 2: Create a Dedicated steam User
Never run a game server as root. Create a non-privileged steam user that will own all Project Zomboid files and run the service.
sudo useradd -m -s /bin/bash steam
sudo passwd steamSet a strong password when prompted. From here on, all Project Zomboid commands are run as this user. Switch into the account:
sudo -iu steamYour prompt should now show steam@your-hostname:~$. Confirm the home directory:
pwdExpected output:
/home/steamStep 3: Install SteamCMD
Exit back to your sudo user briefly to install the steamcmd package:
exitInstall SteamCMD from the multiverse repository:
sudo apt install -y steamcmdYou will be prompted to accept the Steam Subscriber Agreement -- use Tab to move to <Ok> and accept. The installer pulls in about 200 MB of 32-bit libraries (SteamCMD is still a 32-bit binary).
Switch back to the steam user:
sudo -iu steamCreate a symlink so steamcmd is easily callable from the home directory:
ln -s /usr/games/steamcmd ~/steamcmdVerify SteamCMD runs:
~/steamcmd +quitOn first run, SteamCMD will self-update and exit. Expected output (abbreviated):
Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
[ 0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1712712388
-- type 'quit' to exit --
Loading Steam API...OKStep 4: Install Project Zomboid (App 380870)
Project Zomboid Dedicated Server is Steam app ID 380870 and is available for anonymous download -- you do not need to log in with your Steam account credentials.
Install the server into ~/pzserver:
~/steamcmd +force_install_dir /home/steam/pzserver \
+login anonymous \
+app_update 380870 validate \
+quitExpected output (abbreviated):
Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
Update state (0x3) reconfiguring, progress: 0.00 (0 / 0)
Update state (0x61) downloading, progress: 12.34 (145829632 / 1181392896)
...
Success! App '380870' fully installed.The download is approximately 1.2 GB and takes 1-3 minutes on a VPS with good bandwidth. Verify the server files:
ls ~/pzserver/Expected output:
java linux64 ProjectZomboid32 start-server.sh
jre64 natives ProjectZomboid64 steamapps
licenses projectzomboid ProjectZomboid64.jsonThe two key files are start-server.sh (the launcher) and ProjectZomboid64.json (JVM configuration).
Step 5: Configure Memory in start-server.sh
Project Zomboid runs on the JVM, and its memory usage is controlled by the -Xmx flag (maximum heap size). The default is conservative -- if you host more than 2 players or use mods, you need to raise it.
Edit ProjectZomboid64.json, which is where the JVM flags actually live on modern builds:
nano ~/pzserver/ProjectZomboid64.jsonFind the vmArgs line and change -Xmx to match your VPS. For a 12 GB Professional plan with 4-6 players and mods, allocate 8 GB:
{
"mainClass": "zombie/network/GameServer",
"classpath": [
"java/.",
"java/istack-commons-runtime.jar",
"java/jassimp.jar",
"java/javacord-2.0.17-shaded.jar",
"java/javax.annotation-api.jar",
"java/jaxb-api.jar",
"java/jaxb-runtime.jar",
"java/lwjgl.jar",
"java/lwjgl-natives-linux.jar",
"java/lwjgl_util.jar",
"java/sqlite-jdbc-3.27.2.1.jar",
"java/trove-3.0.3.jar",
"java/uncommons-maths-1.2.3.jar"
],
"vmArgs": [
"-Djava.awt.headless=true",
"-Xms8g",
"-Xmx8g",
"-Dzomboid.steam=1",
"-Dzomboid.znetlog=1",
"-XX:+UseZGC",
"-XX:-OmitStackTraceInFastThrow"
]
}Save with Ctrl+O, Enter, then Ctrl+X to exit.
Memory Sizing Reference
| Players | Mod Load | Recommended -Xmx | Recommended VPS RAM |
|---|---|---|---|
| 1-2 | Vanilla / light mods | 3 GB | 4 GB plan |
| 2-4 | Moderate (10-30 mods) | 5 GB | 6-8 GB plan |
| 4-6 | Heavy (30-60 mods) | 8 GB | 12 GB Professional |
| 6-10 | Heavy + custom map | 12 GB | 16 GB+ plan |
| 10+ | Everything + custom map | 16 GB+ | 24 GB+ plan |
-Xmx higher than your available RAM will trigger the Linux OOM killer and crash the server mid-session.Step 6: Open UDP Ports 16261 and 16262
Project Zomboid uses two UDP ports:
- 16261/udp -- Steam/RakNet query and connection port
- 16262/udp -- Game traffic (joined at runtime for each connected client)
exit
sudo ufw allow 22/tcp comment 'SSH'
sudo ufw allow 16261/udp comment 'PZ query'
sudo ufw allow 16262/udp comment 'PZ game'
sudo ufw enable
sudo ufw statusExpected output:
Status: active
To Action From -- ------ ---- 22/tcp ALLOW Anywhere 16261/udp ALLOW Anywhere 16262/udp ALLOW Anywhere
If your VPS provider also has an external firewall (most do), open the same UDP ports there as well.
Step 7: First Launch and Admin Password
Switch back to the steam user and run the server for the first time. This initial launch generates the default config files and prompts you to set an admin password.
sudo -iu steam
cd ~/pzserver
./start-server.shExpected output (abbreviated):
64-bit java detected
Setting breakpad minidump AppID = 108600
Enter a new Administrator password for this server:Enter a strong password, then re-enter it to confirm. The server will then finish booting:
Admin password set.
Server Steam ID 90145209012345678
LuaNet: initialization...
Loading: /home/steam/Zomboid/Server/servertest.ini
Loading: /home/steam/Zomboid/Server/servertest_SandboxVars.lua
Server is listening on port 16261
SERVER STARTED *At this point the server is running in the foreground. Press Ctrl+C (or type quit and hit Enter) to cleanly shut it down before editing the config in the next step.
All server data lives at /home/steam/Zomboid/ -- not inside ~/pzserver/. This is by design: game files are replaceable via SteamCMD, while your world, config, and mods persist separately.
Step 8: Edit servertest.ini
servertest.ini is the master config file. Open it:
nano ~/Zomboid/Server/servertest.iniKey settings to review and change:
PublicName=My Zomboid Server
PublicDescription=A CloudCore-hosted PZ server running on Ubuntu 24.04
Public=true
Open=true
PingLimit=400
MaxPlayers=8
AutoCreateUserInWhiteList=false
DisplayUserName=true
SpawnPoint=0,0,0
SafetySystem=true
ShowSafety=true
SafetyToggleTimer=2
SafetyCooldownTimer=3
SpawnItems=
DefaultPort=16261
UDPPort=16262
ResetID=572058526
Mods=
Map=Muldraugh, KY
PauseEmpty=true
GlobalChat=true
ChatStreams=s,r,a,w,y,sh,f,all
LogLocalChat=false
AnnounceDeath=false
MinutesPerPage=1.0
SaveWorldEveryMinutes=30
PlayerSafehouse=true
AdminSafehouse=false
SafehouseAllowTrepass=true
SafehouseAllowFire=true
SafehouseAllowLoot=true
SafehouseAllowRespawn=true
SafehouseDaySurvivedToClaim=0
SafeHouseRemovalTime=144
SafehouseAllowNonResidential=false
AllowDestructionBySledgehammer=true
KickFastPlayers=false
ServerPlayerID=
RCONPort=27015
RCONPassword=
DiscordEnable=false
DiscordToken=
DiscordChannel=
DiscordChannelID=
Password=
MaxAccountsPerUser=0Most important fields for a small friends-only server:
PublicName-- Shown in the server browser.Password-- Set this to require a password to join. Leave empty for open access (you should still use the whitelist).MaxPlayers-- Match your RAM budget (see memory table above).PauseEmpty=true-- Pauses world time when nobody is online; saves CPU and keeps the world "fresh" for casual groups.SaveWorldEveryMinutes=30-- Lowering this to15or20is safer; higher values mean more progress lost on a crash.Public=true-- Lists the server publicly. Set tofalsefor an invite-only server (players can still join via direct IP).Open=true-- Allows anyone to join if they have the password. Set tofalseto require the whitelist.RCONPassword-- Set this to enable remote console access via RCON (useful for web panels).
Step 9: Add Workshop Mods
Workshop mods are defined by two ID types:
- Workshop ID -- The numeric Steam Workshop item ID (from the URL).
- Mod ID -- The internal name used by the game; often different from the Workshop ID.
WorkshopItems= so the server downloads them, and Mod IDs in Mods= so the game activates them. Some Workshop items contain multiple mods, each with its own Mod ID.Open servertest.ini again:
nano ~/Zomboid/Server/servertest.iniFind (or add) these two lines near the Mods= line:
Mods=ModManager;ModManagerServer;BetterSortCC;Autotsar_Trailers_Nomads
WorkshopItems=2169435993;2685168362;2313387159;2289429759Separate multiple entries with semicolons. To find the correct IDs for a mod:
2169435993 in ?id=2169435993).Save the file. When the server next starts, SteamCMD will automatically pull every Workshop ID listed and place the mod files under ~/Zomboid/Workshop/ and ~/pzserver/steamapps/workshop/content/108600/.
Map Mods
If a Workshop mod adds a new map (for example, Bedford Falls or Raven Creek), update the Map= line to chain it with Muldraugh, KY:
Map=BedfordFalls;Muldraugh, KYThe order matters: the first map listed is the primary spawn map.
Step 10: Tune Sandbox Options
Sandbox options (zombie population, loot rarity, day length, etc.) live in a separate Lua file:
nano ~/Zomboid/Server/servertest_SandboxVars.luaThis file is a Lua table. Common settings to adjust:
VERSION = 5,
Zombies = 3, -- 1=Insane, 2=Very High, 3=Normal, 4=Low
Distribution = 1, -- 1=Urban Focused, 2=Uniform
DayLength = 3, -- 1=15min, 2=30min, 3=1hr, 4=2hr, ...
StartYear = 1,
StartMonth = 7,
StartDay = 9,
StartTime = 2, -- 1=7AM, 2=9AM, 3=12PM, ...
WaterShut = 2, -- 1=Instant, 2=0-30 days, ...
ElecShut = 2,
FoodLoot = 3, -- 1=None, 2=Extremely Rare, 3=Rare, 4=Normal, 5=Abundant
WeaponLoot = 3,
OtherLoot = 3,
Temperature = 3,
Rain = 3,
ErosionSpeed = 3, -- 1=Very Fast (20d), 2=Fast (50d), 3=Normal (100d), ...
XpMultiplier = 1.0,
ZombieAttractionMultiplier = 1.0,
VehicleEasyUse = false,
Farming = 3,
CompostTime = 2,
StatsDecrease = 3,
NatureAbundance = 3,
Alarm = 4,
LockedHouses = 6,
FoodRotSpeed = 3,
FridgeFactor = 3,
LootRespawn = 1, -- 1=None, 2=Every day, 3=Every week, 4=Every month
SeenHoursPreventLootRespawn = 0,
TimeSinceApo = 1, -- 1=0 days, 2=1 month, 3=2 months, ...
PlantResilience = 3,
PlantAbundance = 3,
EndRegen = 3,Common "sweet spots" for a 4-player co-op server:
Zombies = 3(Normal) -- Enough threat to matter, not overwhelming in cities.DayLength = 3(1 hour) -- Gives time to accomplish something per day without dragging.WaterShut = 2/ElecShut = 2-- 0-30 day grace period creates urgency without instant doom.LootRespawn = 3(Every week, withSeenHoursPreventLootRespawn = 24) -- Prevents permanent depletion on long-running servers.
Step 11: Manage the Whitelist
If you set Open=false in servertest.ini, only whitelisted players can join. Manage the list with the in-game admin console or via the server console while running.
From the server console (press Enter to get a prompt while the server is running):
adduser "PlayerName" "theirpassword"Other useful commands:
# List current players
playersKick a player
kickuser "PlayerName"Ban a player by Steam ID
banid 76561198012345678Grant admin
setaccesslevel "PlayerName" adminSend a server-wide message
servermsg "Server restart in 5 minutes"Save the world now (before planned restart)
saveGraceful shutdown (saves then exits)
quitUser accounts are stored in a SQLite database at ~/Zomboid/db/servertest.db. You can back this file up directly to preserve accounts across reinstalls.
Step 12: Create a systemd Service
Running the server in a terminal with ./start-server.sh is fine for testing, but for a real deployment you want it to auto-start on boot, restart after crashes, and be controllable with systemctl.
Exit to your sudo user:
exitCreate the service file:
sudo nano /etc/systemd/system/pzserver.servicePaste the following:
[Unit] Description=Project Zomboid Dedicated Server After=network-online.target Wants=network-online.target[Service] Type=simple User=steam Group=steam WorkingDirectory=/home/steam/pzserver ExecStart=/home/steam/pzserver/start-server.sh Restart=on-failure RestartSec=15 TimeoutStopSec=90 KillSignal=SIGINT LimitNOFILE=100000
Hardening
NoNewPrivileges=true PrivateTmp=true ProtectSystem=strict ReadWritePaths=/home/steam
[Install] WantedBy=multi-user.target
Save and exit. Reload systemd, enable the service, and start it:
sudo systemctl daemon-reload
sudo systemctl enable pzserver
sudo systemctl start pzserverCheck status:
sudo systemctl status pzserverExpected output:
● pzserver.service - Project Zomboid Dedicated Server
Loaded: loaded (/etc/systemd/system/pzserver.service; enabled; preset: enabled)
Active: active (running) since Thu 2026-04-16 12:00:00 UTC; 30s ago
Main PID: 4567 (start-server.s)
Tasks: 82 (limit: 14236)
Memory: 4.8G
CPU: 12.345s
CGroup: /system.slice/pzserver.service
├─4567 /bin/bash /home/steam/pzserver/start-server.sh
└─4612 ./ProjectZomboid64 -Djava.awt.headless=true -Xms8g -Xmx8g ...Tail the live server log:
sudo journalctl -u pzserver -fThe service will now:
- Start automatically on boot.
- Restart within 15 seconds if the server crashes.
- Send
SIGINTon stop, which Project Zomboid handles as a clean "save then quit." - Give the server up to 90 seconds to finish saving before a forced kill.
sudo systemctl stop pzserver
sudo systemctl start pzserver
sudo systemctl restart pzserverStep 13: Automate Backups with rsync
Project Zomboid's save format is a set of flat files under /home/steam/Zomboid/Saves/Multiplayer/servertest/. Losing that directory means losing the entire world, so scheduled backups are non-negotiable.
Create a backup directory:
sudo mkdir -p /var/backups/pzserver
sudo chown steam:steam /var/backups/pzserverCreate a backup script:
sudo -iu steam
nano ~/backup-pz.shPaste:
#!/bin/bash set -euo pipefailSRC="/home/steam/Zomboid" DEST="/var/backups/pzserver" TIMESTAMP=$(date +%Y%m%d-%H%M%S) KEEP_DAYS=7
mkdir -p "${DEST}"
Incremental rsync snapshot with hard links
rsync -a --delete \ --link-dest="${DEST}/latest" \ "${SRC}/" "${DEST}/snapshot-${TIMESTAMP}/"Update "latest" symlink
rm -f "${DEST}/latest" ln -s "snapshot-${TIMESTAMP}" "${DEST}/latest"Prune snapshots older than KEEP_DAYS
find "${DEST}" -maxdepth 1 -name 'snapshot-*' -type d -mtime +${KEEP_DAYS} -exec rm -rf {} \;
echo "[$(date)] Backup complete: snapshot-${TIMESTAMP}"
Save and make it executable:
chmod +x ~/backup-pz.shTest it once:
~/backup-pz.shYou should see a new snapshot-YYYYMMDD-HHMMSS directory under /var/backups/pzserver/ and a latest symlink pointing at it. Because rsync uses --link-dest, each snapshot is a full picture of the world but only stores disk blocks that have changed since the previous snapshot -- seven days of backups typically consumes less than 2x the size of a single save.
Schedule it via cron. Still as the steam user:
crontab -eAdd this line to run every 6 hours:
0 /6 /home/steam/backup-pz.sh >> /home/steam/backup-pz.log 2>&1Save and exit. For offsite backups, add a second line that pushes the latest snapshot to remote storage (S3, Backblaze B2, or another VPS via SSH):
30 3 * rsync -az --delete /var/backups/pzserver/latest/ backups@remote-host:/pz-offsite/FAQ
How much RAM does a Project Zomboid server actually need?
Base memory for a vanilla server with 2 players is about 2-3 GB. Each additional player adds roughly 200-400 MB depending on how much of the map they have loaded. Mods are the biggest variable: a heavily modded server with 40-60 Workshop items easily doubles base memory. For a 4-player modded server, plan on 6-8 GB of JVM heap (-Xmx8g) on a VPS with at least 10-12 GB total RAM. The CloudCore Professional plan's 12 GB is the smallest comfortable size for this scenario.
Do I need to log into Steam to host a Project Zomboid server?
No. Project Zomboid's dedicated server (app 380870) is available through SteamCMD's anonymous login (+login anonymous). You do not need to buy a separate server license, and you do not need to tie the server to a personal Steam account. Your players, however, still need to own Project Zomboid to join.
How do I update Project Zomboid after a game patch?
Stop the service, re-run the SteamCMD update command, and start the service again:
sudo systemctl stop pzserver
sudo -iu steam ~/steamcmd +force_install_dir /home/steam/pzserver +login anonymous +app_update 380870 validate +quit
sudo systemctl start pzserverAll players must be on the matching game version -- Steam handles client-side updates automatically, but servers do not auto-update. Watch The Indie Stone's news feed for release announcements, and back up your world before running any major-version update.
Why are my Workshop mods not loading?
The most common cause is a mismatch between Workshop IDs and Mod IDs. The WorkshopItems= line tells SteamCMD what to download; the Mods= line tells the game what to activate. Verify each mod's internal Mod ID by either reading the mod's description on the Workshop page or checking the mod.info file inside ~/Zomboid/Workshop/<workshop_id>/mods/<mod_folder>/mod.info after first launch. Also confirm the mod supports the current game build -- mods broken by a Build 42+ update are a frequent failure mode.
Can I migrate an existing Project Zomboid world to this server?
Yes. Stop the service, copy your existing Zomboid/Saves/Multiplayer/servertest/ directory into /home/steam/Zomboid/Saves/Multiplayer/servertest/ (preserving ownership with chown -R steam:steam), copy over servertest.ini, servertest_SandboxVars.lua, and the servertest_spawnregions.lua file, then start the service. Make sure the mod list matches exactly -- a mod that exists in the save but is missing from the server's Mods= line will cause load failures.
How many players can I realistically host?
Project Zomboid's network code scales reasonably well up to about 16-20 concurrent players before CPU becomes the bottleneck. In practice, most self-hosted friends-only servers target 4-8 players. For larger populations, the CPU matters more than RAM -- a CloudCore Professional plan's 8 dedicated vCPU cores comfortably handle up to 10 concurrent players with a moderate mod list. Beyond that, look at 16+ vCPU plans or consider running the server at a higher zombie reset time to reduce CPU load.
What is the best way to administer the server remotely?
Three options, in order of simplicity:
journalctl -u pzserver -f -- Always available, no extra software. Use the server console (inputs passed via systemd) for admin commands.RCONPort=27015 and RCONPassword=... in servertest.ini, then connect from your desktop with a tool like mcrcon or rcon-cli. Useful for quick commands without a full SSH session.Next Steps
Now that your Project Zomboid server is running, consider these follow-ups to round out your self-hosted gaming stack:
- Read the official server reference -- The community-maintained Project Zomboid Wiki dedicated server page documents every
servertest.iniflag, every sandbox option, and every known quirk in exhaustive detail. Bookmark it.
- Add a companion game server on the same VPS -- Your Professional plan has plenty of headroom for a second game server. Check out our guides on how to install a Rust game server on Ubuntu, how to install a Factorio dedicated server on Ubuntu, and how to install a Satisfactory dedicated server on Ubuntu.
- Set up Discord relay -- Project Zomboid has built-in Discord webhook support via the
DiscordEnable,DiscordToken, andDiscordChannelIDfields inservertest.ini. Wire it up so in-game chat, deaths, and admin events post to your friend group's Discord server.
- Monitor uptime -- Deploy Uptime Kuma on the same VPS and add a "Game (Steam)" monitor pointing at your public IP and port 16261/udp. You will get alerts the moment the server goes unreachable.
- Offsite backups -- Add a second rsync target that pushes snapshots to a different VPS, S3, or Backblaze B2. One server's disk failure shouldn't end the campaign.
Ready to Deploy?>
Launch a Professional VPS in under 60 seconds and follow this tutorial end to end. 8 vCPU, 12 GB RAM, 100 GB NVMe, and unmetered bandwidth -- everything a 4-player modded Zomboid world needs.>
Get Your Professional VPS Now -- Plans start at EUR 19.99/month.