Bungee Chat Filterv1.2Description:
Bungee Chat Filter is a BungeeCord plugin designed to monitor, filter and edit a players chat before it even makes it to the server. BCF matches regular expressions against the players messages and performs specified actions on the message depending on what the server owner has specified in the config.
Features:
Installation:
- Filter chat with regular expressions.
- Custom permissions for any command
- Cancel a players chat when a rule is matched.
- Kick a player when a rule is matched.
- Message a player when a rule is matched.
- Send a proxy wide broadcast when a rule is matched.
- Make the player send a command to the server when a rule is matched.
- Make the player send a command to the Proxy when a rule is matched.
- Remove certain words from the message
- Replace words from the players message with a random word from a list
- Remap your commands
Permissions:
- Download BungeeChatFilter.jar
- Place the jar into your BungeeCord plugins folder
- Run BungeeCord
- Edit the generated config to your liking
- Use the reload command /bfreload in the Bungeecord console or in game if you have permissions.
Permissions are to be set via BungeeCord
Example config:
- bungeefilter.reload - allows the player to reload the config
- bungeefilter.bypass - allows the player to bypass the filter checks
- Custom permissions set by you in the config
Thanks to pwnfilter for a few of their regex rulesCode (Text):##########################################
## ##
## Bungee Chat Filter Config ##
## v1.2 ##
##########################################
#Monitor commands - Monitor commands send by the players as chat
Monitor Commands: true
#Commands - The list of commands that the plugin will monitor
Commands:
- msg
- message
- tell
- whisper
- w
- g
- global
- s
- l
- local
- hub
#AntiSpam - Will use the minimum chat delay to force players to wait *1500ms or what ever you specified between messages
AntiSpam: true
#Minimum-Chat-Delay - The time in miliseconds a player must wait between messages
Minimum-Chat-Delay: 1500
#Rules - Groups of rules which monitor the chat
#rules:
# rulename: - the name of the rule
# regex: - the string regex that the rule will check for
# ignores: - If the message contains a value that matches ignore then none of the actions will be performed
# permission: - the permission required to bypass this rule
# actions: - here is the list of actions the rule will perform if matched
# deny: true - this will deny the message and cancel the event
# message: (message) -this will send a message (message) to the player
# kick: (message) - this will kick the player with the (message)
# alert: (message) - this will send a broadcast to the server {player} will be replaced with the players display name
# command: /(command) - this will cause the player to send the (command)
# remove: true - this will remove any matches from the players message
# replace: - this will replace the matched word with a random word from the list below
# - word1
# - word2
# lower: - this will change any matches into lowercase
# pcommand: /(command) - Proxy command, this will cause the player to send the (command) to the proxy server
# scommand: /(command) - Server command this will cause the player to send the (command) to their current server
# ccommand: /(command) - Console command, this will cause the proxy server console to execute the (command).
# Note that there is currently no way to execute a command as the current server console.
rules:
#Filters the word fuck and replaces it with a random word from the list
swearfilter1:
regex: (?i)(f+u+c+k+|f+u+k+|f+v+c+k+|f+u+q+)
actions:
replace:
- fudge
- frack
- funk
- fork
#Filters the list of swear words below and replaces them with a random word from the list. Uses a list as the regex
#The first item has (?i)(cunt to make the generated regex case insensitive. The last item must end with a )
swearfilter2:
regex:
- (?i)(cunt
- whore
- fag
- slut
- queer
- bitch
- bastard
- dick
- gay)
actions:
replace:
- lovely
- sweetie
- sexy
#Filters the word nigger and denys the chat even while kicking the player and alerting the server why the player was kicked
swearfilter3:
regex: "n[^a]gg+(a|er|uh)"
actions:
deny: true
alert: "{player} has been kicked for racism"
kick: "You have been kicked for racism"
#Replaces the word bloodsplat with a coloured word if they have permission for colours and a chat plugin on the server that supports colors.
colorReplace:
regex: "bloodsplat"
actions:
replace:
- "&cBloodsplat"
#Will only work if the player has permission for colors on the servers chat plugin.
#when a player asks for op they will instead say one of the following from the list and be sent a message
askforOP:
regex: "(?i).*give me op.*|.*can i have op.*"
actions:
replace:
- Can you please ban me
- I use xray!
message: '&cPlease don''t ask for OP'
#When the player uses 4 or more letters in a row all in caps lock then the message will be changed to lowercase
CAPSPAM:
regex: (\p{Lu}|\s){4,}
actions:
lower: true
#Removes magic, bold and italics from the players chat when they dont have the bungeefilter.antiformatbypass permission.
AntiFormatText:
regex: '&[k-o]'
permission: bungeefilter.antiformatbypass
actions:
remove: true
message: '&cYou do not have permission to use Format text'
#Removes color from the chat unless the player has the bungeefilter.colorbypass permission
AntiColorText:
regex: "&[0-9 a-f]"
permission: bungeefilter.colorbypass
actions:
remove: true
message: '&cYou do not have permission for colors'
#Replaces all ip adresses and web addresses unless it matches the ignore list regex
AntiAdvertising:
regex: \b\d{1,3}+\p{P}*\d{1,3}+\p{P}*\d{1,3}+\p{P}*\d{1,3}+\b|([\w-\.]+)((?:[\w]+\.)+)([a-zA-Z]{2,4})
ignores: (\w*\.)*(minecraftserver\.com)(/\w*)*|(\w*\.)*(google\.com)(/\w*)*|(\w*\.)*(youtube\.com)(/\w*)*|(puu\.sh)|(\w*)\.png|(\w*)\.jpg
actions:
message: 'Please don''t advertise'
replace:
- minecraftserver.com
#When a player uses the command /hub they will instead cast the command /server hub to the proxy. Denies the command so /hub isnt also sent
CommandShortcut:
regex: /hub
actions:
pcommand: /server hub
deny: true
#When a player uses the command /shop they will instead send a command to the server they are on /warp shop.
CommandShortcut2:
regex: /shop
actions:
scommand: /warp shop
deny: true
#Creates a proxywide broadcast command !bungeefilter.broadcast means the player needs the permission for the check to work
CreateCommand:
regex: /broadcast
permission: "!bungeefilter.broadcast"
actions:
alert: '&5[Broadcast]&a{player}&f:{arguments}'
deny: true
#Shortcut for website URL can use either /url or /website
CreateCommand:
regex: (/url)|(/website)
actions:
message: "&l&6[Check it out]&3 This server's website is &6www.minecraftserver.com"
deny: true
Source:

BungeeChatFilter 1.5
Filters chat and performs actions for all BungeeCord servers based on defined regular expressions
Recent Updates
- BungeeChatFilter 1.5 Dec 17, 2013
- 1.2b6 Nov 11, 2013
- Bungee Chat Filter 1.2 Nov 10, 2013