CoreEngineWIKI
ESC
↑ ↓ NavigateEnter OpenESC Close

Private Messages

Player-to-player messages with automatic reply tracking, plus a broadcast command for server-wide announcements. For public chat see Chat Format.

Commands #

Commands3
CommandSyntaxPermissionDefaultDescription
/msg (alias /tell, /whisper, /w, /pm, /dm, /message)/msg <player> <message>msg.sendtrueSends a private message
/reply (alias /r)/reply <message>msg.replytrueReplies to the last sender
/broadcast (alias /bc)/broadcast <message>msg.broadcastopServer-wide announcement to all players and the console

Additional permissions #

Permissions1
PermissionDefaultDescription
msg.bypass.mutefalsePrivate messages despite a mute (also needs mod.bypass.mute, see Moderation)
ℹ️

Note: Messages to yourself, to offline players and to vanished players (without the see permission) are blocked. Click and hover effects are stripped from every message, the rest of the text arrives exactly as typed (< and \ included). The claim module's ignore list and soft mute apply to /msg and /r as well: someone ignoring you gets no message (you are told); a soft-muted player sees their own line, the recipient nothing. The moderation module's word filter applies here too. Admins with /socialspy can read private messages (see Moderation).

💡

Tip: A small /msg cooldown (2 to 3 seconds) curbs spam without disturbing conversations. /reply is not affected.

Configuration (modules/messaging.yml) #

YAML
# Enables or disables private messages and broadcast.
enabled: true

messaging:
  # Display for the sender. Placeholders: <target>, <message>
  sender-format: "<gray>[<green>You <gray>-> <green><target><gray>] <white><message>"
  # Display for the receiver. Placeholders: <sender>, <message>
  receiver-format: "<gray>[<green><sender> <gray>-> <green>You<gray>] <white><message>"
  # Maximum message length for /msg and /reply.
  max-length: 256

cooldown:
  commands:
    # Seconds between two /msg of the same player. 0 = no cooldown.
    # Applies to /msg only, not /reply.
    msg: 0

The broadcast uses the messaging.broadcast-format from messages.yml and parses MiniMessage fully (only admins may use it).

Complete example config #

YAML
enabled: true

messaging:
  sender-format: "<dark_gray>[<aqua>You <dark_gray>-> <aqua><target><dark_gray>] <white><message>"
  receiver-format: "<dark_gray>[<aqua><sender> <dark_gray>-> <aqua>You<dark_gray>] <white><message>"
  max-length: 200

cooldown:
  commands:
    msg: 3