A simple chat mute system, for use with Better Chat or standalone

Supported Games

Better Chat Mute is a simple mute system, made for use with Better Chat. Using with Better Chat is intended, but the plugin can be used standalone as well.


  • betterchatmute.use -- Required for the mute command usage and general use
  • -- Required for the toggleglobalmute command usage
  • betterchatmute.permanent -- Required for use of the permanent muting feature

Note: Permission betterchatmute.use is always needed, also if you have betterchatmute.permanent.


This plugin provides universal chat and console commands. When using a command in the chat, prefix it with a forward slash: /.

  • mute <player|steamid> [reason] -- Mute player permanently
  • mute <player|steamid> <time: 1d1h1m1s> [reason] -- Mute player temporarily
  • unmute <player|steamid> -- Unmute player
  • mutelist -- Show players that are muted
  • toggleglobalmute -- Disable chat for every player without the permission

API (for developers)


OnBetterChatMuteHandle(IPlayer player, [CanBeNull]JObject muteInfo) // -> return a non-null value to cancel behaviour
OnBetterChatMuted(IPlayer target, IPlayer initiator, string reason)
OnBetterChatTimeMuted(IPlayer target, IPlayer initiator, TimeSpan time, string reason)
OnBetterChatUnmuted(IPlayer target, IPlayer initiator)
OnBetterChatMuteExpired(IPlayer player)

API Methods

void API_Mute(IPlayer target, IPlayer player, string reason = "", bool callHook = true, bool broadcast = true)
void API_TimeMute(IPlayer target, IPlayer player, TimeSpan timeSpan, string reason = "", bool callHook = true, bool broadcast = true)
bool API_Unmute(IPlayer target, IPlayer player, bool callHook = true, bool broadcast = true)
void API_SetGlobalMuteState(bool state, bool broadcast = true)
bool API_GetGlobalMuteState()
bool API_IsMuted(IPlayer player)
List<string> API_GetMuteList()
    141 watchers