When one player is spamming chat, blaring their mic or pasting slurs on repeat, you want to silence that player without kicking them and without punishing everyone. That is what a gag does: it blocks a specific client's chat and/or voice while leaving them in the game. The command most admins reach for is amx_gag — but there is an important detail people miss, which is that it is not part of stock AMX Mod X.
1. amx_gag comes from a plugin
A default AMX Mod X install does not ship an amx_gag command. It is provided by a separate gag/mute plugin that you install into addons/amxmodx/plugins/ and add to plugins.ini. There are several popular implementations, and their exact flag letters differ, so the syntax below is the common shape — always confirm against the header of the specific .sma you deploy. Our maintained implementation is CSB Gag, which documents its own flags.
2. The command syntax
Most gag plugins follow this form:
amx_gag <target> <flags> [time in minutes]
The target is a name fragment or #userid. The flags select what to block, typically:
a— block public chat (say).b— block team chat (say_team).c— block voice communication.
An optional time argument sets an automatic expiry in minutes; omit it (or pass 0) for a gag that lasts until the map changes or you lift it. For example, silencing a spammer's public and team chat for ten minutes:
amx_gag Spammer ab 10
To also cut their microphone, add the voice flag:
amx_gag Spammer abc 10
3. How voice muting actually works
Text chat is easy to block — the plugin intercepts the say/say_team command and drops it before it reaches anyone. Voice is different: the engine relays voice packets between clients, so a server-side voice gag works by blocking the voice message going out from the gagged player to everyone else. This is why the voice flag depends on the plugin actually implementing that message hook; a chat-only gag plugin cannot mute a mic no matter what flag you pass. If your gag silences text but not voice, the plugin simply does not support voice muting, and the only alternative is for each player to mute the offender client-side through the scoreboard — which does not scale when it is the whole server being blasted.
4. Lifting a gag
Gag plugins pair the gag command with an ungag:
amx_ungag <target>
A timed gag lifts itself when the timer expires; an untimed gag persists until you ungag the player or the map changes (most implementations clear gags on map change since the player list resets). If you need a gag to survive reconnects and map changes, you need a plugin that stores gags against SteamID rather than the temporary player slot — check whether yours does.
5. Gag versus kick versus ban
Gag is the proportionate tool for a chat/voice problem. Reserve harder measures for behaviour that gagging cannot fix: use kick for someone who needs to cool off and reconnect, and ban for someone who should not come back. A recurring spammer who evades timed gags is a ban candidate. For automated defence against chat flooding rather than targeted muting, layer an anti-flood plugin underneath so you are not gagging by hand all night.
Common errors
Unknown command: amx_gag— the gag plugin is not installed or not loaded. Add it toplugins.ini, change the map, and confirm withamxx plugins.- Text is blocked but the mic still works — your gag plugin does not implement voice muting, or you did not pass the voice flag. Check the plugin's supported flags.
- Gag disappears when the player reconnects — the plugin tracks gags by slot, not SteamID. Use a persistent gag plugin for evaders.
- Access denied — gagging usually requires a chat/slay access flag; the acting admin lacks it. Grant the flag the plugin requires in users.ini.
Verification
Gag a test client and confirm the effect matches the flags: with ab their say and say_team messages should no longer appear to anyone; with c their voice should be silent to other players. Run amx_ungag and verify chat returns. If the gag plugin exposes a list command, use it to see who is currently gagged and for how long, so a timed gag does not quietly outlive the situation that caused it.









