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 game based on Motus, to be played on Unix terminals.

Motus python game A game based on Motus, to be played on Unix terminals. How to play? Before playing, you need to install all the requirements needed

Arthur Molia 1 Feb 02, 2022
A car learns to drive in a small 2D environment using the NEAT-Algorithm with Pygame

Self-driving-car-with-Pygame A car learns to drive in a small 2D environment using the NEAT-Algorithm with Pygame Description A car has 5 sensors ("ey

Henri 3 Feb 01, 2022
It just a cli based snake game written in Python.

Snake Game in Python Things that I learned in this project: OOP in Python. Clean code. The curses library. How to run the game You need to clone this

Kevin Marques 7 Oct 01, 2022
シューティングゲームぽい?未完成ですけど

シューティングゲームぽい?未完成ですけど

kawamineka 64 Jun 25, 2022
Simple game where you try to survive as long as you can on screen.

Survival Game Simple game where you try to survive as long as you can on screen. Play To run, download the code and run the survival_game.py file. Fro

Logan Morris 1 Feb 10, 2022
Implementation of the Spider-Man Game

Projeto FPRO FPRO/LEIC, 2021/22 Francisco Campos (up202108735) 1LEIC08 Objetivo Criar um clone do clássico Spider-Man em Pygame... Repositório de códi

1 Dec 24, 2021
Guess The Random Number - A sample Random Number Guessing Game Python Program

Guess_The_Random_Number This repo contains a simple "Random Number Guessing Game

Pramod Kumar 3 Feb 09, 2022
A python program for playing rock-paper-scissors with computer .

Rock_Paper_Scissors_Cut A time passing famous hand game known as rock paper scissors cut game. Starting from children to adults everyone plays this ga

Arghya Banerjee 1 Dec 16, 2021
Made by Ashish and Avinash-sord12k. Powered by pygame

Spook_alle About -Made by Ashish (Github: Ashish-Github193) and Avinash-sord12k Version - BETA v_1.0 /1-11-2021/ (game is at its base version more ite

Ashish Kumar Jha 1 Nov 01, 2021
Scalable computer implemented in the game of life.

scalable-gol-computer This is a computer built in Conway’s game of life. It supports variable sizes of 8, 16 and 32 bit. Maximum program size: 256 lin

Nicolas Loizeau 19 Nov 19, 2022
A multiplayer RPG Discord bot, where you play as a god.

To run Ensure your Python is up to date, and install packages from requirements.txt Duplicate secrets-template.yaml, and name it secrets.yaml Insert y

4 Jan 18, 2022
An interactive pygame implementation of quadtree spatial quantization

QuadTree-py An interactive pygame implementation of quadtree spatial quantization Contents Installation Usage API Reference TODO Installation Clone th

Ethan 1 Dec 05, 2021
游戏中按TAB键查看所有玩家分数的小程序

DDNet-show-points-in-game DDRaceNetwork 游戏中按TAB键查看所有玩家分数的小程序

3 Oct 13, 2022
OpenGL experiments with Pygame & ModernGL

pygame-opengl OpenGL experiments with Pygame & ModernGL TODO Skybox & Reflections Post-process effects (motion blur, color correction, etc..) Normal m

Kadir Aksoy 4 Oct 28, 2022
Utility to find games owned by all (or at least some) of the passed players.

SteamCommonGameFinder Utility to find games that are owned by all (or at least some) of the players you pass into this programm. You can already find

Daniel O'Grady 4 Jan 04, 2022
AI Mario challenges you to clear all stage of Super Mario game.

mario-ai-challenge Challenge AI Mario to clear all stages of Super Mario. GitHub Pages Site Rules Enjoy building AI Mario. Share information. Use Goog

karaage 48 Dec 10, 2022
Among AIs is a (prototype of) PC Game we developed as part of the Smart Applications course @ University of Pisa.

Among AIs is a PC Game we developed as part of the Smart Applications course @ Department of Computer Science of University of Pisa, under t

Gabriele Pisciotta 5 Dec 05, 2021
WORDLE Helper and Solver

WORDLE Helper and Solver There is a pupular game around WORDLE The game could be hard for non-English speaking people so I started to think of a helpe

1 Jan 24, 2022
2DMC is an abrrieviation for 2 Dimensional Minecraft.

2DMC 2DMC is an abrrieviation for 2 Dimensional Minecraft. This idea is originally created and implemented by Griffpatch on Scratch. This is a persona

DaNub 5 Nov 06, 2022
Client-Server design (guess the closest number to the average score game)

Multiplayer game (enter the number closest to the average) Design Client-Server design The client's side is responsible for sending numbers from the g

Adam Piszczek 0 Jun 29, 2022