Chat and Messaging
Last updated Oct 28, 2026
Chat and Messaging
Filter, slowmode, private messages, staff chat, and spy tools. Module: chat (spy: spy). Config: chat.yml. Defaults: Default chat.yml · Default deathmessages.yml · Default joinmessages.yml · Config Reference.
Player how-to
- Private message:
/sa msg <player> <message>→ reply with/sa r <message>. Toggle incoming:/sa msgtoggle. Ignore:/sa ignore <player>. - Chat rooms:
/sa cr create <name> [-private]→ invite / join / leave. Toggle room chat:/sa cr toggle. - Filter/spam/slowmode are automatic when enabled in
chat.yml; bypass nodes are listed below.
Staff how-to
- Staff channel:
/sa staffchat(toggle) or/sa staffchat <message>. - Global mute:
/sa mutechat [on|off|toggle] [duration]. Clear chat:/sa clearchat. Slowmode:/sa slowmode <seconds|off>. - Spy:
/sa commandspy//sa socialspy(modulespy). - Tune filter/spam/spy lists in
chat.yml, then/sa reload config(chat loads with domain config reload) or a full/sa reload.
Config keys (chat.yml)
| Key | Default | Effect |
|---|---|---|
staffchat.format |
[SC] {player} » {message} |
Staff chat MiniMessage format ({player}, {message}) |
chat-filter.enabled |
false |
Master toggle for blocked words + links |
chat-filter.blocked-words |
(list) | Words/phrases; prefix regex: for Java regex |
chat-filter.block-links |
false |
Block URLs in chat |
chat-filter.allowed-domains |
soapsuniverse.com | Domains allowed when link blocking is on |
chat-filter.blocked-domain-patterns |
google/youtube/facebook | Regex matched against full URL |
chat-filter.action |
block |
block / warn / mute / kick |
chat-filter.warn-message |
Watch your language. | Shown on warn action |
chat-filter.sensitivity |
LOW |
LOW / MEDIUM / HIGH evasion detection |
spam-detection.enabled |
false |
Automatic spam throttle |
spam-detection.max-messages |
5 |
Messages allowed in window |
spam-detection.time-window |
3 |
Window seconds |
spam-detection.cooldown |
10 |
Cooldown seconds after trigger |
slowmode.default-delay |
0 |
Default delay when /sa slowmode enables without args |
private-messages.sound |
ENTITY_EXPERIENCE_ORB_PICKUP |
PM receive sound (NONE to disable) |
commandspy.ignored-commands |
/login, /register, … |
Commands hidden from command spy |
socialspy.commands |
/msg, /r, /tell, … |
Commands treated as PMs for social spy |
Blocked server commands (vanilla) are configured under customcommands.yml → blocked-server-commands with bypass soapsadmin.bypass.blockedcommands. See Custom Commands.
Filter and Slowmode
| Command | Usage | Permission |
|---|---|---|
| (automatic) | Chat filter rules from chat.yml |
Bypass: soapsadmin.chatfilter.bypass |
/sa slowmode <seconds|off> |
Set or disable slowmode | soapsadmin.slowmode |
| - | Bypass slowmode | soapsadmin.slowmode.bypass |
/sa clearchat |
Clear chat for players | soapsadmin.clearchat |
Private Messages
| Command | Usage | Permission |
|---|---|---|
/sa msg <player> <message> |
Send PM | soapsadmin.msg |
/sa r <message> / /sa reply <message> |
Reply to last PM | soapsadmin.msg |
/sa lastmsg |
Show last message context | soapsadmin.msg |
/sa msgtoggle [status] |
Block incoming PMs | soapsadmin.msgtoggle |
/sa ignore <player> |
Ignore player | soapsadmin.ignore |
| - | Exempt from ignore | soapsadmin.msg.ignore.exempt |
Staff Chat
| Command | Usage | Permission |
|---|---|---|
/sa staffchat [message] |
Toggle channel or send one line | soapsadmin.staffchat |
Included under soapsadmin.staff children.
Mute chat (global)
| Command | Usage | Permission |
|---|---|---|
/sa mutechat [on|off|toggle] [duration] |
Mute/unmute global chat | soapsadmin.mutechat |
Duration uses SoapsAdmin time formats (e.g. 5m, 1h). Broadcasts status to the server. Players with soapsadmin.mutechat.bypass can still chat while muted.
Chat rooms
| Command | Usage | Permission |
|---|---|---|
/sa chatroom / /sa cr |
Room help | soapsadmin.chatroom |
/sa cr create <name> [-private] |
Create a room | soapsadmin.chatroom.create |
/sa cr join|leave|list|info |
Join / leave / browse | soapsadmin.chatroom |
/sa cr invite|kick <player> |
Manage members | soapsadmin.chatroom |
/sa cr lock|unlock|delete|toggle |
Moderate / remove | soapsadmin.chatroom |
soapsadmin.chatroom.admin can join private rooms, delete any room, and kick without ownership. Rooms are runtime (not stored in chat.yml).
Spy
Module: spy.
| Command | Usage | Permission |
|---|---|---|
/sa commandspy [player] |
See commands run by others | soapsadmin.commandspy |
/sa socialspy |
See private messages | soapsadmin.socialspy |
Placeholders: %soapsadmin_commandspy%, %soapsadmin_socialspy% (Placeholders).
Related
Still stuck? Ask about this page