- Works With
Standard server mutes are obvious to the player being muted, they see an error message or notice nobody responds. Shadow Mute takes a different approach: muted players can still send messages, but only other shadow-muted players can see them. From the muted player's perspective, everything looks normal.
This is useful for dealing with toxic players or spammers without alerting them to the mute, reducing the chance of ban evasion or escalation. Admins can shadow mute players via chat or console commands, and the plugin works with both native Rust chat and Better Chat.
Shadow-muted players can still see and respond to each other's messages. Non-muted players see nothing from shadow-muted players at all.
The base chat command is configurable via the
Parameters:
Parameters:
Parameters:
Returns: A
This is useful for dealing with toxic players or spammers without alerting them to the mute, reducing the chance of ban evasion or escalation. Admins can shadow mute players via chat or console commands, and the plugin works with both native Rust chat and Better Chat.
Shadow-muted players can still see and respond to each other's messages. Non-muted players see nothing from shadow-muted players at all.
Features
- Muted players see no indication they've been muted, messages appear to send normally
- Shadow-muted players can only see messages from other shadow-muted players
- Works with both native Rust chat and Better Chat
- Optional restriction to global chat only, leaving team, clan, and local chat unaffected
- Shadow-muted messages can be logged to the server console for admin review
- Optional Better Chat group sync to visually tag shadow-muted players
- Full chat and console command support for managing muted players
- API methods for other plugins to check, add, and remove shadow mutes
Permissions
shadowmute.admin-- Grants access to all shadow mute commands (chat and console)
Commands
Chat Commands
The base chat command is configurable via the
Chat Command config setting. Default is /shadowmute./{command} add <name|steamid>-- Shadow mute a player/{command} remove <name|steamid>-- Remove a player's shadow mute/{command} list-- List all currently shadow-muted players/{command} check <name|steamid>-- Check whether a specific player is shadow muted
Console Commands
shadowmute add <name|steamid>-- Shadow mute a playershadowmute remove <name|steamid>-- Remove a player's shadow muteshadowmute list-- List all currently shadow-muted playersshadowmute check <name|steamid>-- Check whether a specific player is shadow muted
shadowmute.admin permission is required.Configuration
JSON:
{
"Chat Command": "shadowmute",
"Log Shadow Muted Messages To Server Console": true,
"Only Apply Shadow Mute To Global Chat (team, clan, and local chat remain unaffected)": true,
"Add Shadow Muted Players To A BetterChat Group (requires BetterChat)": false,
"BetterChat Group Name": "shadowmuted"
}
Chat Command-- The chat command used to manage shadow mutesLog Shadow Muted Messages To Server Console-- Whentrue, messages sent by shadow-muted players are logged to the server console so admins can still review what they're sayingOnly Apply Shadow Mute To Global Chat-- Whentrue, shadow muting only affects global chat. Team, clan, and local chat messages are delivered normally. Whenfalse, shadow muting applies to all chat channelsAdd Shadow Muted Players To A BetterChat Group-- Whentrue, shadow-muted players are automatically added to a Better Chat group, which can be used to apply custom name colors, titles, or other formatting to identify them. Requires Better Chat to be installedBetterChat Group Name-- The name of the Better Chat group that shadow-muted players are added to. The group is created automatically if it doesn't exist
Stored Data
JSON:
{
"Shadow Muted Players": [
"76561198012345678",
"76561198087654321"
]
}
Shadow Muted Players-- A list of Steam ids for all currently shadow-muted players.
Localization
JSON:
{
"Error.NoPermission": "You do not have permission to use this command.",
"Error.PlayerNotFound": "Player not found: {0}",
"Error.UnknownCommand": "Unknown command: {0}. Type the command without arguments for help.",
"Player.Muted": "<color=#55ff55>{0}</color> has been shadow muted.",
"Player.Unmuted": "<color=#55ff55>{0}</color> has been removed from shadow mute.",
"Player.AlreadyMuted": "<color=#55ff55>{0}</color> is already shadow muted.",
"Player.NotMuted": "<color=#55ff55>{0}</color> is not shadow muted.",
"List.Empty": "No players are currently shadow muted.",
"List.Header": "<color=#ffaa55>Shadow Muted Players:</color>",
"Check.Muted": "<color=#55ff55>{0}</color> is <color=#ff5555>shadow muted</color>.",
"Check.NotMuted": "<color=#55ff55>{0}</color> is <color=#55ff55>not shadow muted</color>."
}
Developer API
API_IsShadowMuted
Checks whether a player is currently shadow muted.
C#:
bool API_IsShadowMuted(string playerId)
string playerId-- The player's Steam ID
true if the player is shadow muted, false otherwiseAPI_AddShadowMute
Adds a shadow mute to a player.
C#:
bool API_AddShadowMute(string playerId)
string playerId-- The player's Steam ID
true if the player was successfully shadow muted, false if they were already shadow mutedAPI_RemoveShadowMute
Removes a shadow mute from a player.
C#:
bool API_RemoveShadowMute(string playerId)
string playerId-- The player's Steam ID
true if the shadow mute was removed, false if the player was not shadow mutedAPI_GetShadowMutedPlayers
Returns a list of all currently shadow-muted player Steam ids.
C#:
List<string> API_GetShadowMutedPlayers()
List<string> of Steam ids