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)
Small game I made in 2019 using python/pygame.

Kill-The-Blokk // Shoot or Die This is a small game I made in gr.10 (2019) for my high school computer science class; the game was coded in python usi

1 Nov 13, 2021
A puzzle game coded entirely in Python.

Pyzzle A puzzle game coded entirely in Python. This is a school project created by me, Mohit Singh. The .exe file, created from the main.py script, is

Mohit Singh 1 Mar 19, 2022
This is a repository created to run a workshop on Game Theory using the programming language Python and more specifically an open-source software called the Axelrod Python library

Game-Theory-and-Python This is a repository created to run a workshop on Game Theory using the programming language Python and more specifically an op

Nikoleta Glynatsi 136 Dec 01, 2022
PyCraft - A Minecraft launcher made in python

A Minecraft launcher made in python. The main objective of this launcher is to enable players to enjoy minecraft (especially those without a mojang/microsoft account). This launcher is not illegal as

38 Dec 12, 2022
Allows you to email people wordle spoilers. Very beta, not as many features

wordlespoiler Allows you to email people wordle spoilers. Very beta, not as many features How to Use 1.) Make a new gmail account. Go to settings (Man

0 Jan 04, 2023
Simple python 3D vector3 math library wrapping some types from GLM library using pybind11.

vmath Simple python 3D vector3 math library wrapping some types from GLM library using pybind11. Description Both pure python version and C++ version

6 Aug 02, 2022
A playable version of Chess – classic two-player, various AI levels, and the crazyhouse variant! Written in Python 3

A playable version of Chess – classic two-player, various AI levels, and the crazyhouse variant! Written in Python 3. Requires the installation of PIL/Pillow and Requests

1 Dec 24, 2021
python script to convert .OBJ files into Minecraft, rendering them in game with a core shader.

samples: random notes about the tool general output format: (animation not supported yet but planned) vertex id Minecraft's gl_VertexID isn't per mode

199 Jan 02, 2023
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
A classic alien shooting game.

Space-Invaders A classic alien shooting game. Description An open source game created by me and friends. How to play Install the latest python version

Phạm Thanh Sơn 1 Feb 08, 2022
Tic-Tac-Toe - Tic-Tac-Toe game build With Python

Tic Tac Toe This game is very popular amongst all of us and even fun to build as

PyLaboratory 0 Feb 06, 2022
GardenZen Prototype 2.5D Game

Relaxing 2.5D Game about gardening a small farm and growing food, plants and other things. Follow my Youtube Devlog for further details (see about me section)

Paul 3 Apr 15, 2022
Software Design | Spring 2020 | Classic Arcade Game

Breakout Software Design Final Project, Spring 2020 Team members: Izumi, Lilo For our Interactive Visualization, we implemented the classic arcade gam

Lilo Heinrich 1 Jul 26, 2022
Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.

cocos2d-x Win32 Others cocos2d-x is a multi-platform framework for building 2d games, interactive books, demos and other graphical applications. It is

cocos2d 16.7k Jan 04, 2023
A python script that uses pygame to display fractals.

Pygame-Fractals A python script that uses pygame to display interactive fractals. There are 3 fractals on the script. They can be displayed on the col

michel 2 Feb 09, 2022
游戏中按TAB键查看所有玩家分数的小程序

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

3 Oct 13, 2022
The Bowling Club (Facebook Game) get all strikes.

TheBowlingClubBot The Bowling Club (Facebook Game) get all strikes. FAQ Q: What is this? A: TheBowlingClubBot is a automation bot with 99.99% guarante

#~Rith 1 Jan 19, 2022
Graphical impimetaion of Conway's Game of Life in Python using pyglet

Conway's Game of Life in Python Konstantin Opora Conway's Game of Life: graphical implementation in python using pyglet. developed in Python 3.10.0 Re

Konstantin Opora 1 Nov 30, 2021
We tried to recreate this classic game using python physics libraries.

We tried to recreate this classic game using python physics libraries. The result is certainly hilarious but enjoyable. One of my very first physics application.

Delwys Glokpor 2 Dec 12, 2021
A Higher-Lower web game made in Python using Flask framework.

Higher Lower Web Game Guess the random number from 0 to 9 in this web game made with Python and Flask Framework Modules that were used Random Flask In

Yago Goltara 1 Oct 27, 2021