Improved punishment saving, languages
Pre-releasev1.6.2
This patch sends a message to muted players who attempt to chat. It does not require a language file update, as the default mute message (moderation.mute.mute.message
) will be used if the chat attempt message (moderation.mute.chat-attempt
) is not present. The message file version is now 2.1, but only 2.0 is required.
v1.6.1
This patch adds support for the French language (fr.yml
).
v1.6.0
This release adds support for languages. It is a breaking change for message files, so their version has been bumped to 2.0. They are now located at cucumber/lang
. A language can be specified in config.yml
.
v1.5.1
This patch switches over to parsecmd
v4.0. Despite the major version bump, this is mostly an internal change and will not change the way the plugin behaves, except for a few bug fixes. This upgrade fixes a minor bug with the duration parser crashing when a duration was not in ascending order (e.g. 15d1M
instead of 1M15d
). A critical bug where the server would freeze shortly after a punishment save has also been patched. It was caused by a bug with pthreads
's garbage collector when scheduling too many libasynql
queries at once, which created too many threads. This was fixed by a libasynql
update which changed pthreads
inheritance settings. The threads were started when the punishment save executed INSERT
s and DELETE
s for every new/old punishment instead of bulk insertions and deletions. Punishments are now saved when they are set/pardoned, which also fixes a bug where pardoning a player and re-punishing them before the punishment save kicked in would leave the player pardoned after a restart.