Module: Mute - Module ID: mute

Introduction

The Mute module allows for server staff to punish players who break chat rules by preventing them from speaking in global chat or sending messages. There is also a function to enact a “global” mute, and whitelist, or “voice” players

The mute module can jail players temporarily or permanently. Global mutes will only last over the lifetime of a server process, and will be deactivated when the server is restarted.

Use the /checkmute <player> command to see details surrounding a player’s muting.

Muting and Unmuting Players

A player can be muted by running the command

/mute <player> [time] [reason]

The player argument is required.

The reason argument is optional, but if specified, will be displayed to the mute player whenever they try to speak or send a message.

The time argument is optional, but if specified, is of the Timespan Argument format. For example: if you want to mute Notch for 3 hours, 45 minutes, the command would be:

/mute Notch 3h45m Muted by example!

If a timed mute is given to a player who is not currently logged on, their mute will start when they next log in. By default, time towards a mute will include both time where the player is online AND offline, unless mute-time-counts-online-only is set to true in main.conf.

Checking player/server mutes

The command /checkmute [player] allows you to check a player’s mute status. To see everyone currently muted on the server in question, run /checkmuted.

Permission Contexts

When players are mute, Nucleus adds a permission context to the player permission set, so that you can change a player’s permissions when they are muted. This is useful to be able to prevent the player from performing additional tasks, though Nucleus automatically blocks most chat commands and actions.

Nucleus applies one context:

  • nucleus_muted will simply have the value “true” if the player is muted.

Refer to your permission plugin documentation on how to set permissions on contexts.

Global Mute

There are times where you may need to mute the server. The command /globalmute [toggle] allows you to do this. The command can either be run as a toggle, flipping between on or off, or specified with either true or false.

When the server is muted, only those with the nucleus.globalmute.voice.auto permission are allowed to speak. To grant this permission to other players temporarily, grant them “voice” using the /voice <player> command. This status is automatically removed when the global mute ends.

Configuration

The mute module has several entries in main.conf:

  • block-commands specifies the commands that players cannot run whilst in muted. By default, the commands are primarily chat and message based commands.
  • maximum-mute-length specifies the maximum time, in seconds, that a player can be muted for, unless the player issuing the mute has the nucleus.mute.exempt.length permission. If this is set to -1, then no limit is applied and all players with the mute command can mute players permanently.
  • see-muted-chat, if set to true, will allow those with the nucleus.mute.seemutedchat permission to see players who try to chat, but are currently muted.
  • muted-chat-tag is the tag that is placed at the start of any cancelled message that those with the nucleus.mute.seemutedchat can see.
  • mute-time-counts-online-only, if true, will only count time a player spends online as time served towards the mute.
/checkmute
Module: mute
Checks whether the specified player is muted.

Aliases: checkmute

Root command aliases: /ncheckmute

Usage: /checkmute <user/UUID>|<user/UUID>

Default Role: MOD

Basic Command Permission: nucleus.checkmute.base

Permissions

  • nucleus.checkmute.base - Default Role: MOD
    Allows the user to run the command /checkmute
/checkmuted
Module: mute
Checks the user cache for muted players.

Aliases: checkmuted

Root command aliases: /ncheckmuted

Usage: /checkmuted

Default Role: ADMIN

Basic Command Permission: nucleus.checkmuted.base

Permissions

  • nucleus.checkmuted.base - Default Role: ADMIN
    Allows the user to run the command /checkmuted
/globalmute
Module: mute
Enable or disable a server wide mute. Anyone that has the permission "nucleus.globalmute.voice.auto" will always have voice.

Global muting is useful for times where you want to have an announcement or you need to defuse a server wide solution. Global mutes do not change a user's mute status, and do not persist across server restarts. All players with voice (apart from those with permission) are de-voiced when the global mute is turned on.

If you wish to allow someone to talk during a global mute period, you can grant them "/voice".

Aliases: globalmute

Root command aliases: /nglobalmute

Usage: /globalmute [<true|false>]

Default Role: ADMIN

Basic Command Permission: nucleus.globalmute.base

Permissions

  • nucleus.globalmute.base - Default Role: ADMIN
    Allows the user to run the command /globalmute
/mute
Module: mute
Mutes the specified player.

Aliases: mute unmute

Root command aliases: /nmute

Usage: /mute <user> [<duration>] [<reason…>]

Default Role: MOD

Basic Command Permission: nucleus.mute.base

Permissions

  • nucleus.mute.exempt.target - Default Role: MOD
    Exempts the user from being a target of the /mute command.
  • nucleus.mute.notify - Default Role: MOD
    Notifies the user about mutes when they occur.
  • nucleus.mute.base - Default Role: MOD
    Allows the user to run the command /mute
  • nucleus.mute.seemutedchat - Default Role: ADMIN
    If true and enabled in the config, players with this permission will see chat from muted players.
  • nucleus.mute.exempt.length - Default Role: ADMIN
    Allows the user to bypass the maximum mute length.
  • nucleus.mute.unmute - Default Role: MOD
    If set in config, this permission is required to unmute players.

This command is an equivalent to the following command(s) in Essentials: /mute, /silence

/voice
Module: mute
Allows a user to speak when a global mute is in effect.

If a server is globally muted, a player can be given the right to speak using the "/voice" command. This will allow messages being sent by the user too. This status may also be revoked if granted by running the "/voice" command again.

Aliases: voice

Root command aliases: /nvoice

Usage: /voice <player> [<true|false>]

Default Role: ADMIN

Basic Command Permission: nucleus.globalmute.voice.base

Permissions

  • nucleus.globalmute.voice.auto - Default Role: ADMIN
    Automatically grants the user voice if a global mute is in effect.
  • nucleus.globalmute.voice.notify - Default Role: ADMIN
    If granted, this user is told when a player's voice status is changed.
  • nucleus.globalmute.voice.base - Default Role: ADMIN
    Allows the user to run the command /voice
Permission Suggested Role Description
nucleus.checkmute.base MOD Allows the user to run the command /checkmute
nucleus.checkmuted.base ADMIN Allows the user to run the command /checkmuted
nucleus.globalmute.base ADMIN Allows the user to run the command /globalmute
nucleus.globalmute.voice.auto ADMIN Automatically grants the user voice if a global mute is in effect.
nucleus.globalmute.voice.base ADMIN Allows the user to run the command /voice
nucleus.globalmute.voice.notify ADMIN If granted, this user is told when a player's voice status is changed.
nucleus.mute.base MOD Allows the user to run the command /mute
nucleus.mute.exempt.length ADMIN Allows the user to bypass the maximum mute length.
nucleus.mute.exempt.target MOD Exempts the user from being a target of the /mute command.
nucleus.mute.notify MOD Notifies the user about mutes when they occur.
nucleus.mute.seemutedchat ADMIN If true and enabled in the config, players with this permission will see chat from muted players.
nucleus.mute.unmute MOD If set in config, this permission is required to unmute players.
The following configuration is the default for this module:
# Commands to block when muted. This is in addition to chat and /m already being blocked.
blocked-commands=[
    "minecraft:me",
    say
]
# The maximum length a mute may last for (in seconds) unless the user handing the mute has a bypass permission. Set to -1 for no maximum.
maximum-mute-length=604800
# If true, mute time will only tick down when players are online.
mute-time-counts-online-only=false
# The tag to prepend any cancelled/muted messages with.
muted-chat-tag="&c[cancelled] "
# If true, then the permission "nucleus.mute.unmute" is required to unmute players.
require-separate-unmute-permission=false
# If true, those with the "nucleus.mute.seemutedchat" permission will see chat from those who are muted.
see-muted-chat=false