All checks were successful
Build and Push Docker Image / build (push) Successful in 14s
44 lines
2.3 KiB
Markdown
44 lines
2.3 KiB
Markdown
# Spiffo
|
|
|
|
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!
|