Juggy's Jug of Tools

[Open Assets] Juggy's Jug of Tools 0.7.1

I made sure my file(s) follow the Submissions Guidelines
  1. Yes
oj_with_no_pulp-export.png

Juggy's Jug of Tools​

Juggy's Jug of Tools is a collection of scripts and features meant to help your server and chat experiences, fully featured and with a lot of customization. It prevents bad actors from spamming, flooding the chat, saying bad words, while also giving fun chat features such as greentext, rainbow chat, and @ing other players like on Discord or Twitter.

Features​

Word Filter​

The Word Filter prevents players from saying incensing and undesirable words in text chat. It comes with a default filter of unambiguously bad words to do more of the heavy lifting for you, and it's possible to add even more or remove the default filter. It also comes with ways to prevent overcoming the filter as well. Filtered messages due to bad words are echoed back to the user (also known as a shadowmute), and are shown to the host and admins, but no one else will see them, and this behavior can be changed to also block, kick, ban or make the player quit if they trip up the filter.

As a submodule, it also features a Name Filter that will make players quit their game by default if they have an offending name.

Screenshot_20220611_140318.png

Screenshot_20220611_200428.png


Console VariableDefault ValueUse
jug_wordfilter_enabledOnEnables or disables the Word Filter entirely.
jug_wordfilter_punishtypeShadowMuteDefines how players should be punished if they trip up the filter. Options
  • Block - The messaged is blocked from sending and the chatter is asked to use cleaner language.
  • ShadowMute - The message is echoed back to the user but no one else. Admins can still read the message and see which word tripped up the shadowmute.
  • Kick - The player is kicked with the reason specifying they said a bad word.
  • Ban - The player is banned with the reason specifying they said a bad word.
  • Quit - The player is made to quit the game.
jug_wordfilter_immunityOnSpecifies if administrators simply overcome the filter thanks to their status or not.
jug_wordfilter_usedefaultbadwordlistOnIf enabled, the addon uses an additional banlist with unambiguously bad words to block from the chat.
jug_wordfilter_filtertypeNo Leet Words, No Spaces
Defines the filter type to use:
  • No Leet Words: Disregards Leet words (players attempting to get over the filter using numbers and special characters instead of proper characters).
  • No Spaces: Disregards spaces (players adding spaces over blocked words to get over the filter).
  • No Leet Words, No Spaces: Both previously aforementioned options enabled.
  • Whole Words Only: Only considers blocking whole words, instead of partial word matches.
  • No Leet Words, Whole Words Only: Both previously aforementioned options enabled.
jug_wordfilter_tauntsoundonleaveOffIf On, players who are kicked, banned or made quit by the filter will have the server play a sound that acknowledges this happening.
jug_wordfilter_filternamesOnDefines if the Word Filter will also filter players' names as well.
jug_wordfilter_filternames_punishtypeQuitDefines how players should be punished if they have an offending player name. Options are Kick, Ban and Quit. Be warned: options that are not Quit will have their offending names show in the chat.

Console CommandUse
jug_wordfilter_addwordsAdds words to the host-made word filter. Multiple can be inputted, and words with spaces can be inputted when surrounded by commas. For example: jug_wordfilter_addwords word1 word2 "long word3"
jug_wordfilter_addword_patternAdds a word to the host-made word filter alongside a Lua string pattern. Expressions that exactly match the banned word will be blocked, whereas anything else will stay unblocked. For example: jug_wordfilter_addword_pattern flower "flowers?" will block flower but not flowers.
jug_wordfilter_removewordsRemoves words from the host-made word filter. Follows the same rules as _addwords. For example: jug_wordfilter_removewords word1 word2 "long word3"
jug_wordfilter_listwordsList the words within the host-made word filter. If jug_wordfilter_usedefaultbadwordlist is On, then it will also show words from that filter as well.

Spam and R9K Filters​

