Text
Config path: checks.chat.text
Permission (bypass): nocheatplus.checks.chat.text
Exemption: CHAT_TEXT
Advanced check designed to prevent chat spam and floodding.
allowvlreset
TODO:
Frequency
This check is split in two in order to cover both faster and slower types of chat spamming.
Normal
First module of the Text.frequency check: the "text.frequency.normal" check keeps track of the server chat activity for about 30 seconds. Meant to prevent slower types (more annoying) of chat spam.
minimum
Each message sent by the player will at least count in with this weight. (0.0 means not every message will have a weight)
factor
How strong old chat messages should count in, 1.0 would let the check count in fully.
weight
Multiplier to balance out things, the calculated score will just be multiplied with this.
level
Accumulated score for which to generate a violation for.
Shortterm
Second module of the Text.frequency check: the "text.frequency.shortterm" check covers 5 seconds of chat activity, roughly. Meant to protect the server from obvious spam-bots and/or players intentionally flodding the chat
minimum
Each message sent by the player will at least count in with this weight. (0.0 means not every message will have a weight)
factor
How strong old chat messages should count in, 1.0 would let the check count in fully.
weight
Multiplier to balance out things, the calculated score will just be multiplied with this.
level
Accumulated score for which to generate a violation for.
Message
This section allows you to alter the weights of specific messages
lettercount
Counting the letters versus the word length. Unbalanced counts would be more expensive.
partition
TODO:
uppercase
A message with many caps letter will cost more
afterjoin
Chatting immediately after join will cost more
nomoving
Chatting and not having moved recently is also more expensive.
repeatviolation
Repeating a message which has been previously deleted and/or flagged by the Text check will cost more
repeatglobal
Repeating a message that is getting repeated a lot in chat by other players is expensive
repeatself
A player repeating the same message they just sent will cost more.
words lengthav
Word length vs. average word length weight, really long words will count in more
words lengthmsg
Word length vs. message length weight
words noletter
Weight for words that don't contain any letter, only special characters. Will make countdowns harder to get by. Set to 0.0 to disable.
Global
Text.Global: uses more extended and advanced methods that are fed by all players messages.
weight
Multiplier to allow balancing the score result of this check. 1.0 = no change
words
Keeps track of recently spoken words as a whole.
prefixes active
Keeps track of recently spoken words, but arranges them to also count in if prefixes of a word are repeated/detected, such as "hello" and "helloccc". Words that just have been used are more "expensive" than old ones.
similarity active
Checks words for similarities with the Levenshtein algorithm applied within a metric tree. (most heavy operation, performance-wise)
Player
Text.Player: uses more extended and advanced methods that keep track of each player individually.
words active
Keeps track of recently spoken words as a whole.
prefixes active
Keeps track of recently spoken words, but arranges them to also count in if prefixes of a word are repeated/detected, such as "hello" and "helloccc". Words that just have been used are more "expensive" than old ones.
similarity active
Keeps track of recently spoken words and assigns a higher score with recently spoken words being repeated similarly.
Related
Last updated