Chat Guard

This plugin protects your server from flood, spam, caps and swearwords in chat, commands and signs. You can configure list of swearwords, punishments and the number of warnings after which the player will be punished.
Features
- Flood prevention
- Caps prevention
- Swearword prevention
- Advetisment prevention
- Informing admins/moders about violations
- Chat cleaning
- Global mute
- Any punishment that you can do with commands
- Player get warnings
- Removing disallowed characters
- Checking for updates (Can be disabled in the config)
- Removes spam from items
Video tutorial
Waiting for tutorial with new version. Contact me if you did :)
Commands
[] - required, () - optional
/chatguard - copyright and version
/chatguard ban [WORD] - Add new banned [WORD]
/chatguard unban [WORD] - Remove banned [WORD]
/chatguard whitelist [WORD] - Do not mark [WORD] as advertisment or swearing
/chatguard cc (ALL|Player) - Clear your (or everyone's/Player's)
/chatguard info (Player) - Show your warnings or (Player)'s
/chatguard globalmute - Toggle globalmute
/chatguard warn [Player] [Type] - Warn [Player]
/chatguard mute [Player] ([Time] (Reason)) - mute player(time format - 1s, 1m, 1h, 1d, default - seconds)
/chatguard unmute [Player] - unmute player
/chatguard clear (Type) (Player) - Clear some warnings
/chatguard help - Show help page
/chatguard reload - Reload plugin configurations
Permissions
| Permission | Description |
|---|---|
| chatguard.* | Full Access! |
| chatguard.banword | add new swearwords |
| chatguard.unbanword | and remove swearwords |
| chatguard.warn | access to /cg warn command |
| chatguard.mute | ability to mute players |
| chatguard.unmute | and unmute players |
| chatguard.whitelist | access to /cg whitelist command |
| chatguard.clearwarnings | access to /cg clear command |
| chatguard.info | access to /cg list command |
| chatguard.info.others | watch information about other players |
| chatguard.inform.[flood,spam,swear,caps] | for receiving alerts about violations |
| chatguard.clearchat | access to /cg cc commad |
| chatguard.clearchat.all | ability to clear chats of all players |
| chatguard.clearchat.others | access to cleaning another's chat |
| chatguard.globalmute | access to /cg globalmute command |
| chatguard.reload | access to /cg reload command |
| chatguard.ignore.* | ignore all protections |
| chatguard.ignore.[flood,spam,swear,caps,characters] | ignore [flood,spam,swear,caps] protection |
| chatguard.ignore.globalmute | ignore global mute |
| chatguard.ignore.cooldown | ignore cooldown |
| chatguard.ignore.cc | ignore /cg cc ALL |
Metrics and Updater
This plugin utilises Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:
A unique identifier
- The server's version of Java
- Whether the server is in offline or online mode
- The plugin's version
- The server's version and core
- The OS version/name and architecture
- The core count for the CPU
- The number of players online
- The Metrics version
- The server's location
- Enabled filters
Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true. Also plugin checks for updates, that you can change by editing plugins/ChatGuard/config.yml
-
View User Profile
-
Send Message
Posted Apr 6, 2014@IcePaw1230
I can record in Russian, if you want.
-
View User Profile
-
Send Message
Posted Apr 5, 2014Um why is tutorial vid in spanish? lol
-
View User Profile
-
Send Message
Posted Apr 3, 2014@lunarixx
Add to whitelist
-
View User Profile
-
Send Message
Posted Apr 3, 2014Could you fix a minor bug?
Whenever someone says Welcome, it counts as Advertising, as the domain brackets have .Com in them which the word "Welcome" contains. Is it possible to fix that, cause i don't want to remove the .com from the line.
-
View User Profile
-
Send Message
Posted Mar 31, 2014I love this plugin; it keeps the players from starting flame wars in the chat.
-
View User Profile
-
Send Message
Posted Mar 23, 2014I have a lot of servers running your plugin, so any change needs to be configured on all of it, then with sql it don't.
-
View User Profile
-
Send Message
Posted Mar 23, 2014@zekigames08
I can't understand what you want with sql
-
View User Profile
-
Send Message
Posted Mar 23, 2014@Den_Abr
is that I have 90 servers..
please add sql :(
-
View User Profile
-
Send Message
Posted Mar 22, 2014@zekigames08
Why?
-
View User Profile
-
Send Message
Posted Mar 22, 2014Please add SQL !!!!!
:)
-
View User Profile
-
Send Message
Posted Mar 16, 2014@Fabyold
Remove patterns section in config
-
View User Profile
-
Send Message
Posted Mar 15, 2014Error: 15.03 11:06:12 [Multicraft] Skipped 64 lines due to rate limit (30/s) 15.03 11:06:12 [Server] INFO at net.minecraft.util.io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 15.03 11:06:12 [Server] INFO at net.minecraft.util.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:173) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 15.03 11:06:12 [Server] INFO at net.minecraft.util.io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 15.03 11:06:12 [Server] INFO at net.minecraft.util.io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 15.03 11:06:12 [Server] INFO at net.minecraft.util.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:131) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 15.03 11:06:12 [Server] INFO at net.minecraft.util.io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:232) [craftbukkit-1.7.2.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 15.03 11:06:12 [Server] INFO at com.comphenix.protocol.injector.netty.ChannelInjector.decode(ChannelInjector.java:303) [ProtocolLib.jar:?] 15.03 11:06:12 [Server] INFO at com.comphenix.protocol.injector.netty.NettyProtocolInjector.onPacketReceiving(NettyProtocolInjector.java:260) [ProtocolLib.jar:?] 15.03 11:06:12 [Server] INFO at com.comphenix.protocol.injector.netty.NettyProtocolInjector.packetReceived(NettyProtocolInjector.java:300) [ProtocolLib.jar:?] 15.03 11:06:12 [Server] INFO at com.comphenix.protocol.injector.PacketFilterManager.invokePacketRecieving(PacketFilterManager.java:566) [ProtocolLib.jar:?] 15.03 11:06:12 [Server] INFO at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:599) [ProtocolLib.jar:?] 15.03 11:06:12 [Server] INFO at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketRecieving(SortedPacketListenerList.java:67) [ProtocolLib.jar:?] 15.03 11:06:12 [Server] INFO at com.comphenix.protocol.injector.SortedPacketListenerList.invokeReceivingListener(SortedPacketListenerList.java:114) [ProtocolLib.jar:?] 15.03 11:06:12 [Server] INFO at ru.Den_Abr.ChatGuard.Handlers.PacketHandler$1.onPacketReceiving(PacketHandler.java:40) [ChatGuard.jar:?] 15.03 11:06:12 [Server] INFO at ru.Den_Abr.ChatGuard.Handlers.ChatHandler.onChat(ChatHandler.java:54) [ChatGuard.jar:?] 15.03 11:06:12 [Server] INFO at ru.Den_Abr.ChatGuard.Workers.Checkers.checkAdvert(Checkers.java:104) [ChatGuard.jar:?] 15.03 11:06:12 [Server] INFO at java.util.regex.Pattern.compile(Pattern.java:1022) [?:1.7.0_45] 15.03 11:06:12 [Server] INFO at java.util.regex.Pattern.<init>(Pattern.java:1337) [?:1.7.0_45] 15.03 11:06:12 [Server] INFO at java.util.regex.Pattern.compile(Pattern.java:1665) [?:1.7.0_45] 15.03 11:06:12 [Server] INFO at java.util.regex.Pattern.expr(Pattern.java:1964) [?:1.7.0_45] 15.03 11:06:12 [Server] INFO at java.util.regex.Pattern.sequence(Pattern.java:2018) [?:1.7.0_45] 15.03 11:06:12 [Server] INFO at java.util.regex.Pattern.group0(Pattern.java:2854) [?:1.7.0_45] 15.03 11:06:12 [Server] INFO at java.util.regex.Pattern.expr(Pattern.java:1964) [?:1.7.0_45] 15.03 11:06:12 [Server] INFO at java.util.regex.Pattern.sequence(Pattern.java:2090) [?:1.7.0_45] 15.03 11:06:12 [Server] INFO at java.util.regex.Pattern.error(Pattern.java:1924) [?:1.7.0_45] 15.03 11:06:12 [Server] INFO ^ 15.03 11:06:12 [Server] INFO ([0-9a-z_?-?]{2,}\.)+(ru|com|org|ua|su|tv|net|biz|info|name|mobi|kz|by|lv|eu|tk|??m)(:\d*)? 15.03 11:06:12 [Server] INFO java.util.regex.PatternSyntaxException: Dangling meta character '?' near index 80 15.03 11:06:12 [Server] ERROR Unhandled exception occured in onPacketReceiving(PacketEvent) for ChatGuard
-
View User Profile
-
Send Message
Posted Mar 11, 2014@BlackFing85
Pluging works only with installed protocollib.
-
View User Profile
-
Send Message
Posted Mar 11, 2014Nothing worked for me when I tried the plugin.
-
View User Profile
-
Send Message
Posted Mar 9, 2014@tanjx
Ok, It will not check for prohibitions of other plugins. New version waits for approval.
-
View User Profile
-
Send Message
Posted Mar 9, 2014this plugin will break other plugins by executing commands asynchronously - PlayerCommandPreprocessEvent is not an async event and plugins that rely on this may break
please open this:
http://dev.bukkit.org/bukkit-plugins/skript/tickets/330-error-when-teleporting/
-
View User Profile
-
Send Message
Posted Mar 3, 2014ok perfect thanks for your help.
And as i always say you do a great job with this plugin
-
View User Profile
-
Send Message
Posted Mar 3, 2014@MonnierAnt
Whitelist uses also regexp and you can add only main part of word(eg. construct, contain, etc.)
-
View User Profile
-
Send Message
Posted Mar 3, 2014But there is a lot of word in french that have the three letters i think in fact that the swear list check full word and not part of word.
Maybe if you could implement a boolean in config to change between the two mode by complete word or by part.
-
View User Profile
-
Send Message
Posted Mar 2, 2014@MonnierAnt
For this occasions created Whitelist