The Spam Filter and R9K Filter prevent players from spamming messages really quickly, and sending the same message over and over, respectively. By default, these messages are blocked and the chatter is told to slow down or say something else, but it can be changed to lead into a shadowmute instead.

Screenshot_20220611_200237.png

Screenshot_20220611_200251.png


Console VariableDefault ValueUse
jug_spamfilter_enabledOnEnables or disables the Spam Filter entirely.
jug_spamfilter_spamtime20Defines how many tics a player should wait before they can send a message again. 35 tics equals 1 second.
jug_spamfilter_punishtypeBlockDefines how players should be punished if they trip up the filter. Options
  • Block - The messaged is blocked from sending and the chatter is asked to use cleaner language.
  • ShadowMute - The message is echoed back to the user but no one else. Admins can still read the message and see which word tripped up the shadowmute.
jug_spamfilter_immunityOnSpecifies if administrators simply overcome the filter thanks to their status or not.
Console VariableDefault ValueUse
jug_r9kfilter_enabledOnEnables or disables the R9K Filter entirely.
jug_r9kfilter_punishtypeBlockDefines how players should be punished if they trip up the filter. Options
  • Block - The messaged is blocked from sending and the chatter is asked to use cleaner language.
  • ShadowMute - The message is echoed back to the user but no one else. Admins can still read the message and see which word tripped up the shadowmute.
jug_r9kfilter_immunityOnSpecifies if administrators simply overcome the filter thanks to their status or not.

Player Muting​

If enabled, players can be given the power to individually mute other players for themselves whose messages they don't like to read. Muting done by players is logged in the host console, and players also have access to a mute list to see whom do they have muted. Admins and the host have access to a master mute list where they can see who has who muted.

Players can mute other players through playermute name/node in the console or !mute name/node in the chat.

Screenshot_20220611_200711.png


Console VariableDefault ValueUse
jug_mute_enabledOffSpecifies if muting individual players is enabled or not.
jug_mute_immunityOnSpecifies if administrators are immuned to being muted by other players.

Console CommandUse
muteplayerTakes a player name or a node number. It will mute that player so their messages will not show up for them. !mute player/node is a chat text alias that does the same thing.
mutelistDisplays a list of all the players that have been muted by the player.
totalmutedlistAdmin only. Displays who has who muted from all the players. If file is passed as a parameter, then the results will be dumped to a mutelist.txt file.

Shadowmuting​

Admins and the host have access to have a certain player's messages echo back to themselves and no one else without their knowledge, known as a shadowmute. When a player is shadowmuted, they will think their messages are being sent to everybody, but in reality they're only talking to themselves (and only admins and the host are able to read them). It's a powerful tool to prevent certain chatters from causing major trouble without them realizing that they're effectively muted.

Admins and the host can shadowmute players through shadowmute name/node number.

Screenshot_20220611_200935.png


Console VariableDefault ValueUse
jug_shadowmute_immunityOnSpecifies if admins are immune to shadowmuting.
jug_shadowmute_adminreadOnSpecifies if admins and the host can read shadowmuted messages.

Console CommandUse
shadowmuteAdmin only. Takes a player name or node number. Shadowmutes the player, making their messages echo only back to themselves, and the admins if _adminread is On, but no one else.

Fun Chat Features​

For the players themselves, there's a lot of fun features that this addon adds:
  • Greentexting: Add a > anywhere in the message and the following characters will be colored green.
  • Rainbow Chat: Use rainbow text in the console, or !rb text in the chat, to color the entire message in rainbows.
  • @: Allows to tag and ping players, through @name/@node, to make them aware that you're talking to them.
  • /me chat: Although not a new feature in Kart, in SRB2 you are now able to textually express actions.
  • !pm and !r: These are sayto aliases that facilitate sending private messages to other players. !pm player message will send a message to a player, and players can reply to the most recent person who sent them a PM through !r text.
  • !help: Not sure about what's available to you? Typing !help in the chat or jughelp in the console will show you all that you can do.

Screenshot_20220611_201208.png

