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)
Code d'un jeu en python par Graveen (avec mes modifications)

ATTENTION Vous ne devez pas copier coller le code sans le comprendre, apprennez dรฉjร , le python et pygame, et seulement ensuite, vous pourrrez l'utili

TheBigWolfy 7 Nov 02, 2022
uses Entropy to find the best next guess for Wordle, given the color clues

WordleSolver uses Entropy to find the best next guess for Wordle, given the color clues use player.py and enter in the string for the suggested clue w

Steve Earth 1 Jan 26, 2022
Just a simple Tic Tac Toe game, built with Python

TicTacToe Author: Gabriel Lima Table of Contents About Getting Started Linux Windows About This is one of the first projects I built when I first star

1 Nov 28, 2021
linorobot2 is a ROS2 port of the linorobot package

linorobot2 is a ROS2 port of the linorobot package. If you're planning to build your own custom ROS2 robot (2WD, 4WD, Mecanum Drive) using accessible parts, then this package is for you. This reposit

linorobot 195 Dec 29, 2022
Simple car game written in PyGame

Welcome to CarGame ๐Ÿ‘‹ Car Game written in PyGame! NOTE: This is still new and there may be stuff broken... ๐Ÿ  Homepage Install install pygame by typin

John 1 Oct 29, 2021
Python fitting assistant, cross-platform fitting tool for EVE Online

pyfa What is it? Pyfa, short for python fitting assistant, allows you to create, experiment with, and save ship fittings without being in game. Open s

1.4k Dec 22, 2022
A 16x16 clone of Minecraft Classic, written in Python with the Ursina Engine

VoxelCraft A 16x16 clone of Minecraft Classic, written in Python with the Ursina Engine Features:Trees, Water(But there's no gravity, so if you break

2 Jun 23, 2022
Inflitator is a classic doom and wolfenstein3D like game made in Python, using the famous PYGAME module.

INFLITATOR Raycaster INFLITATOR is a raycaster made in Python3 with Pygame. It is a game built on top of a simple engine of the same name. An example

Zanvok Corporation 1 Jan 07, 2022
AutoPilot is a game where the player controls a car and tries to get the highest score he can while not dying under falling cement blocks.

AutoPilot AutoPilot is a game where the player controls a car and tries to get the highest score he can while not dying under falling cement blocks. C

Enoc Mena 1 Nov 17, 2021
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
Tic Tac Toe game developed in python; have 2 difficulty levels

Tic Tac Toe Game This is a code for Tic Tac Toe game in python. Game has 2 difficulty levels. Easy Hard To play the game, use this command in a LINUX

Akshat Mittal 1 Jun 25, 2022
Official PyTorch implementation of NAC from the paper: Neural Auto-Curricula in Two-Player Zero-Sum Games.

NAC Official PyTorch implementation of NAC from the paper: Neural Auto-Curricula in Two-Player Zero-Sum Games. We release code for: Gradient based ora

Xidong Feng 19 Nov 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
The original Tetris tile-matching game as adopted by IBM PC.

๐Ÿ•น๏ธ Tetris Game The original Tetris tile-matching game as adopted by IBM PC. Game developed purely on python using the Dear PyGui Framework. ๐Ÿ“– Instru

14 Nov 12, 2022
Database of relevant Minecraft OG usernames

Introduction In this repository we want to collect names and words that get the "OG Name" badge on laby.net. We want the community to be able to contr

LabyMod 19 Dec 02, 2022
Dragon Quest IV (NDS) English + Party Chat Script Patcher for Japan ROM

Patches English script files from the US version of Dragon Quest IV for Nintendo DS and Android so they are rendered nicely when used with the Japan ROM. Addresses various issues caused by the Japan

Aric Huang 35 Dec 18, 2022
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
A basic quiz game using Python

QuizGame A basic quiz game using Python Passwords for quizzes (NO CAPS LOCK!): -ryzermattishandsome -canisleepwithyou Before using this, please make s

Austin 1 Nov 12, 2021
An automation bot to play Myuu Discord game

Auto selfbot Myuu is a self Discordbot, meaning it will use your TOKEN to logged as your account and take commands from yourself to play the game.

6 Dec 15, 2022
A very bad wordle solver to help me solve the daily wordle

Wordle Solver A very bad wordle solver to help me solve the daily wordle on https://www.powerlanguage.co.uk/wordle/ TODO list take into account letter

Logan Anderson 4 Feb 03, 2022