A set of tools to help you with running a Project Zomboid game server (Linux only)

Overview

Project Zomboid Server Tools

A set of tools to help you with running a Project Zomboid game server (Linux only).

Features

  • Install Project Zomboid Dedicated Server easily in a single command.
  • Restart Project Zomboid Dedicated Server automatically when a mod is updated on Steam workshop.
  • Manage multiple Project Zomboid Dedicated Server running on the same machine.

Tools

Once Project Zomboid Server Tools have been installed successfully, you will have access to following commands:

  • pzinstall: Install Project Zomboid Dedicated Server for the current user
  • pzserver: Start Project Zomboid Dedicated Server
  • pzlog: Show console output of Project Zomboid Dedicated Server
  • pzrestarter: Restart Project Zomboid Dedicated Server when it detects a mod has been updated on Steam workshop

Install

To install Project Zomboid Server Tools, run the following commands:

cd "${HOME}"
git clone https://github.com/quarantin/pz-server-tools
cd pz-server-tools
./bin/install

Configuration

Edit the file /etc/pz-server-tools/config.json as root:

sudo nano /etc/pz-server-tools/config.json

Add each system user that is running a Project Zomboid Dedicated Server to the list under "pzserver". For example if you have two servers running with users pzuser1 and pzuser2, the config.json should look like this:

{
	"pzservers": [
		"pzuser1",
		"pzuser2
	]
}

One you're done editing the configuration, run the following command to check for syntax errors:

cd "${HOME}"
cd pz-server-tools
./bin/checkconfig

By default, Project Zomboid Server Tools are configured to check for mod updates once per hour. If that doesn't suit you, edit the file /etc/cron.d/pz-server-tools as root:

sudo nano /etc/cron.d/pz-server-tools

Update

To update Project Zomboid Server Tools, run the following commands:

cd "${HOME}"
cd pz-server-tools
./bin/update

Uninstall

If you want to uninstall Project Zomboid Server tools, run the following commands:

