Reviewed-on: #4
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!