This repository has been archived on 2025-02-16. You can view files and clone it, but cannot push or open issues or pull requests.
Corban-Lee Jones 6081324320
Some checks failed
Build and Push Docker Image / build (push) Failing after 3s
Merge pull request 'dev' (#4) from dev into master
Reviewed-on: #4
2025-02-16 20:52:10 +00:00
2024-12-06 10:54:11 +00:00
2024-12-05 22:59:34 +00:00
2024-12-13 12:17:03 +00:00
2024-12-13 23:50:37 +00:00
2024-12-09 15:07:22 +00:00
2024-12-11 17:37:35 +00:00
2024-12-11 17:37:35 +00:00
2024-12-13 23:50:37 +00:00
2024-12-05 19:01:58 +00:00
2024-12-05 22:59:34 +00:00
2025-02-16 20:51:44 +00:00

Spiffo

Important

Due to the recent release of build 42 of Project Zomboid, this project is now redundant. The updated game includes improved Discord integration, which was the primary purpose of this repository.

Please don't attempt to use this repository, as the latest version includes various bugs from development, before it was overshadowed by build 42.

A multi-purpose Discord integration bot for Project Zomboid.

Features

  • Interact with the remote console via slash commands in Discord.
  • A live count of all online players as the bot's activity status.
  • Views of complicated player data through direct access to the players.db file.
  • Automated mod update management including: restart warnings, saving and exiting, restarting the server.
  • Player connect and disconnect alerts in a specified Discord channel.
  • Ability to read directly from the server console log for accurate up-to-date info.
  • Super easy deployment via docker with environment variables for configuration.

Setup

Environment Variables

Despite being isolated to a docker container in deployment, the environment variables are prefixed with the application name (SPIFFO__).

This should make the environment variables used be more clear and pronounced when you choose to use them or otherwise.

Variable Description Required Default Value
SPIFFO__BOT_TOKEN Credential to allow the application to authenticate as the bot.
SPIFFO__RCON_HOST Host of the server's remote console.
SPIFFO__RCON_PORT Port of the server's remote console.
SPIFFO__RCON_PASSWORD Password of the server's remote console.
SPIFFO__DISCORD_CHANNEL_ID Snowflake ID of the channel where join alerts and other server related messages should appear.
SPIFFO__STEAM_API_KEY Web API key granted by steam, allows for the user's steam profile info to be shown in the join alerts.
SPIFFO__ZOMBOID_FOLDER_PATH Absolute path to the 'Zomboid' folder that contains the server-console.txt file.
SPIFFO__DATA_FOLDER_PATH Custom path of where the bot will create and store data.
SPIFFO__SERVER_NAME Name of the server instance, don't change unless you know what you are doing! servertest
SPIFFO__DEBUG Whether to run in debug mode, which will reveal debug logs. False
SPIFFO__ZOMBOID_LOG_TIMESTAMP_FORMAT The format used for timestamps in Zomboid's logs - do not change this! %d-%m-%y %H:%M:%S.%f

Why Am I Making This?

All existing bots are poorly coded, slow and/or lack certain features.

They usually fall into a couple of categories; single purpose and great or multi-purpose and bad.

I wanted to make a clean, beautiful and functional bot with ALL of the features!

Description
A Discord Bot for integration with a Project Zomboid game server. Overshadowed by the recent build 42 release of Project Zomboid.
Readme MIT 300 KiB
Languages
Python 98.9%
Dockerfile 1.1%