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.
- 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
- 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
- bungeefilter.reload - allows the player to reload the config (/bfreload)
- bungeefilter.bypass - allows the player to bypass the filter checks
- bungeefilter.bypass.spam - allows the player to spam messages
- bungeefilter.bypass.repeat - allows the player to repeat messages
- Custom permissions set by you in the config
Code (Text):
##########################################
## ##
## Bungee Chat Filter Config ##
## v1.7 ##
##########################################
#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
- m
- tell
- whisper
- w
- g
- global
- s
- l
- local
- url
- website
- hub
- shop
- broadcast
#AntiSpam - Will use the minimum chat delay to force players to wait *1500ms or what ever you specified between messages
AntiSpam: true
AntiRepeat: true
#Minimum-Chat-Delay - The time in miliseconds a player must wait between messages
Minimum-Chat-Delay: 1500
Minimum-Repeat-Delay: 60000
#Messages sent to the player in chat when they are blocked by AntiSpam or AntiRepeat
AntiSpamMessage: &cPlease do not spam
AntiRepeatMessage: &cPlease do not spam
#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. (Supports Placeholders, see below)
# kick: <message> - this will kick the player with the <message>. (Supports Placeholders, see below)
# alert: <message> - this will send the <message> to all players connected to the proxy server. (Supports Placeholders, see below)
# remove: true - this will remove any matches from the player's message.
# replace: - this will replace the matched word with a random word from the list below. (Supports Placeholders, see below)
# - word1
# - word2
# lower: true - this will change any matches into lowercase.
# pcommand: (command) - Proxy command, this will cause the player to send the (command) to the proxy server. Do not include a /. (Supports Placeholders, see below)
# scommand: /(command) - Server command this will cause the player to send the (command) to their current server. You must include a /. (Supports Placeholders, see below)
# ccommand: (command) - Console command, this will cause the proxy server console to execute the (command). Do not include a /. (Supports Placeholders, see below)
# Note that there is currently no way to execute a command as the current server console.
#Placeholders - These placeholders can be used in any action strings.
#
# {player} - Replaced with the display name of the player sending the message
# {message} - Replaced with the original message as sent by the player
# {arguments} - Intended for use with commands, this will be replaced by all of the arguments following the first word of the player's message.
# (for example a player sending "/send Zedwick Hello!" will return "Zedwick Hello!" in place of {arguments})
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'
#Assumes all IP addresses are advertising and all URLs that do not include this server's name are advertising
AntiAdvertising:
regex: (^.*([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*$)|(^.*((mc|play)\.(.*)\.(com|net))|((.+)\.(.*(mine|craft).*)\.(com|net)).*$)
ignores: (^.*minecraftserver.*$) |(^.*minecraftserver2.*$)
actions:
kick: '&cNo advertising other servers.'
deny: true
#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
CreateCommand2:
regex: (/url)|(/website)
actions:
message: "&l&6[Check it out]&3 This server's website is &6www.minecraftserver.com"
deny: true
Bungee Chat Filter originally by Bloodspat who discontinued work on it in 2013, I have decided to take on maintaining it as I actively use it on my own server. Reporting issues and suggested features are welcome, as are contributors, over on Github.
Thanks to pwnfilter for a few of their regex rules
Source: https://github.com/zedwick/BungeeChatFilter
Issues: https://github.com/zedwick/BungeeChatFilter/issues
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.8, 1.9, 1.10
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
BungeeChatFilter is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.9, 1.10, 1.11 and newer. Downloaded 1,494 times (via Spigot). Download it and open it directly in the game.