v11.4.0 Webhook Service / Scorebot Overhaul / Miscellaneous
🚀 Features
🚨 PLEASE READ THE UPGRADE INSTRUCTIONS FULLY; THEY ARE DIFFERENT THAN A STANDARD RELEASE ESPECIALLY IF YOU ARE RUNNING LOCAL MODIFICATIONS 🚨
UI improvements; @Dorfieeee continues to crush it with his UI updates and bug fixes and we remain in his debt for the time and effort he is volunteering to this project; it is quite honestly too much to list, please look at the full change logs for details.
Webhook Service (@cemathey)
We have added a new container that will run (only one regardless of how many servers you use) that will now handle Discord rate limiting much better! You should see far less rate limits occur and it now manages shared rate limits which we haven't done previously.
In the future you will be able to see the state of your different configured webhooks (If they're rate limited; how often it has rate limited; number of pending messages, etc.) in the UI.
🚨 AS A REMINDER; YOU SHOULD PROBABLY NEVER USE A WEBHOOK TO SEND KILL LOGS TO DISCORD BECAUSE YOUR SERVER WILL GENERATE THEM FASTER THAN DISCORD CAN ACCEPT THEM 🚨
You can view the webhook_service.log
which is shared across all of your game servers if there are any errors.
Watch Kill Rate (@cemathey) (@ElGuillermo)
With thanks to @ElGuillermo we have ported his plugin solution for this into CRCON itself.
You can now configure CRCON to notify you in Discord (with optional role/user mentions) when a player exceeds your configured kills per minute (KPM) rate.
There are options to whitelist players with flags, whitelist categories of weapons (armor, artillery and machine guns) and so forth.
It is accessible under Others > Watch Kill Rate
and has a service (WATCH KILL RATE
) that must be enabled under Settings > Services
once you have configured/enabled it.
If you are running @ElGuillermo's plugin that duplicated this 🚨 YOU SHOULD REMOVE HIS VERSION PRIOR TO UPGRADING SO YOU DO NOT RECEIVE WARNINGS FROM BOTH VERSIONS 🚨
Scorebot Overhaul (@cemathey)
We've updated the Scorebot
feature (that posts a message to Discord and updates it periodically to show a live view of your server) significantly.
It has been renamed from Scorebot
to Scoreboard
and will now contain 3 messages instead of 1 (Discord has some internal limitations on the length of a message and the number of embeds).
It now shows your server map rotation, and is very configurable (You can enable/disable individual fields and translate text).
IF your current Scorebot
configuration contains both a valid public stats page URL and at least 1 webhook; these will automatically be updated in the new configuration.
You can still access your legacy Scorebot
configuration from /api/get_scorebot_config
This is configurable under Others > Scoreboard
and has a service (SCOREBOARD
) that must be be enabled under Settings > Services
once you have configured/enabled it.
Miscellaneous Features
- You can now configure an RCON Chat Command to change the map to the next map in the rotation (@FlorianSW)
🐛 Bug Fixes
- The
Auto Settings
message template type can now be configured underSettings > Templates
(@ElGuillermo) - In some scenarios CRCON would fail to record game server logs (@FlorianSW)
- The TK auto ban feature was failing to run previously because of a bug we introduced in a previous release (@cemathey)
- The Churchill tank weapon names were missing and have been added (@dirtyformal)
- You can now
forward
VIP removals to other servers through the UI (@Dorfieeee) - Fixed the
clear
button for search parameters on the game logs page (@Dorfieeee)
⚙️ Others
- Updated from
python 3.11
topython 3.12
- The frontend (UI) container now builds in our github actions to make sure changes don't break the build process (@FlorianSW)
- Bump paramiko from 3.5.0 to 3.5.1 by @dependabot in #925
- Bump django-cors-headers from 4.6.0 to 4.7.0 by @dependabot in #923
- Bump sqlalchemy from 2.0.37 to 2.0.38 by @dependabot in #922
- Bump humanize from 4.11.0 to 4.12.0 by @dependabot in #942
- Bump simplejson from 3.19.3 to 3.20.1 by @dependabot in #944
- Bump httpx from 0.23.3 to 0.28.1 by @dependabot in #943
- Bump sentry-sdk[django] from 2.20.0 to 2.21.0 by @dependabot in #945
Upgrade Instructions
Conditional Instructions
supervisord.conf
If you have a custom/copy of the supervisord.conf
file, you need to make these additional changes before upgrading:
- Edit
config/supervisord.conf
- Find the
scorebot
program and delete this section entirely - Add a new section for the updated
scoreboard
:
[program:scoreboard]
command=python -m rcon.scoreboard
environment=LOGGING_FILENAME=scoreboard%(ENV_SERVER_NUMBER)s.log
startretries=5
- Add a section for the new
watch_killrate
feature:
[program:watch_killrate]
command=/code/manage.py watch_killrate
environment=LOGGING_FILENAME=watch_killrate_%(ENV_SERVER_NUMBER)s.log
startretries=5
autostart=true
autorestart=unexpected
- Save and close the file
Watch Kill Rate
If you installed @ElGuillermo's plugin that performs the same purpose; you should follow his install instructions for it in reverse and remove it prior to upgrading or you will receive warnings from both.
Docker Compose Files
IF you have changed your docker-compose-common-components.yaml
file; you will need to add the new webhook_service
definition which you can copy from the repo
THIS IS A TOTALLY OPTIONAL STEP; IT WILL STILL WORK WITHOUT IT:
Update your compose.yaml
file; we are now using a Docker volume for the internal database that Scoreboard
(formerly Scorebot
) uses due to the way the Docker file system works.
- Open your
compose.yaml
file - Add a
volumes
section at the top of the file:
volumes:
scoreboard_db:
- Update the
x-supervisor: &supervisor
definition to include this volume by adding the following line underneath- .config/:/config/
:
- scoreboard_db:/scoreboard_db
- Save and close the file
You can compare yourcompose.yaml
file with thedocker-templates/one-server.yaml
file as an example.
YOUR SCOREBOARD SERVICE WILL STILL WORK IF YOU DO NOT DO THIS; JUST A LITTLE LESS EFFICIENTLY
.env
Changes
THIS IS A TOTALLY OPTIONAL STEP; YOU WILL JUST RECEIVE SOME WARNINGS ABOUT UNSET ENVIRONMENT VARIABLES WHEN YOU START YOUR CONTAINERS
We have added a few environment variables for the webhook-service
container to allow power users to tune their rate limiting.
- Open your
.env
file - Open
default.env
and copy theWebhook Service
section to your.env
- Save and close the file.
Mandatory Steps
Once you have done the steps above that apply to your situation it is a standard upgrade:
git fetch --tags
git checkout v11.4.0
docker compose pull
docker compose up -d
New Contributors
- @dirtyformal made their first contribution in #918
Full Changelog: v11.3.0...v11.4.0