Nimbusv1.0.0

Punishments Messages

Templates for kick screens and chat-mute notices used by the Punishments module.

The Punishments module renders player-facing messages from a single TOML file at config/modules/punishments/messages.toml. The file is auto-generated with defaults on first launch and can be edited either by hand (reload with reload) or live via the Dashboard — both paths write atomically through the same store.

Runtime controls for the module (deploy_plugin, check_cache_ttl, expiry_check_interval) live in the [punishments] section of nimbus.toml, not here.

Complete Example

config/modules/punishments/messages.toml
# Punishment messages — shown to players on kick / chat mute.
# Use &-color codes (e.g. &c for red). Placeholders: {target} {issuer} {reason} {remaining} {expires} {type}

ban = """&c&lYou are banned from the network
&7Reason: &f{reason}
&7Banned by: &f{issuer}
&7Appeal at our support portal."""

tempban = """&c&lYou are temporarily banned
&7Reason: &f{reason}
&7Banned by: &f{issuer}
&7Expires in: &f{remaining}"""

ipban = """&c&lYour IP is banned from the network
&7Reason: &f{reason}"""

mute = "&cYou are muted: &f{reason}"
tempmute = "&cYou are muted for &f{remaining}&c: &f{reason}"
kick = "&cKicked: &f{reason}"
warn = """&e&l⚠ Warning &7from &f{issuer}
&7Reason: &f{reason}"""

broadcast_issued = "&c[PUNISH] &f{target} &7was &c{type} &7by &f{issuer} &7({reason})"
broadcast_revoked = "&a[PUNISH] &f{target} &7was un-{type} by &f{issuer}"

Message Keys

All values are strings. Triple-quoted ("""...""") multi-line strings are supported and preferred for any template with line breaks.

KeyShown whenChannel
banPlayer with an active BAN tries to log inProxy kick screen
tempbanPlayer with an active TEMPBAN tries to log inProxy kick screen
ipbanIP listed in an active IPBAN tries to log inProxy kick screen
muteMuted player attempts to chatBackend chat listener
tempmuteTempmuted player attempts to chatBackend chat listener
kickKick command applied to an online playerProxy disconnect
warnWarn command applied to an online playerIn-game chat notice
broadcast_issuedPunishment issued (any type)Staff broadcast + audit log
broadcast_revokedPunishment revoked (any type)Staff broadcast + audit log

Placeholders

Placeholders are literal strings in the template and are substituted at render time. Unknown placeholders are left as-is.

PlaceholderValue
{type}Lowercase punishment type: ban, tempban, ipban, mute, tempmute, kick, warn
{target}Punished player's name
{issuer}Name of the staff member or system actor that issued the punishment
{reason}Reason text. Falls back to "No reason given" if blank.
{duration}Same value as {remaining} — kept for readability in templates.
{expires}ISO-8601 expiry timestamp, or "never" for permanent punishments
{remaining}Human-friendly remaining duration (e.g. 3d 4h), or "permanent" for permanent punishments

{remaining} updates every time the message is rendered, so two players kicked by the same tempban seconds apart will see different countdowns.


Color Codes

Messages use legacy &-codes. They are converted to section-sign codes (§) at render time, so they render the same on Adventure (Paper 1.16.5+) and legacy (Spigot 1.8–1.15) servers.

CodeColor
&0&9, &a&fStandard chat colors
&lBold
&oItalic
&nUnderline
&mStrikethrough
&kObfuscated
&rReset

Editing via Dashboard

The Dashboard punishments page exposes a live editor for every key above. Saving in the Dashboard performs the same atomic write-through as a manual file edit (temp file + ATOMIC_MOVE), so operators can edit either surface without losing changes.