Moderation
Last updated Oct 28, 2026
Moderation
Punishment stack, reports, and tickets for staff workflows. Commands: Commands: Moderation. Config: moderation.yml, jails.yml. Modules: moderation, freeze, jail, reports, tickets. Defaults: Default moderation.yml · Default jails.yml · Config Reference.
Player how-to
- Report a player:
/sa report <player> <reason>(cooldown frommoderation.yml→reports.cooldown-seconds). - Open a support ticket:
/sa ticket create→ list / view / respond / close as needed. - While muted/jailed/frozen, only whitelisted commands work (see config tables below).
Staff how-to
- Soft → hard: warn → mute/tempmute → kick → ban/tempban/banip. Quick presets:
/sa qp <template>. - Freeze:
/sa freeze <player>//sa unfreeze. Jail: create rooms first (/sa jail create <name>), set default (/sa jail setdefault <room>), then/sa jail <player> <duration> [room]. - Review:
/sa check,/sa punishhistory,/sa case,/sa banlist/mutelist/jaillist/freezelist. - Reports:
/sa reports→ claim →/sa resolvereport. Tickets:/sa tickets(assign needssoapsadmin.ticket.assign). - Tune
moderation.yml/jails.yml, then/sa reload moderationor/sa reload jails.
Punishment Stack
| Layer | Commands | Notes |
|---|---|---|
| Soft | /sa warn, /sa warns, /sa clearwarns |
Escalation templates in moderation.yml |
| Chat | /sa mute, /sa tempmute, /sa unmute |
Active mute tracked for placeholders |
| Session | /sa kick, /sa kickall |
Immediate disconnect |
| Account | /sa ban, /sa tempban, /sa unban, /sa banip |
Persist across reconnects |
| Position | /sa freeze / /sa unfreeze, /sa jail / /sa unjail |
Freeze module + jail rooms |
| Quick | /sa qp <player> <template> |
Named templates from config |
| Record | /sa punishhistory, /sa case, /sa rollback |
Case ids for audit/rollback |
| Lists | /sa banlist, /sa mutelist, /sa jaillist, /sa freezelist, /sa check |
Active state overview |
Immunity: soapsadmin.moderation.immune. Override: soapsadmin.moderation.override-immune. Silent: soapsadmin.silent + -s.
Staff notes (/sa note / /sa notes) and alts (/sa alts) sit beside the stack; see Commands: Staff.
Config keys (moderation.yml)
| Key | Default | Effect |
|---|---|---|
staff.broadcast-punishments |
true |
Notify online staff about punishments |
staff.silent-prefix |
[Silent] |
Prefix on silent punishment broadcasts |
freeze.mode |
hard |
hard = no move; soft = look around allowed |
freeze.block-chat |
true |
Block chat while frozen |
freeze.block-commands |
true |
Block commands while frozen |
freeze.command-whitelist |
/sa |
Commands still allowed while frozen |
moderation.ip-ban-enabled |
false |
Allow /sa banip |
moderation.mute-block-commands |
true |
Block commands while muted |
moderation.mute-command-whitelist |
/msg, /r, /reply |
Commands allowed while muted |
alt-detection.trusted-ips |
[] |
IPs that do not trigger alt warnings |
warn-escalation.enabled |
true |
Auto-punish at exact warn counts |
warn-escalation.auto-reason-prefix |
[Auto] |
Prefix on auto reasons |
warn-escalation.silent |
false |
Silent auto-escalations |
warn-escalation.thresholds |
2/3/5/10 | Exact-match thresholds (kick, tempmute, tempban, ban, …) |
reports.cooldown-seconds |
60 |
Per-reporter report cooldown |
templates.* |
hacking, chat-spam, … | /sa qp presets (kick/ban/tempban/mute/tempmute/warn) |
item-blacklist.enabled |
false |
Confiscate listed (or non-listed) materials |
Item blacklist detail (when enabled): mode (blacklist/whitelist), scan-on-join / pickup / craft / inventory-click, notify-player, exempt-creative, log-to-console, items:.
Jail (jails.yml)
Do not edit rooms: or jailed-players: by hand while the server is running. Use in-game commands.
| Key | Default | Effect |
|---|---|---|
jail.radius |
10 |
Blocks jailed players may move from entry point |
jail.allowed-commands |
/sa, /soapsadmin, /msg, /tell, /r, /reply |
Commands still allowed while jailed |
default-jail |
null |
Default room when /sa jail omits room name |
rooms |
{} |
Managed via `/sa jail create |
jailed-players |
{} |
Runtime jail sentences (auto-managed) |
Reports
| Role | Action |
|---|---|
| Player | /sa report <player> <reason> |
| Staff | /sa reports, claim (reportclaim / reports claim), /sa resolvereport |
Module: reports. Staff notify uses soapsadmin.staff.notify.
Tickets
| Role | Action |
|---|---|
| Player | /sa ticket create / list / view / respond / close |
| Staff | /sa ticket GUI: create, reply, assign, reopen, shift-click delete; /sa ticket delete <id>; assign needs soapsadmin.ticket.assign |
Ticket list and view show a clear CLOSED label and gray icon when closed. Settings under server.yml. Placeholder: %soapsadmin_tickets_open% (Placeholders).
Audit
/sa audit [player|staff|type|gui] reads action history. Mining ratios: /sa xraycheck (mining-audit.yml).
Related
Still stuck? Ask about this page