FloodCheck SourceMod plugin (2009/03)
This SourceMod addon, (made for CS:S, but might work with other mods)
provides chat and command flood protection, especially useful for ma_timeleft/nextmap/etc. spammers, as it will kick those instantly.
Chat- and radio-flooders will get the message "No spam!" and be blocked for a certain amount of time.
Players flooding the server using a flooding-script such as with ma_timeleft, will be kicked instantly, and temporarily banned
on the second flooding attempt. The plugin integrates very smoothly with the game, as it also takes care of chat and radio deadtimes
(0.75 and 1.5 seconds respectively) that are imposed by the engine itself.
|

CS:S chat flooding
|
For example: If a player executes a radio command twice within 1.5 seconds, it will only be counted once towards flooding,
as the second command would be blocked by the game anyway. The same is true for chat messages, only with an interval half as long.
The plugin exposes the native "IsClientFlooding" which can be used by other plugins to ignore chat commands while a player is flooding.
The plugin also blocks alot of dangerous console commands, some of which are capable of crashing the server in certain situations.
It prevents the server crashes caused by people sending many incorrect rcon passwords, as well as people using certain programs to make
the server crash when they connect. Control characters, such as line breaks, CS:S color codes, are taken care of as well.
Players having such characters in their name will not be allowed to connect, and chat messages containing these characters will be blocked.
Changes in v1.1: (2009/04)
- Improved spam-detection algorithm
- Radio messages are now included in the calculation and are blocked as well
Changes in v1.2: (2009/05)
- Fixed bug in .inc file that caused malfunctions in dependent plugins when unloading floodcheck
Changes in v1.3: (2009/07)
- Further improved the spam-detection algorithm
- Command-flooders can now automatically be banned on the second try
- Added ConVar to set or disable the temporary banning time
- Almost all possible client commands are now included in the check for flooding
Changes in v1.35: (2009/08)
- ConVar limits and defaults modified to more suitable values
- Changed some ConVar descriptions to be more accurate
- Chat messages now included in hard-flood detection (chat triggers count twice)
- Now marks some known, lag-causing server commands as cheat
Changes in v1.4: (2009/08)
- Added support for TF2 and DOD:S radio commands
- Added more commands to be marked as cheat (includes dump_entity_sizes)
- Game detection now done by mod-dir instead of game description
Changes in v1.54: (2009/12)
- Added ConVar to exclude SourceMod chat triggers from spam detection
- physics_budget (causes all physics props to freeze) now blocked
- Added protection against Rcon crash exploit (Bad Password...)
- Blocks some more crash causing commands (prevents the half-connected crashes)
- Now checks names and chat messages for unprintable chars (color codes, line breaks, etc.)
- Zero-length names are also detected (Players appearing as "unconnected")
- My servers have been running with this nonstop - without crash - for over a month now
Configuration ConVars:
forlix_floodcheck_chat_interval
- Minimum average interval in seconds between a players chat- and radio-messages (0 to disable)
forlix_floodcheck_chat_num
- Player is considered spamming after undershooting <forlix_floodcheck_chat_interval> this many times
forlix_floodcheck_hard_interval
- Time in seconds in which <forlix_floodcheck_hard_num> commands are allowed (0 to disable)
forlix_floodcheck_hard_num
- Maximum number of client commands allowed in <forlix_floodcheck_hard_interval> seconds
forlix_floodcheck_hard_ban_time
- Number of minutes a client is banned for when hard-flooding twice in a row (0 to disable)
forlix_floodcheck_exclude_chat_triggers
- Excludes (1) or includes (0) SourceMod chat triggers in the chat flood detection
forlix_floodcheck_version
- Version tracking (don't modify this)
-
Servers running this plugin (Game-Monitor.com)
The plugin file (.smx) goes into "mod_dir/addons/sourcemod/plugins".
|