Communication Commands
Commands for managing player communication (voice and text chat).
Overview
CS2-SimpleAdmin provides three types of communication restrictions:
- Gag - Blocks text chat only
- Mute - Blocks voice chat only
- Silence - Blocks both text and voice chat
Gag Commands
Gag Player
Prevent a player from using text chat.
css_gag <#userid or name> [time in minutes/0 perm] [reason]
Permission: @css/chat
Examples:
css_gag #123 30 "Chat spam"
css_gag PlayerName 1440 "Advertising"
css_gag @all 5 "Everyone quiet for 5 minutes"
Add Gag (Offline Player)
Gag a player by SteamID even if they're offline.
css_addgag <steamid> [time in minutes/0 perm] [reason]
Permission: @css/chat
Examples:
css_addgag 76561198012345678 60 "Chat abuse"
css_addgag STEAM_1:0:12345678 1440 "Spam"
Ungag Player
Remove a gag from a player.
css_ungag <steamid or name> [reason]
Permission: @css/chat
Examples:
css_ungag PlayerName "Appeal accepted"
css_ungag 76561198012345678 "Mistake"
Mute Commands
Mute Player
Prevent a player from using voice chat.
css_mute <#userid or name> [time in minutes/0 perm] [reason]
Permission: @css/chat
Examples:
css_mute #123 30 "Mic spam"
css_mute PlayerName 60 "Loud music"
css_mute @t 5 "T team timeout"
Add Mute (Offline Player)
Mute a player by SteamID even if they're offline.
css_addmute <steamid> [time in minutes/0 perm] [reason]
Permission: @css/chat
Examples:
css_addmute 76561198012345678 120 "Voice abuse"
css_addmute STEAM_1:0:12345678 1440 "Mic spam"
Unmute Player
Remove a mute from a player.
css_unmute <steamid or name> [reason]
Permission: @css/chat
Examples:
css_unmute PlayerName "Behavior improved"
css_unmute 76561198012345678 "Time served"
Silence Commands
Silence Player
Block both text and voice chat from a player.
css_silence <#userid or name> [time in minutes/0 perm] [reason]
Permission: @css/chat
Examples:
css_silence #123 60 "Complete communication ban"
css_silence PlayerName 1440 "Severe abuse"
Add Silence (Offline Player)
Silence a player by SteamID even if they're offline.
css_addsilence <steamid> [time in minutes/0 perm] [reason]
Permission: @css/chat
Examples:
css_addsilence 76561198012345678 120 "Total communication ban"
css_addsilence STEAM_1:0:12345678 0 "Permanent silence"
Unsilence Player
Remove a silence from a player.
css_unsilence <steamid or name> [reason]
Permission: @css/chat
Examples:
css_unsilence PlayerName "Punishment complete"
css_unsilence 76561198012345678 "Appeal granted"
Permission Requirements
All communication commands require the @css/chat permission.
| Command | Action | Offline Support |
|---|---|---|
css_gag | Block text chat | No |
css_addgag | Block text chat | Yes |
css_ungag | Remove text block | Yes |
css_mute | Block voice chat | No |
css_addmute | Block voice chat | Yes |
css_unmute | Remove voice block | Yes |
css_silence | Block both | No |
css_addsilence | Block both | Yes |
css_unsilence | Remove both blocks | Yes |
Communication Penalty Types
When to Use Each Type
Gag (Text Only):
- Chat spam
- Advertising in chat
- Offensive messages
- Spectator camera abuse messages
Mute (Voice Only):
- Mic spam
- Loud music/noise
- Voice abuse
- Excessive talking
Silence (Both):
- Severe abuse cases
- Players who switch between chat and voice to evade
- Complete communication bans
Configuration Options
UserMessage Gag Type
In CS2-SimpleAdmin.json:
"UserMessageGagChatType": false
Options:
false- Standard gag implementation (default)true- Alternative gag using UserMessage system
Note: Try switching this if gag commands don't work as expected.
Notify Penalties on Connect
"NotifyPenaltiesToAdminOnConnect": true
When enabled, admins see active communication penalties when they join:
[CS2-SimpleAdmin] PlayerName is gagged (30 minutes remaining)
[CS2-SimpleAdmin] PlayerName is muted (1 hour remaining)
Checking Penalties
View Own Penalties
Players can check their own communication penalties:
css_penalties
css_mypenalties
css_comms
Shows:
- Active gags, mutes, and silences
- Duration remaining
- Reason for penalty
- Admin who issued it
Admin View of Penalties
Use the admin menu or player info command:
css_who <#userid or name>
Shows complete penalty history including communication restrictions.
Time Durations
Common duration values:
| Duration | Minutes | Use Case |
|---|---|---|
| 1 minute | 1 | Quick warning |
| 5 minutes | 5 | Minor spam |
| 15 minutes | 15 | Standard timeout |
| 30 minutes | 30 | Repeated offense |
| 1 hour | 60 | Moderate abuse |
| 6 hours | 360 | Serious abuse |
| 1 day | 1440 | Severe abuse |
| 1 week | 10080 | Extreme cases |
| Permanent | 0 | Reserved for worst cases |
Player Targeting
All communication commands support advanced targeting:
@all- Target all players@ct- Target all Counter-Terrorists@t- Target all Terrorists@spec- Target all spectators#123- Target by useridPlayerName- Target by name
Examples:
css_gag @all 1 "Quiet for one minute"
css_mute @t 5 "T team voice timeout"
css_silence @ct 10 "CT team complete silence"
Best Practices
Communication Management
- Start with warnings - Not all chat issues need immediate gag
- Use appropriate durations - Match severity to punishment
- Provide reasons - Helps players understand what they did wrong
- Consider silence carefully - Complete communication ban is harsh
Gag vs Mute vs Silence
Progressive Approach:
- Verbal warning
- Gag or mute (specific to offense)
- Longer gag/mute for repeat offense
- Silence for continued abuse
- Temporary ban for extreme cases
Documentation
- Always provide reasons - Required for appeals
- Be specific - "Mic spam" not just "abuse"
- Keep records - Use admin logs for repeat offenders
Discord Integration
Communication penalties can send Discord notifications when configured:
"DiscordPenaltyGagSettings": [...],
"DiscordPenaltyMuteSettings": [...],
"DiscordPenaltySilenceSettings": [...]
Notifications include:
- Player name and SteamID
- Penalty type and duration
- Reason provided
- Admin who issued it
Troubleshooting
Gag doesn't work
Try:
- Switch
UserMessageGagChatTypein config - Ensure player is actually gagged (check with
css_who) - Check for conflicting plugins
Mute doesn't block voice
Check:
- Is sv_talk_enemy_dead configured correctly?
- Are there voice management plugins conflicting?
- Check server console for errors
Penalties not persistent across maps
Solution:
- Penalties should persist automatically
- Check database connection
- Verify MultiServerMode if using multiple servers
Player can't see their penalties
Check:
- Command aliases in Commands.json
- Ensure
css_penaltiesis enabled - Check player chat permissions
Related Commands
- Ban Commands - For more serious offenses
- Player Commands - Kick, team switch
- Base Commands - Admin management