This is a plugin that uses Redis to anti-spam messages.
Banned player

A Redis Instance is required!!!
Why Redis?
Redis is a high-performance K-V database software, it has many features like TTL which yield this plugin to work.
How does this plugin work?
If a player sends messages, a value will be appended to the target player's TTL, the default value is calculated by the following statement:
base-value + message_length / message_length_weight + random-number (default: 10 + message_length / 2 + random(5~10))
The TTL will be decreased once per second, If the TTL number is larger than a Specified number (default: 500), then, the player will be handled.
The first handle action default is "kick %player% stop spamming" which could be customized. And the TTL will be reset to zero.
Meanwhile, a cooldown TTL(default: 300(seconds)) will be recorded, If the player still keeps spamming before the cooldown TTL drop to zero, this player will be handled by the final action.
The second handle action default is "ban %player% spam"
What's more?
If a player is keeping sending duplicate messages, an extra TTL (default: 20) will be appended.
Commands:
Reload config file: /aas reload
Permissions:
Bypass: ass.bypass
Reload Config File: ass.admin
Config File:
version: 1 # version
redis-address: "localhost" # Redis address
redis-prefix: "antispam" # Redis prefix
redis-port: 6379 # Redis port
message-length-weight: 2 # The weight of message(lower is more sensitive)
message-bias: 10 # base ttl for each message(higher is more sensitive)
tolerable-ttl: 500 # TTL limitation(lower is more sensitive)
duplicate-bias: 20 # extra TTL for duplicate message(higher is more sensitive)
random-from: 5 # The random number from(higher is more sensitive)
random-to: 10 # The random number to(higher is more sensitive)
first-time-cooldown: 300 # The seconds for cooldown(lower is more sensitive)
first-time-action: "kick %player% stop spamming" # first action
final-action: "ban %player% spam # final action
This plugin will only limit how often players send messages, it won't filter the content of the message.
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta