ChatProtection+
About the plugin
ChatProtection+ was created by me for another server, that was looking for a way to prevent spam bots from spamming their chat, and commands. ChatProtection+ eventually evolved from a simple anti-spam plugin to a more versatile plugin that allows server administrators the amount of capital letters a user is allowed to use in their messages. ChatProtection+ is still a growing plugin, and is open to suggestions!
Features
- Anti-Spam
- AntiCommand-Spam
- Limit Caps
- Ban Spammers
- Clear/Lock your chat
- Configurable from a simple configuration file!
- Message file to change messages to what you want!
How to Use
All you have to do is download the plugin from the "download" button to the right, and place it in you plugins folder. If you want to use permissions, and you do not already have Vault, then you will have to go download Vault and install it as well. The Configuration file will be created when the plugin first starts.
Configuration File
Code (configyml (Unknown Language)):
#
#|-----------------------------------------------------------|
#|-------------------Main plugin options---------------------|
#|-----------------------------------------------------------|
#
# NotifyUser - This will notify the user when they trigger a flag in the plugin.
# NotifyAdmin - Will notify administrators when a user triggers a flag in the plugin.
#
Options:
NotifyUser: true
NotifyAdmin: true
#
#|-----------------------------------------------------------|
#|-------------Toggle Features on and off.-------------------|
#|-----------------------------------------------------------|
#
# AntiCaps - Turn the Anti Capital letters in chat feature off.
# AntiChatSpam - Turn the Anti Chat Spam on and off.
# AntiCommandSpam - Turn the Anti Command Spam on and off.
#
Toggle:
AntiCaps: true
AntiChatSpam: true
AntiCommandSpam: true
#
#|-----------------------------------------------------------|
#|-------Configuration are for the anti-caps system.---------|
#|-----------------------------------------------------------|
#
# AllowedCapitalsPercent - This is the maximum percentage of capital letters allowed in a message.
#
AntiCaps:
AllowedCapitalsPercent: 50
#
#|-----------------------------------------------------------|
#|---------Configuration are for the anti-chat spam.---------|
#|-----------------------------------------------------------|
#
# BanForSpam - Will ban the user for spamming chat. if false, it will kick the user.
# MillisecondsAllowedBetweenMessages - This is the maximum amount of miliseconds allowed between users messages.
# AllowedSpamInfractions - The amount of infractions a user is allowed to have before kicked/banned for spamming chat.
#
AntiChatSpam:
BanForSpam: false
MillisecondsAllowedBetweenMessages: 450
AllowedSpamInfractions: 3
#
#|-----------------------------------------------------------|
#|---------Configuration are for the anti-chat spam.---------|
#|-----------------------------------------------------------|
#
# BanForSpam - Will ban the user for spamming commands. if false, it will kick the user.
# MillisecondsAllowedBetweenCommands - This is the maximum amount of miliseconds allowed between user commands.
# AllowedSpamInfractions - The amount of infractions a user is allowed to have before they are kicked/banned for spamming commands.
#
AntiCommandSpam:
BanForSpam: false
MillisecondsAllowedBetweenCommands: 450
AllowedSpamInfractions: 3
Messages File
Code (messagesproperties (Unknown Language)):
server.prefix=&8[&4CP+&8]&f
server.chat.lock=Chat has been locked by &c{0}&f!
server.chat.unlock=Chat has been un-locked by &c{0}&f!
server.chat.clear=Chat has been cleared by &c{0}&f!
admin.spam.chat=&c{0} &fhas been warned for spamming chat &8[&c{1}&ems&8]
admin.spam.command=&c{0} &fhas been warned for spamming commands &8[&c{1}&ems&8]
spam.ban.chat=&c{0} &fhas been banned for spamming chat!
spam.ban.command=&c{0} &fhas been banned for spamming commands!
spam.kick.chat=&c{0} &fhas been kicked for spamming chat!
spam.kick.commands=&c{0} &fhas been kicked for spamming commands!
user.repeated.message=Please do not repeat yourself!
user.spam.chat=Do not spam the chat &ewarnings&8(&c{0}&f/&c{1}&f&8)
user.spam.command=Do not spam commands &ewarnings&8(&c{0}&f/&c{1}&f&8)
user.caps=&eYour message has been forced to &clowercase&e!
user.ban.chat=You have been IP banned for spaming chat.
user.ban.command=You have been IP banned for spamming commands.
user.kick.chat=You have been kicked for spamming chat!
user.kick.command=You have been kicked for spamming commands!
user.chat.locked=&eThe chat is locked!
Questions and Answers
Q: How does the Anti-Spam exactly work?
A: The Anti-Spam works in two ways. It prevents users/bots from repeating the same message over, and over, and over, but also compares the time of the previous message. If the message delay is too fast and falls within the red zone, the plugin will issue a infraction, and after a set amount of infractions it will either Kick or IP-Ban the spammer.
Q: Are admins notified of spammers when they spam?
A: Yes, if a spammer triggers the Anti-Spam, or AntiCommand-Spam; it will notify all administrators currently online.
Q: Is there permissions support?
A: Yes, there are 2 permission nodes currently. "cpp.admin", and "cpp.ignore"
Q: Is my {name} permissions plugin supported?!
A: This plugin uses Vault. It will support any permissions plugin that Vault does.
Q: I don't want to use Vault!
A: Alright, it is only set as a soft dependency. They plugin will still work without it, rather then use permissions it will resort to if the use is OP, or not.
Q: I WANT THIS FEATURE ADDED!!!!
A: Alright, alright. Calm down now. Please post a suggestion/feature you would like added, and if I feel it will benefit the plugin, and community as a whole I will add it.