Skip to content

BloodMoonPZ/PZServer

Repository files navigation

 ____  __     __    __  ____  _  _   __    __   __ _
(  _ \(  )   /  \  /  \(    \( \/ ) /  \  /  \ (  ( \
 ) _ (/ (_/\(  O )(  O )) D (/ \/ \(  O )(  O )/    /
(____/\____/ \__/  \__/(____/\_)(_/ \__/  \__/ \_)__)

GitHub License GitHub Release GitHub Repo stars Project status Usability Docker Pulls

Project Zomboid Server Docker (B42 Unstable Supported)

Important

Using Docker Desktop with WSL2 on Windows will result in a very slow download!

Project status

Warning

This BloodMoonPZ fork is discontinued and no longer actively maintained. The repository is still public and still usable as-is for anyone who wants to run it, inspect it, or fork it, but there is no active support channel, no community hub, and no ongoing roadmap behind it anymore.


This fork – changes and additions

This fork extends indifferentbroccoli/projectzomboid-server-docker with the following:

Host scripts (run on the host, in repo root)

Script Purpose
pzstart Saves the world via RCON, runs docker compose down, rebuilds the image with --no-cache, starts the server and follows logs. Use for a full clean restart. Shutdown is graceful: the container trap runs save + quit (up to 30s), so the world is not cut mid-save.
saveworld Sends the RCON save command to the running container. Use to save the world without restarting.
pz-console Stream the game admin console (Docker logs). Use ./pz-console --interactive to type RCON commands (e.g. servermsg, players, save) without running docker exec manually. "[Server] Server is too busy" = overloaded.
pz-cmd Send one RCON command: ./pz-cmd servermsg "Hello" or ./pz-cmd players. No need to type docker exec ....
scripts/healthcheck-restart-if-low-mem.sh Healthcheck for host cron: if the container is down or RAM usage is below a threshold (default 20 GB), runs ./pzstart --no-follow. Set cron every 5 min: */5 * * * * /path/to/projectzomboid-server-docker/scripts/healthcheck-restart-if-low-mem.sh. Override with PZ_RAM_THRESHOLD_GB, PZ_CONTAINER, PZ_DIR.
wipe Stops the server (graceful), backs up the current world to server-data/backups/<SERVER_NAME>-pre-wipe-<timestamp>, removes the world folder so the next start is a fresh world. Run ./pzstart after a wipe to rebuild and start. Uses SERVER_NAME from .env.

Container scripts (run inside the image at startup)

Script Purpose
apply-startup-admins.sh When STARTUP_ADMIN_CREDENTIALS or STARTUP_ADMIN_USERNAMES is set, waits for RCON and creates users (with password) and/or grants admin to existing usernames.
patch-sandbox-loot.sh If SANDBOX_LOOT_MULTIPLIER is set in .env, patches all *LootNew values in Server/<SERVER_NAME>_SandboxVars.lua. Leave empty to keep in-game admin loot changes.
patch-vehicle-nospawn.sh Sets spawnChance = 0 for vehicles 92amgeneralM998 and TrailerM101A3cargo (workshop 2642541073) so they do not spawn in the world; they remain available for admin spawn.
fix-mod-case-symlinks.sh Creates symlinks so Linux finds mods whose folder names differ from the Mod ID (e.g. DayZ Firearms, VFE, Porsche 918, Lynx PackLynxPack). Required for mods with spaces or different casing.
scheduled-restart.sh Invoked by cron when RESTART_SCHEDULE_CRON is set; broadcasts warnings, saves the world, then quits so the container restarts.

Behaviour and persistence

  • Graceful shutdown: On docker compose down, the container handles SIGTERM and runs save + quit (no manual save with a short delay that could cut the save).
  • Sandbox persistence: Server/<SERVER_NAME>_SandboxVars.lua lives in the server-data volume. In-game admin sandbox changes (zombies, day length, vehicles, etc.) persist across restarts. Only the loot multipliers (*LootNew) are overwritten at startup when SANDBOX_LOOT_MULTIPLIER is set in .env; leave it empty if you want in-game loot edits to persist.

Server Requirements

Resource Minimum Recommended
CPU 4 cores 4+ cores
RAM 4GB Recommend over 8GB for stable operation
Storage 5GB 10GB

Note

Build 42 Support: To use Project Zomboid's latest Build 42 Unstable branch, set SERVER_BRANCH=unstable in your .env file. Leave empty or unset for the stable branch.

How to use

Important

.env settings will override the current settings in the settings.ini If you do not want that to happen, set GENERATE_SETTINGS=false

Copy the .env.example file to a new file called .env file. Then use either docker compose or docker run

Important

Please make sure to change the following in the .env: PASSWORD/RCON_PASSWORD/ADMIN_USERNAME/ADMIN_PASSWORD

Mods: players and admins must see mod items

In Project Zomboid every player (including admins) must have the same Workshop mods installed in Steam to see mod items, vehicles, and content. The server does not send mod files; clients download them from the Steam Workshop.

  • Admins not seeing mod items: Have them subscribe to the same Workshop IDs as the server (see WORKSHOP_ITEMS in .env) and ensure Steam has finished downloading the mods before joining.
  • Optional: Set DO_LUA_CHECKSUM=true in .env so only clients with matching mod files can join (they will be kicked if mods are missing or outdated).
  • Share the Workshop IDs with your team (semicolon-separated list in .env) so they can subscribe:
    https://steamcommunity.com/sharedfiles/filedetails/?id=WORKSHOP_ID

Docker compose

Starting the server with Docker Compose:

services:
  projectzomboid:
    image: indifferentbroccoli/projectzomboid-server-docker
    restart: unless-stopped
    container_name: projectzomboid
    stop_grace_period: 30s
    ports:
      - 16261:16261/udp
      - 16262:16262/udp
      - 27015:27015/tcp
    environment:
      GENERATE_SETTINGS: true
    env_file:
      - .env
    volumes:
      - ./server-files:/project-zomboid
      - ./server-data:/project-zomboid-config

Then run:

docker compose up -d

Docker Run

docker run -d \
    --restart unless-stopped \
    --name projectzomboid \
    --stop-timeout 30 \
    -p 16261:16261/udp \
    -p 16262:16262/udp \
    -p 27015:27015/tcp \
    -e GENERATE_SETTINGS=true \
    --env-file .env \
    -v ./server-files:/project-zomboid \
    -v ./server-data:/project-zomboid-config
    indifferentbroccoli/projectzomboid-server-docker

Host scripts (this fork)

From the repo root (with the container built and .env configured):

Command Description
./saveworld Save the world via RCON (container must be running).
./pz-console Stream admin console (Docker logs). ./pz-console --interactive to type RCON commands.
./pz-cmd "servermsg Hello" Send one RCON command without typing docker exec.
./wipe Stop server, backup world to server-data/backups/, remove world. Then run ./pzstart to start fresh.
./pzstart Save, down, rebuild image (no cache), up, then follow logs. Use for a full restart.

Set PZ_DIR if the repo is not in $HOME/projectzomboid-server-docker.

Environment Variables

You can use the following values to change the settings of the server on boot. It is highly recommended you set the following environment values before starting the server:

  • PASSWORD
  • RCON_PASSWORD
  • ADMIN_USERNAME
  • ADMIN_PASSWORD

Configuration overview

Source Target What it does
.env (full table below) Server/<SERVER_NAME>.ini Generated on start when GENERATE_SETTINGS=true. Network, PVP, safehouse, mods, loot respawn, etc.
.envSANDBOX_LOOT_MULTIPLIER Server/<SERVER_NAME>_SandboxVars.lua Patched on start: all loot rarity values (*LootNew) are set to this number. Empty = no patch.
Game / first run Server/<SERVER_NAME>_SandboxVars.lua Full sandbox (zombies, day length, weather, vehicles, etc.). In-game admin sandbox changes persist across restarts; only *LootNew is overwritten when SANDBOX_LOOT_MULTIPLIER is set.
Variable Default Info
PVP true Players can hurt and kill other players
PAUSE_EMPTY true Game time stops when there are no players online
GLOBAL_CHAT true Toggles global chat on or off.
CHAT_STREAMS s,r,a,w,y,sh,f,all Chat streams
OPEN true Clients may join without already having an account in the whitelist. If set to false, administrators must manually create username/password combos.
SERVER_WELCOME_MESSAGE Welcome to your Project Zomboid Docker server The first welcome message visible in the chat panel.
AUTO_CREATE_USER_IN_WHITE_LIST false Add unknown usernames to the whitelist when players join
DISPLAY_USER_NAME true Display usernames above player's heads in-game.
SHOW_FIRST_AND_LAST_NAME false Display first & last name above player's heads.
SPAWN_POINT 0,0,0 Force every new player to spawn at these set x,y,z world coordinates. (Ignored when 0,0,0)
SAFETY_SYSTEM true Players can enter and leave PVP on an individual basis.
SHOW_SAFETY true Display a skull icon over the head of players who have entered PVP mode
SAFETY_TOGGLE_TIMER 2 The time it takes for a player to enter and leave PVP mode\nMinimum=0 Maximum=1000 Default=2
SAFETY_COOLDOWN_TIMER 3 The delay before a player can enter or leave PVP mode again, having recently done so\nMinimum=0 Maximum=1000 Default=3
SPAWN_ITEMS Item types new players spawn with.\nSeparate multiple item types with commas.\nExample: Base.Axe,Base.Bag_BigHikingBag
DEFAULT_PORT 16261 Default starting port for player data.
UDP_PORT 16262 Minimum=0 Maximum=65535 Default=16262
RESET_ID 563979383 Reset ID determines if the server has undergone a soft-reset.
MODS Same syntax as server.ini: \Mod1;\Mod2;\Mod3 (backslash before each, semicolon-separated). Found in \Steam\steamapps\workshop\modID\mods\modName\info.txt
MAP Enter the foldername of the mod found in \Steam\steamapps\workshop\modID\mods\modName\media\maps\
DO_LUA_CHECKSUM true Kick clients whose game files don't match the server's.
DENY_LOGIN_ON_OVERLOADED_SERVER false Deny login on overloaded server
PUBLIC true Shows the server on the in-game browser. (Note: Steam-enabled servers are always visible in the Steam server browser)
PUBLIC_NAME Project Zomboid Docker Server Name of the server displayed in the in-game browser and, if applicable, the Steam browser
SERVER_NAME pzserver Name of the server/map
PUBLIC_DESCRIPTION Welcome to your Project Zomboid Docker server Description displayed in the in-game public server browser. Typing \n will create a new line in your description
MAX_PLAYERS 32 Maximum number of players that can be on the server at one time. This excludes admins.
PING_LIMIT 400 Ping limit, in milliseconds, before a player is kicked from the server.
HOURS_FOR_LOOT_RESPAWN 0 After X hours, all containers in the world will respawn loot.
MAX_ITEMS_FOR_LOOT_RESPAWN 4 Containers with a number of items greater, or equal to, this setting will not respawn
SANDBOX_LOOT_MULTIPLIER (empty = skip) Applied at startup to all *LootNew values in Server/<name>_SandboxVars.lua. 0=none, 0.2=minimal, 0.6=normal, 4=very high. Leave empty to keep file as-is.
CONSTRUCTION_PREVENTS_LOOT_RESPAWN false Items will not respawn in buildings that players have barricaded or built in
DROP_OFF_WHITE_LIST_AFTER_DEATH false Remove player accounts from the whitelist after death.
NO_FIRE false All forms of fire are disabled - except for campfires
ANNOUNCE_DEATH false If checked, every time a player dies a global message will be displayed in the chat
MINUTES_PER_PAGE 1.0 The number of in-game minutes it takes to read one page of a book
SAVE_WORLD_EVERY_MINUTES 0 Loaded parts of the map are saved after this set number of real-world minutes have passed.
PLAYER_SAFEHOUSE false Both admins and players can claim safehouses
ADMIN_SAFEHOUSE false Only admins can claim safehouses
SAFEHOUSE_ALLOW_TRESPASS true Allow non-members to enter a safehouse without being inviteds
SAFEHOUSE_ALLOW_FIRE true Allow fire to damage safehouses
SAFEHOUSE_ALLOW_LOOT true Allow non-members to take items from safehouses
SAFEHOUSE_ALLOW_RESPAWN false Players will respawn in a safehouse that they were a member of before they died
SAFEHOUSE_DAY_SURVIVED_TO_CLAIM 0 Players must have survived this number of in-game days before they are allowed to claim a safehouse
SAFEHOUSE_REMOVAL_TIME 144 Players are automatically removed from a safehouse they have not visited for this many real-world hours
SAFEHOUSE_ALLOW_NON_RESIDENTIAL false Governs whether players can claim non-residential buildings.
ALLOW_DESTRUCTION_BY_SLEDGEHAMMER true Allow players to destroy world objects with sledgehammers
SLEDGEHAMMER_ONLY_IN_SAFEHOUSE false Allow players to destroy world objects only in their safehouse
KICK_FAST_PLAYERS false Kick players that appear to be moving faster than is possible. May be buggy -- use with caution.
SERVER_PLAYER_ID 88635698 ServerPlayerID determines if a character is from another server, or single player.
RCON_PORT 27015 The port for the RCON (Remote Console)
STARTUP_ADMIN_CREDENTIALS (empty) Create user with password and grant admin on startup. Format: user:password (comma-separated). Example: Jimmy:SecretPass. User can log in first time with that password.
STARTUP_ADMIN_USERNAMES (empty) Grant admin only for existing users (comma-separated). Use if you don't need to set a password. Leave empty if using STARTUP_ADMIN_CREDENTIALS.
MEMORY_XMX_GB 8 Server maximum memory allocation in GB. Sets -Xmx in ProjectZomboid64.json
MEMORY_XMS_GB Optional: Server initial memory allocation in GB. Sets -Xms in ProjectZomboid64.json. If not specified, only -Xmx is configured
UPDATE_ON_START true If set to false, skips downloading and validating server files from Steam on startup. Useful to avoid overwriting server files on container restart.
SERVER_BRANCH "" Steam branch to install. Set to "unstable" for Build 42 Unstable branch, or leave empty for stable.
DISCORD_ENABLE false Enables global text chat integration with a Discord channel
DISCORD_TOKEN Discord bot access token
DISCORD_CHANNEL The Discord channel name.
DISCORD_CHANNEL_ID The Discord channel ID.
MAX_ACCOUNTS_PER_USER 0 Limits the number of different accounts a single Steam user may create on this server.
ALLOW_COOP true Allow co-op/splitscreen players
SLEEP_ALLOWED false Players are allowed to sleep when their survivor becomes tired, but they do not NEED to sleep
SLEEP_NEEDED false Players get tired and need to sleep.
KNOCKED_DOWN_ALLOWED true Knocked down allowed
SNEAK_MODE_HIDE_FROM_OTHER_PLAYERS true Sneak mode hide from other players
WORKSHOP_ITEMS List Workshop Mod IDs for the server to download. Each must be separated by a semicolon.
RESTART_SCHEDULE_CRON (empty) Optional. Cron expression for scheduled restarts (e.g. 0 4,10,16,22 * * * for 04:00, 10:00, 16:00, 22:00 UTC). Server broadcasts warnings, saves, then quits; Docker restarts the container. Leave empty to disable.
RESTART_WARNING_MINUTES 15 Minutes before restart to send the first in-game warning (then 5 min, 1 min).
RESTART_MESSAGE Server restart Message prefix broadcast to players before restart (e.g. "Server restart in 15 minutes").
STEAM_SCOREBOARD true Show Steam usernames and avatars in the Players list.
STEAM_VAC true Enable the Steam VAC system
UPNP true Attempt to configure a UPnP-enabled internet gateway to automatically setup port forwarding rules.
VOICE_ENABLE true VOIP is enabled when checked
VOICE_MIN_DISTANCE 10.0 The minimum tile distance over which VOIP sounds can be heard.
VOICE_MAX_DISTANCE 100.0 The maximum tile distance over which VOIP sounds can be heard
VOICE_3D true Toggle directional audio for VOIP
SPEED_LIMIT 70.0 Minimum=10.00 Maximum=150.00 Default=70.00
LOGIN_QUEUE_ENABLED false Login queue enabled
LOGIN_QUEUE_CONNECT_TIMEOUT 60 Minimum=20 Maximum=1200 Default=60
SERVER_BROWSER_ANNOUNCED_IP Set the IP from which the server is broadcast.
PLAYER_RESPAWN_WITH_SELF false Players can respawn in-game at the coordinates where they died
PLAYER_RESPAWN_WITH_OTHER false Players can respawn in-game at a split screen / Remote Play player's location
FAST_FORWARD_MULTIPLIER 40.0 Governs how fast time passes while players sleep.
DISABLE_SAFEHOUSE_WHEN_PLAYER_CONNECTED false Safehouse acts like a normal house if a member of the safehouse is connected
FACTION true Players can create factions when true
FACTION_DAY_SURVIVED_TO_CREATE 0 Players must survive this number of in-game days before being allowed to create a faction
FACTION_PLAYERS_REQUIRED_FOR_TAG 1 Number of players required as faction members before the faction owner can create a group tag
DISABLE_RADIO_STAFF false Disables radio transmissions from players with an access level
DISABLE_RADIO_ADMIN true Disables radio transmissions from players with 'admin' access level
DISABLE_RADIO_GM true Disables radio transmissions from players with 'gm' access level
DISABLE_RADIO_OVERSEER false Disables radio transmissions from players with 'overseer' access level
DISABLE_RADIO_MODERATOR false Disables radio transmissions from players with 'moderator' access level
DISABLE_RADIO_INVISIBLE true Disables radio transmissions from invisible players
CLIENT_COMMAND_FILTER -vehicle.*;+vehicle.damageWindow;+vehicle.fixPart;+vehicle.installPart;+vehicle.uninstallPart Semicolon-separated list of commands that will not be written to the cmd.txt server log.
CLIENT_ACTION_LOGS ISEnterVehicle;ISExitVehicle;ISTakeEngineParts; Semicolon-separated list of actions that will be written to the ClientActionLogs.txt server log.
PERK_LOGS true Track changes in player perk levels in PerkLog.txt server log
ITEM_NUMBERS_LIMIT_PER_CONTAINER 0 Maximum number of items that can be placed in a container.
BLOOD_SPLAT_LIFESPAN_DAYS 0 Number of days before old blood splats are removed.
ALLOW_NON_ASCII_USERNAME false Allow use of non-ASCII (cyrillic etc) characters in usernames
BAN_KICK_GLOBAL_SOUND true Ban kick global sound
REMOVE_PLAYER_CORPSES_ON_CORPSE_REMOVAL false If enabled, when HoursForCorpseRemoval triggers, it will also remove player?s corpses from the ground.
TRASH_DELETE_ALL false If true, player can use the "delete all" button on bins
PVP_MELEE_WHILE_HIT_REACTION false If true, player can hit again when struck by another player.
MOUSE_OVER_TO_SEE_DISPLAY_NAME true If true, players will have to mouse over someone to see their display name.
HIDE_PLAYERS_BEHIND_YOU true If true, automatically hide the player you can't see (like zombies).
PVP_MELEE_DAMAGE_MODIFIER 30.0 Damage multiplier for PVP melee attacks.
PVP_FIREARM_DAMAGE_MODIFIER 50.0 Damage multiplier for PVP ranged attacks.
CAR_ENGINE_ATTRACTION_MODIFIER 0.5 Modify the range of zombie attraction to cars.
PLAYER_BUMP_PLAYER false Governs whether players bump (and knock over) other players when running through them.
MAP_REMOTE_PLAYER_VISIBILITY 1 Controls display of remote players on the in-game map.
BACKUPS_COUNT 5 Backups count
BACKUPS_ON_START true Backups on start
BACKUPS_ON_VERSION_CHANGE true Backups on version change
BACKUPS_PERIOD 0 Backups period
ANTI_CHEAT_PROTECTION_TYPE1 true Anti cheat protection type 1
ANTI_CHEAT_PROTECTION_TYPE2 true Anti cheat protection type 2
ANTI_CHEAT_PROTECTION_TYPE3 true Anti cheat protection type 3
ANTI_CHEAT_PROTECTION_TYPE4 true Anti cheat protection type 4
ANTI_CHEAT_PROTECTION_TYPE5 true Anti cheat protection type 5
ANTI_CHEAT_PROTECTION_TYPE6 true Anti cheat protection type 6
ANTI_CHEAT_PROTECTION_TYPE7 true Anti cheat protection type 7
ANTI_CHEAT_PROTECTION_TYPE8 true Anti cheat protection type 8
ANTI_CHEAT_PROTECTION_TYPE9 true Anti cheat protection type 9
ANTI_CHEAT_PROTECTION_TYPE10 true Anti cheat protection type 10
ANTI_CHEAT_PROTECTION_TYPE11 true Anti cheat protection type 11
ANTI_CHEAT_PROTECTION_TYPE12 true Anti cheat protection type 12
ANTI_CHEAT_PROTECTION_TYPE13 true Anti cheat protection type 13
ANTI_CHEAT_PROTECTION_TYPE14 true Anti cheat protection type 14
ANTI_CHEAT_PROTECTION_TYPE15 true Anti cheat protection type 15
ANTI_CHEAT_PROTECTION_TYPE16 true Anti cheat protection type 16
ANTI_CHEAT_PROTECTION_TYPE17 true Anti cheat protection type 17
ANTI_CHEAT_PROTECTION_TYPE18 true Anti cheat protection type 18
ANTI_CHEAT_PROTECTION_TYPE19 true Anti cheat protection type 19
ANTI_CHEAT_PROTECTION_TYPE20 true Anti cheat protection type 20
ANTI_CHEAT_PROTECTION_TYPE21 true Anti cheat protection type 21
ANTI_CHEAT_PROTECTION_TYPE22 true Anti cheat protection type 22
ANTI_CHEAT_PROTECTION_TYPE23 true Anti cheat protection type 23
ANTI_CHEAT_PROTECTION_TYPE24 true Anti cheat protection type 24
ANTI_CHEAT_PROTECTION_TYPE2_THRESHOLD_MULTIPLIER 3.0 Anti cheat protection type 2 threshold multiplier
ANTI_CHEAT_PROTECTION_TYPE3_THRESHOLD_MULTIPLIER 1.0 Anti cheat protection type 3 threshold multiplier
ANTI_CHEAT_PROTECTION_TYPE4_THRESHOLD_MULTIPLIER 1.0 Anti cheat protection type 4 threshold multiplier
ANTI_CHEAT_PROTECTION_TYPE9_THRESHOLD_MULTIPLIER 1.0 Anti cheat protection type 9 threshold multiplier
ANTI_CHEAT_PROTECTION_TYPE15_THRESHOLD_MULTIPLIER 1.0 Anti cheat protection type 15 threshold multiplier
ANTI_CHEAT_PROTECTION_TYPE20_THRESHOLD_MULTIPLIER 1.0 Anti cheat protection type 20 threshold multiplier
ANTI_CHEAT_PROTECTION_TYPE22_THRESHOLD_MULTIPLIER 1.0 Anti cheat protection type 22 threshold multiplier
ANTI_CHEAT_PROTECTION_TYPE24_THRESHOLD_MULTIPLIER 6.0 Anti cheat protection type 24 threshold multiplier

Developer information

Building the image

You can build the image from the Dockerfile using the following command:

docker build -t indifferentbroccoli/projectzomboid-server-docker .

Container scripts (inside the image)

Scripts live under /home/steam/server/. The entrypoint is init.sh.

Script Description
init.sh Entrypoint. Sets PUID/PGID, installs/updates server from Steam (unless UPDATE_ON_START=false), configures memory, sets SIGTERM trap for graceful shutdown, optionally starts cron (scheduled restarts) and apply-startup-admins, then exec’s start.sh.
start.sh Writes RCON config, runs compile-settings, patch-sandbox-loot, fix-mod-case-symlinks, patch-vehicle-nospawn, then starts the game server. Handles SIGTERM to run save + quit.
functions.sh Shared helpers: logging, install, rcon-call, save_server, shutdown_server, check_admin_password, configure_memory.
compile-settings.sh Generates Server/<SERVER_NAME>.ini from .env and scripts/templates/settings.ini.template when GENERATE_SETTINGS=true.
patch-sandbox-loot.sh If SANDBOX_LOOT_MULTIPLIER is set, patches all *LootNew in Server/<SERVER_NAME>_SandboxVars.lua.
patch-vehicle-nospawn.sh Sets spawnChance = 0 for 92amgeneralM998 and TrailerM101A3cargo (workshop 2642541073).
fix-mod-case-symlinks.sh Creates symlinks for mods whose folder name differs from Mod ID (DayZ, VFE, Porsche 918, Lynx Pack).
apply-startup-admins.sh Runs in background until RCON is up; creates users and/or grants admin from STARTUP_ADMIN_CREDENTIALS and STARTUP_ADMIN_USERNAMES.
scheduled-restart.sh Called by cron when RESTART_SCHEDULE_CRON is set; broadcasts warnings, saves, then quits.
monitor-cheaters.sh Optional: run from host or container to monitor cheaters in real time from AntiManquitos cheaters.txt (default). Can also detect Z despawn/spawn abuse (zombies removed in one zone and spawned in another) when Lua/zombie_zone_log.txt is present (see scripts/templates/ZombieZoneLogger.lua). Use --summary for one-shot report, --export csv for ban list. See script --help.
install.scmd / install_version.scmd SteamCMD scripts to download the server (stable or branch from SERVER_BRANCH).

About

This fork extends indifferentbroccoli/projectzomboid-server-docker

Resources

License

Stars

Watchers

Forks

Contributors