Long time no see. Been a long time since I've updated this addon, and I felt the need to do so as the popularity of the game raised, and thus the number of players who wish to verbally grief other players.
Thus, I present to you,
0.7.0 with a
vast array of additions, changes, bugfixes, and even a new fancy logo made by
Mr. Logan!
Changelog
First of all, many thanks to
Logan (again) for the amazing new icon for Jug of Tools,
Lonsfor for the various fixes and
RetroStation towards his contributions towards the word filter feature!
New Features
- Word Filter: Players' messages will now go through a word filter to prevent them from saying naughty stuff. Can be disabled through
jug_wordfilter_enabled Off
.
- Can be changed between various punish types through
jug_wordfilter_punishtype
(1 = block, 2 = shadowmute, 3 = kick, 4 = ban, 5 = quit). Shadowmutes by default.
- It comes with a default list with unambiguous bad words to block. Can be disabled through
jug_wordfilter_usedefaultbadwordlist Off
.
- New words can be added to the host-made block list with the command
jug_wordfilter_addwords
. For example: jug_wordfilter_addwords word1 word2 "long word3"
. Admin/host only.
- Words can be removed from the host-made block list with the command
jug_wordfilter_removewords
. For example: jug_wordfilter_removewords word1 word2 "long word3"
. Admin/host only.
- Words from the default and custom-made block lists can be listed through the command
jug_wordfilter_listwords
. Admin/host only.
- Words that have numbers and other characters will be turned into regular characters if
jug_wordfilter_unleet
is On for purposes of word filtering. (On by default).
- The word filter will match whole words only if
jug_wordfilter_wholewordsonly
is set to On. (Off by default).
- A taunting sound will be played for players who are kicked, banned or forcequitted if
jug_wordfilter_tauntsoundonleave
is On (Off by default).
- Admins are immune to this feature, but it can be toggled off through
jug_wordfilter_immunity Off
.
- Thank you Lonsfor for giving me a base to work on and RetroStation for all the wonderful contributions to the word filtering code!
- Spam Filter: Players' messages will now be automatically muted if they post too quickly. Can be disabled through
jug_spamfilter_enabled Off
.
- Can be changed between blocking the message or shadowmuting it through
jug_spamfilter_punishtype
(1 = block, 2 = shadowmute). Blocks by default.
- Can be changed how much time players have to wait to post again through
jug_spamfilter_spamtime
. 35 tics = 1 second. Defaults to 20 tics.
- Admins are immune to this feature, but it can be toggled off through
jug_spamfilter_immunity Off
.
- R9K filter: if a player posts the same message, it will be muted. Can be disabled through
jug_r9kfilter_enabled Off
.
- Can be changed between blocking the message or shadowmuting it through
jug_r9kfilter_punishtype
(1 = block, 2 = shadowmute). Blocks by default.
- Admins are immune to this feature, but it can be toggled off through
jug_r9kfilter_immunity Off
.
jughelp
: Learn what aliases and features you have available to you through typing jughelp
through the console. (Thanks for the suggestion, Hannu-Hanhi!)
- There's now chat commands for rainbow (!rb), PMing (!pm), replying to PMs (!r), muting (!mute), and help (!help).
!rb text
will rainbowify text! (Assuming jug_rainbow_everyone
is On for regular players or have rainbow privileges)
!pm [node/name] text
will send such text to the player who matches that node or name.
!r text
replies back to the last person who sent you a PM. No need to keep writing names!
!mute player
will mute such selected player. (Assuming jug_mute_enabled
is On).
!help
provides help in the chat the same way jughelp
provides help in the console.
- Now you can @ other players like in Discord or Twitter, which will play a sound on their game to catch their attention.
- This is done through
@name
in the chat, and partial name matches and node numbers work as well!
- Can be disabled through
jug_at_enabled Off
- A host or admin's badge (~ or @) can now be disabled through
adminbadge
.
- Freeslots may now be counted using
freeslotcount
. NOTE: It will only give you an accurate count if this addon is loaded first.
- You can now use the
totalmutelist
(admin/host only) to see which player has who muted. Type totalmutelist file
to write this result to a file (host only). (Thanks for the suggestion, Aqua!)
New Improvements
- Targetting now has various beneficial changes:
jug_targetting_loose
now defaults to On to help with targeting (specially in regards to some dedicated server setups).
- Targetting nodes no longer require a # before the number, to make it consistent with vanilla (Thanks Lonsfor!).
- You can now target node 0 (for the purposes of PMing the server or the server doing various effects).
- Muting and Shadowmuting now works through PMs (sayto). (Thanks for this report, Fl_GUI!)
- Shadowmuting that happens through the word filter will have such word highlighted in red for admins (Thanks for the suggestion, RetroStation!).
- Muting is now logged. (Thanks for the suggestion, Aqua!)
- Now you can >greentext anywhere in a message, instead of only at the start. It also now supports /me and PMs.
- Fixed HOSTMOD Interop: The last message in a y/n vote, and rtv messages, will now be hidden. (Thanks for this report, AnimeSonic!)
- Fixed AquaVoting Interop: ++ and -- are now properly muted (Thanks for this report, xyzzy and Finn-Warrior!)
Changes
jug_logging_shadowmute
has been removed - it was redundant since jug_shadowmute_adminread
worked the same way.
jug_rainbow_everyone
has been changed to jug_rainbow_enabled
for consistency with other CVars.
jug_rainbow_enabled
no longer does a global notification to let players know it is on.
jug_rainbow_enabled
and jug_greentext_enabled
are now On by default since they are harmless and fun.
Bugfixes
- Now has an chat overflow handler to prevent chat-related crashes. (Shoutouts to Tyron and TJ Sonic.)
- Fixed map configs not being able to be disabled (Thanks Lonsfor!)
- For Kart, /me now works again.
- In SRB2, this can be toggled off through
jug_mechat_enabled
, and can then be used with /me message
in the chat. (Too many people reported this to count, but thank you!)
- Refactored some of the chat code - this should prevent chat messages from muted players in exceptional cases from going through. (Thanks for this report, xyzzy and Finn-Warrior!)
- In the case that a player joins the server during intermission or map voting, chat-related commands and states (shadowmute) will not go through properly or apply until the player loads a map. This is not something I can fix, since the player list is not properly sent to players during these states. In these cases, relevant commands (e.g. playermute) will now give a message to wait until a map is loaded first to prevent confusion as to why these commands are not working. Apologies for this.
Final Words
Thank you for all of your patience and understanding, and for reporting many bugs and even providing your own code contributions. I hope you all appreciate 0.7.0 as much as I enjoyed working on it.
Have fun!