Screenshot_20220611_201239.png


Console VariableDefault ValueUse
jug_greentext_enabledOnEnables greentexting for all players. Greentexting can be performed by adding the > character and then text afterwards to a message.
jug_greentext_adminsOnEnables greentexting to admins only.
jug_rainbow_enabledOnEnables rainbow chat for all players. Rainbow chat can then be used through rainbow text in the console or !rb text in the chat.
jug_at_enabledOnEnables tagging/pinging other players. It can be done in the chat text through @name/node and partial matches also work.
jug_mechat_enabledOnEnables /me chat. It can be done in the chat text through /me text to allow performing actions textually in the chat.

Console CommandUse
rainbowAllows players to rainbow chat. !rb text is a chat text alias that does the same thing.
giverainbowAdmin only. Gives a player the ability to rainbow chat, in cases where jug_rainbow_enabled is off.
jughelpDisplays a helpful message in the console that shows all possible text aliases. !help is a chat text alias that does the same thing, but instead displays it in the console.

Map Configuration Files​

It's possible to set things to happen through configuration files as soon as a map loads and unloads, by having files named mapXX.cfg and mapXX_end.cfg in your SRB2(Kart) folder (preferably inside of a folder, to keep it organized).

Console VariableDefault ValueUse
jug_mapconfigs_enabledOffSpecifies if map configuration files are enabled or not. If so, it will load from a mapXX.cfg file when the map loads, and mapXX_end.cfg when the map ends.

Additional Admin Tools​

  • adminbadge hides the green @ of admin players in the chat to make them unassuming compared to other players. Can be toggled off and on.
  • forcerespawn respawns players at the last checkpoint, helpful for when they got stuck and can't get out in any way.
  • freeslotcount counts how many freeslots are left for each category, helpful for diagnosing issues related to freeslots. Works more effectively when this addon is loaded first.
  • forcecolor forces every player to use a specific color. Why not make everyone green?

General, Interoperability and Other​

This addon comes with interoperability with Kart's Hostmod and Aqua's mapvote script so messages are kept hidden, and also comes with the chat overflow fix.

The logging can be disabled and targeting can be made more strict. The CVars for this are as follows:

Console VariableDefault ValueUse
jug_loggingOnLogs actions done using commands from this addon.
jug_targetting_looseOnIf On, it'll not consider capitalization for targeting names.

Credits​

JugadorXEI - Main Programmer
Mr. Logan - Created the Jug of Tools icon. Thank you!
Lonsfor - Provided various fixes to earlier versions of this addon and an early word filter. Thank you!
RetroStation - Provided a lot of help regarding the word filter, specially many things related to ChatBlaster. Thank you!
Aqua's Karthouse servers and players - Helped test early versions of the script. Thanks a lot!

Ending​

Thank you so much for using my script and let me know if it could be improved in any way, shape or form.

Have fun and enjoy!
Author
JugadorXEI
Downloads
1,537
Views
6,541
Extension type
pk3
File size
49.3 KB
MD5 Hash
8ef2ec25f74a5648322fd3cb5e36723b
First release
Last update

More resources from JugadorXEI

Share this resource

Latest updates

  1. 0.7.1 - Name Filter, Better Filter

    Changelog: New Features Name Filter: Players' names are now filtered using the same filters as...
  2. 0.7.0 - The Great Comeback

    Long time no see. Been a long time since I've updated this addon, and I felt the need to do so...

Latest reviews

The best and only moderation tool I know of for base SRB2 and a good supplementing tool to use alongside HOSTMOD for SRB2K. This addon gives you basic tools needed to block certain words or phrases from chat while also supplying a few fun chat commands all in one addon.
A must need for every 24/7 server out there.
Upvote 0
Lots of great features and admin tools that are a must-have for any server. Highly recommended!
Upvote 1
Anti-Spam and Word Filter was my dream for my SRB2Kart servers. A MUST HAVE add-on for any server admin.
Upvote 2
Back
Top