EssentialsC / Punishments

Punishments

Ban, mute, kick, freeze, and IP-ban management with timed and permanent punishments.

Overview

EssentialsC provides a full punishment system with bans (player and IP), mutes, and kicks. Punishments can be timed or permanent and are stored in the plugin's SQLite database (users.db). Higher-staff players holding the per-type exempt permission cannot be banned, muted, or kicked by lower-staff members.


Configuration

Punishment settings live under the punishments section in config.yml.

Key Type Default Description
punishments.enabled Boolean true Fully disables punishments and unregisters /ban, /ban-ip, /unban, /unban-ip, /banlist, /mute, /unmute and /checkpunish. See the Modules page - a restart is required.

Commands

Command Description
/ban <player> [duration] [reason] Ban a player. Duration uses the format below; omit for permanent.
/unban <player> Unban a player.
/ban-ip <player|ip> [-t:duration] [reason] Ban an IP address or a player's IP.
/unban-ip <ip> Unban an IP address.
/banlist [players|ips|all|history] [page] List active bans. Use history to see expired/pardoned bans.
/mute <player> [duration] [reason] Mute a player, preventing them from chatting.
/unmute <player> Unmute a player.
/kick <player> [reason] Kick a player from the server. Without a reason, "No reason provided" is shown.
/checkpunish <player> Check a player's current punishment status - bans, mutes, and history.

Duration Format

Timed punishments use a simple duration string format combining numbers and time units.

Unit Suffix Example
Seconds s 45s - 45 seconds
Minutes m 30m - 30 minutes
Hours h 2h - 2 hours
Days d 7d - 7 days
Weeks w 2w - 2 weeks
Months mo 3mo - 3 months (30 days each)
Years y 1y - 1 year (365 days)
Combined 7d12h30m - 7 days, 12 hours, 30 minutes
Units are case-insensitive. If no duration is provided, the punishment is permanent - you can also write perm, permanent, forever or -1 explicitly. Note that m is minutes and mo is months. Exemptions are per type - essentialsc.ban.exempt, essentialsc.mute.exempt, and essentialsc.kick.exempt.

Permissions

Permission Description Default
essentialsc.ban Ban players. Operators
essentialsc.unban Unban players. Operators
essentialsc.banip Ban IP addresses. Operators
essentialsc.unbanip Unban IP addresses. Operators
essentialsc.banlist View the ban list. Operators
essentialsc.mute Mute players. Operators
essentialsc.unmute Unmute players. Operators
essentialsc.kick Kick players. Operators
essentialsc.kick.others Kick players who are exempt from being kicked. Operators
essentialsc.kick.exempt Prevents the player from being kicked. Operators
essentialsc.kick.notify Receive broadcast notifications when players are kicked. Operators
essentialsc.ban.exempt Cannot be banned. Operators
essentialsc.ban.exempt.bypass Can ban exempt players. Nobody
essentialsc.ban.notify Receive notifications when bans are issued. Operators
essentialsc.mute.exempt Cannot be muted. Operators
essentialsc.mute.exempt.bypass Can mute exempt players. Nobody
essentialsc.banip.notify Receive notifications when an IP is banned. Operators
essentialsc.checkpunish Check player punishment status. Operators
essentialsc.checkpunish.others Check the punishment status of other players. Operators

Freeze

/freeze locks a player in place - for example while you check them for cheats. A frozen player can still look around (unless disabled), but every position change is reverted and most actions are blocked. Freeze is not part of the punishments module, so it keeps working when punishments.enabled is false.

Command Description
/freeze <player> Freeze an online player. Players with essentialsc.freeze.bypass cannot be frozen unless you hold essentialsc.freeze.bypass.override.
/unfreeze <player> Release a frozen player.

Freeze settings live under the freeze section in config.yml.

Key Type Default Description
freeze.allow-look Boolean true Let frozen players turn their camera while their position stays locked.
freeze.block-teleport Boolean true Cancel every teleport of a frozen player - ender pearls, chorus fruit, commands and other plugins.
freeze.block-drop-pickup Boolean true Stop frozen players from dropping or picking up items.
freeze.block-inventory Boolean true Cancel inventory clicks and drags.
freeze.block-break-place Boolean true Cancel block breaking and placing.
freeze.block-interact Boolean true Cancel block and entity interactions and outgoing attacks.
freeze.persist-on-reconnect Boolean true Keep players frozen when they log out and back in. The state is saved in the user database, so relogging does not escape a freeze.
freeze.allowed-commands List msg, reply, r, help Commands frozen players may still run (lowercase, without the slash). Everything else is blocked.
Permission Description Default
essentialsc.freeze Freeze players with /freeze. Operators
essentialsc.unfreeze Unfreeze players with /unfreeze. Operators
essentialsc.freeze.bypass Cannot be frozen, and freeze restrictions do not apply. Operators
essentialsc.freeze.bypass.override Freeze players who have essentialsc.freeze.bypass. Nobody