cd "${HOME}"
cd pz-server-tools
./bin/uninstall
Comments
  • Error installing Project Zomboid Server Tools

    Error installing Project Zomboid Server Tools

    When installing on a Ubuntu server (#31~20.04.1-Ubuntu SMP Fri Jan 14 14:37:50 UTC 2022)

    [email protected]:~$ sudo useradd --create-home --shell /bin/bash pzstadmin
    [email protected]:~$ sudo passwd pzstadmin
    New password:
    Retype new password:
    passwd: password updated successfully
    [email protected]:~$ sudo usermod -aG sudo pzstadmin
    

    The ./pzst/pzst install command outputs a permission denied error after new shell.

    [email protected]:~$ sudo -i -u pzstadmin
    To run a command as administrator (user "root"), use "sudo <command>".
    See "man sudo_root" for details.
    
    [email protected]:~$ git clone https://github.com/quarantin/pz-server-tools
    Cloning into 'pz-server-tools'...
    remote: Enumerating objects: 1768, done.
    remote: Counting objects: 100% (830/830), done.
    remote: Compressing objects: 100% (436/436), done.
    remote: Total 1768 (delta 562), reused 596 (delta 362), pack-reused 938
    Receiving objects: 100% (1768/1768), 224.06 KiB | 8.96 MiB/s, done.
    Resolving deltas: 100% (1133/1133), done.
    [email protected]:~$ cd pz-server-tools
    [email protected]:~/pz-server-tools$ ./pzst/pzst install
    [sudo] password for pzstadmin:
    [*] Updating package cache
    [*] Upgrading packages
    Extracting templates from packages: 100%
    [*] Installing new package `jq`
    [*] Installing new package `python3-venv`
    [*] Installing new package `sqlite3`
    [*] Installing new package `unzip`
    [*] Adding system user: pzst
    [*] Creating virtual environment
    [*] Installing Project Zomboid Server Tools
    mkdir: cannot create directory ‘/home/pzst’: Permission denied
    /usr/local/bin/pzst_config: line 19: /home/pzst/.pzst/config.json: No such file or directory
    [email protected]:~/pz-server-tools$
    
    opened by danilo1105 12
  • Auto restart not working

    Auto restart not working

    I just installed pzst tools on a new server. Everything is working except the auto restart schedule in the config.json isn't taking effect. I'm been having to manually restart the server.

    opened by smithers54 11
  • ProjectZomboid64.json and crontab are resetting to factory settings on planned restarts

    ProjectZomboid64.json and crontab are resetting to factory settings on planned restarts

    After moving servers and reinstalling pz-server-tool on the new one, we noticed that other jobs we add to the pzserver1 crontab AND ProjectZomboid64.json are being reset frequently to factory settings. (EDIT Jul 5: it happens on the planned restarts defined at /etc/pzst/config.json).

    This is causing Xmx to reset to 8 GB (we have 128 GB, I'm using 96 GB) and server ends up crashing after a restart.

    opened by johnstsimoes 4
  • Cron error for pzserver1

    Cron error for pzserver1

    This is a clean install on a fresh ubuntu vps and yes, there are some errors.

    I noticed that the cron for pzserver1 is not installed so I took the luxury to input manually myself but when during daily restart, this error pop up and then removed the crons job that I have added.

    OK
    cp: cannot stat '/home/pzstadmin/pz-server-tools/cron/pzserver': Permission denied
    cat: '/home/pzserver1/.pzst/crontabs/*': No such file or directory
    find: The argument to -user should not be empty
    OK
    

    Evidently, it cannot access pzstadmin's home dir which make sense because the permission is "pzstadmin:pzstadmin" w/ 750 and not "pzstadmin:pzst"

    opened by Lu5ck 4
  • restart_delay always zero is causing restarts to take a bit too long

    restart_delay always zero is causing restarts to take a bit too long

    I'm not sure if this is an issue or just a question, but when a mod change is detected and server stops (after the normal countdown) it's taking way longer (maybe close to 10 minutes) than usual for the server to start again. What is the best way to configure restart_delay to, let's say, 1 minute? Thanks!

    opened by johnstsimoes 4
  • unlisted mods

    unlisted mods

    i have mods that are unlisted and apparently checkmod is unable to get the details of the unlisted mods is it possible to fix that or do i hve to make those mods public?

    opened by Lu5ck 3
  • Restarts are hanging

    Restarts are hanging

    pzstartloop seems to be hanging on the daily restart and mod updates.

    It's a fresh install from a few days ago. Until June 12th it was working flawlessly (I've been using pz-server-tools since March) but with the last commits it seems unstable.

    When it's a daily restart or mod update, I see the server shuts down correctly but it doesn't come up. Is there any way I can help looking into it?

    We're using Ubuntu 20.04.

    opened by johnstsimoes 3
  • Don't run this command as root

    Don't run this command as root

    Firstly, The cron jobs for pzst isn't installed, I believe because pzst isn't a user. In any case, I manually added those cron jobs.

    This line is returning an error, not allowing to run as root so what am I suppose to run it as? */10 * * * * root /usr/local/bin/pzstclearbackups

    opened by Lu5ck 3
  • Daily auto restart doesn't seem to be working

    Daily auto restart doesn't seem to be working

    I checked crontab, it seems to be there * * * * * pzupdate

    I checked the /etc/pzst/config.json on both pzstadmin and pzserver1 too Also used pzst checkconfig command. { "daily-restarts": [ "03:00", "09:00", "15:00", "21:00" ], "editor": "nano", "max-backups": 5, "pzservers": [ "pzserver1" ], "restart-sequence": [ 10, 5, 2, 1 ], "user": "pzstadmin", "install": "/home/pzstadmin/pz-server-tools" }

    What am I missing? Some kind of permissions?

    opened by Lu5ck 3
  • Stop command doesn't completely stop server

    Stop command doesn't completely stop server

    Whenever stop command is manually entered, the server will stop but it will also boot itself again. Can you make it completely stop and not boot itself?

    opened by Lu5ck 2
  • Maxmen reset to default every restart

    Maxmen reset to default every restart

    I have increased the maxmem from default 8g to 13g but every restart of the server, it simply reset back to default again.

    According to the official, the json shouldn't reset to default unless the server update or check for new version

    opened by Lu5ck 2
Releases(0.0.1)
A base chess engine that makes moves on an instance of board.

A base chess engine that makes moves on an instance of board.

0 Feb 11, 2022
BitBot - A simple shooter game

BitBot BitBot - A simple shooter game This project can be discontinued anytime I want, as it is not a "MAJOR" project for me. Which Game Engine does i

whmsft 1 Jan 04, 2022
Wordle-prophecy - The comprehensive list of all Wordle answers, past and future

About This repo contains the comprehensive list of all Wordle answers, past and

Hayden Moritz 2 Dec 15, 2022
Ultimaze est un jeu en 2.5D, réalisé dans le cadre d'un projet de NSI.

Ultimaze Ultimaze est un jeu en 2.5D, réalisé dans le cadre d'un projet de NSI. La consigne était d'utiliser la librairie pygame pour créer un jeu en

parlabarbedeMerlin 3 Sep 17, 2022
Just to play with my kids: create a secret alphabet and exchange encrypted messages

Secret Alphabet Description This project allows you to randomly generate an alphabet (a set of characters) and its corresponding translation. For the

BS 1 Nov 12, 2021
A solution program of 24. game.

A solution program of 24. game.

1 Dec 12, 2022
Exposè for i3 WM. Fork of https://gitlab.com/d.reis/i3expo to fix crashes and improve features/usability

Overwiew Expo is an simple and straightforward way to get a visual impression of all your current virtual desktops that many compositing window manage

137 Nov 03, 2022
Practice the use of the random library to get the user guess the result.

Guessing Game Practice the use of the random library to get the user guess the result. Additional description about the project and its features. Buil

Herbert Orellana 1 Dec 13, 2021
MCRPC (Minecraft Resource Pack Comparator) checks your resource pack against any version of Minecraft to show resources missing from your pack for that version.

Minecraft Resource Pack Comparator MCRPC checks your resource pack against any version of Minecraft to show resources missing from your pack for that

3 Nov 03, 2022
Inject custom C++ code into GameMaker Studio 2 YYC builds

YYC Boost Inject custom C++ code into GameMaker Studio 2 YYC builds! WARNING: This tool is currently in an early stage of development and it is not gu

Patrik Kraif 7 Dec 30, 2022
Trio Assembly Snakemake Workflow

Trio Assembly Snakemake Workflow Input HiFi reads for child in bam format Either

Juniper A. Lake 1 Jan 28, 2022
Simple wordle clone + solver + backtesting

Wordle clone + solver + backtesting I created something. Or rather, I found about this game last week and decided that one challenge a day wasn't goin

1 Feb 08, 2022
Among Us Editor written in Python, for newer versions of the game

Among Us Editor Remake Among Us Editor written in Python, for newer versions of the game. Credits GUI Code by Vresod Data dumping and some GUI code by

Vresod 7 Nov 18, 2022
Hagia is a 2D game engine and toolset for Python.

HAGIA What is Hagia? Hagia is a 2D game engine and toolset for Python. Hagia has

star 3 Jun 01, 2022
CoinTex: Cross-platform Multi-Level Game created in Python using Kivy

CoinTex: Cross-platform Multi-Level Game created in Python using Kivy CoinTex is a multi-level adventure game created using the Kivy cross-platform Py

Ahmed Gad 57 Dec 11, 2022
A simple hangman game for beginners trying to learn python

Hangman Game This is a simple hangman game for beginners trying to learn python. I have tried to keep it as simply as possible. Sample output Here is

1 Oct 13, 2021
This is an interactive MiniMap made with Python, PyQT5 & Pytesseract for the game

NWMM-New-World-MiniMap Features: Automatically grabs position from "New World" Instance Live visualisation of player position on MiniMap Circular & re

Nezzquikk 18 Sep 21, 2022
Find live blooket games easy with python.

Blooket-pin-finder Find live blooket games easy with python. info when you start you will see what looks like error DON'T STOP those are just the thre

Crazedpotato 1 Mar 07, 2022
A terminal-based number guessing game written in python

A terminal-based number guessing game written in python

Akshay Vs 15 Sep 22, 2022
BUG OUTBREAK is a game of adventure and shooting.

BUG OUTBREAK BUG OUTBREAK is a game of adventure and shooting. I am building the game for Github Game Off 2021. This game has 5 levels. You have to co

Shreejan Dolai 3 Nov 11, 2022