Anti-Flood and Anti-Spam Chat Settings

June 4, 2026 Daemon666 8 min read 11 views

Chat flooding — the same player pasting a line of text on a bind, over and over, until the chat is unreadable — is one of the most common nuisances on a public CS 1.6 server. AMX Mod X has built-in flood control that handles the ordinary case with a single cvar, and there are a couple of engine settings that curb the related spam of sprays and decals. Here is how to tune all of it, and where the built-in limits stop being enough.

1. The built-in flood control

A default AMX Mod X install loads antiflood.amxx, which throttles how fast a single client can send chat messages. It is controlled by one cvar in amxx.cfg:

amx_flood_time 0.75

This is the minimum number of seconds that must pass between one player's chat messages. Send messages faster than that and the plugin blocks the excess and warns the player. The trade-off is direct: lower the value and more spam gets through; raise it too far and legitimate rapid chat during a firefight gets swallowed. 0.75 is a sensible balance for most public servers; a heavily trafficked server prone to spam might go to 1.0.

2. Confirm the plugin is actually loaded

The cvar does nothing if the plugin behind it is disabled. Check:

amxx plugins

Look for antiflood.amxx reading running. If it is commented out in plugins.ini, amx_flood_time is inert no matter what you set it to. Re-enable the line and change the map.

3. Curb spray and decal spam

Spray flooding is separate from chat and is handled by an engine cvar, not AMXX. decalfrequency sets the minimum seconds between a player's sprays:

decalfrequency 30

The default is low enough that a determined player can wallpaper a wall. Raising it to 30 or 60 forces a cooldown between sprays. Put this in server.cfg alongside your other core cvars.

4. Voice and command spam

Chat is only one channel. A player can also spam:

  • Voice — a screaming mic is not chat flood and amx_flood_time does nothing to it. Silence it with a voice gag.
  • Commands and menus — rapid-fire menu opening or command binds. The built-in flood control targets say/say_team, not arbitrary client commands, so command spam needs a plugin that rate-limits those specifically.

Recognising which channel is being abused tells you which tool to reach for — the chat cvar only fixes chat. A player who has been chat-limited will often just switch to spamming their microphone or opening a menu on a bind, so keep the whole picture in mind rather than assuming amx_flood_time covers every kind of spam.

5. When to move to a dedicated plugin

The stock amx_flood_time is a single blunt threshold. If your server attracts persistent spammers, a dedicated anti-flood plugin gives you finer control: per-message repeat detection (blocking the same line pasted twice), escalating penalties, separate limits for chat versus team-chat, and automatic gagging of repeat offenders so you are not moderating by hand. That is the point where you graduate from a cvar to a plugin. For individual offenders who ignore the automatic limits, fall back to a manual gag or, ultimately, a kick.

Common errors

  • amx_flood_time has no effectantiflood.amxx is not loaded. Confirm with amxx plugins and re-enable it in plugins.ini.
  • Normal fast chat gets blocked — the value is too high. Lower it toward 0.50.75.
  • Spam still gets through — the offender is pasting slower than the threshold, or is spamming voice/commands rather than say. Match the tool to the channel; consider a plugin with repeat-line detection.
  • Sprays still spam despite the settingdecalfrequency was set but the config that holds it is not executing, or a plugin overrides it later. Confirm the value in the console.
  • Setting reverts after a map change — a per-map config or a plugin re-sets the cvar after amxx.cfg. Trace the execution order.

Verification

Read the cvars back in the console to confirm they took:

amx_flood_time
decalfrequency

Then test the behaviour directly: bind a key to spam say test and confirm messages sent faster than amx_flood_time are blocked with a warning. Spray twice in quick succession and confirm the second is refused until decalfrequency elapses. If the limits hold but a specific player keeps finding ways around them, move to a dedicated anti-flood plugin with repeat detection and automatic penalties.

Contributors: Daemon666 ✦
Share: