Skip to content

Communication

The communication module owns the server's "voice" — everything the server says to players that isn't a private message. Join and quit lines, the rotating announcer, info pages like /rules and /motd, chat control, and one-off broadcasts all live here. It's driven by four HOCON sub-files under modules/communication/, and every line of text is MiniMessage-formatted.


Connection Messages

The join/quit lines (and death and first-join lines) are templated in join-quit.conf:

Template When it fires
join A returning player logs in
first-join A player joins for the very first time
quit A player disconnects
death A player dies

Because they're MiniMessage templates with placeholders, you can colour them by rank, welcome first-timers differently, or make a death message name the killer.


The Rotating Announcer

The announcer posts messages to chat on a timer — tips, rules reminders, event teasers. It's configured in announcer.conf:

  • announcements[] — the pool of messages.
  • default-interval-seconds — how often to post.
  • min-players — don't announce to an empty server.
  • ordering — sequential or random rotation.

Staff manage it live with /announce:

Command Effect
/announce editor Open the announcer editor GUI
/announce list List the configured announcements
/announce preview <id> Preview one message
/announce toggle Turn the rotation on/off
/announce reload Re-read the announcer config

/announce is gated by uxmessentials.announce.admin. Players who'd rather not see the rotation can opt out with /broadcasttoggle.


Info Pages

Info pages are static, paginated text screens. Three ship by default — /info, /rules, and /motd — configured in info-pages.conf under info-pages { info, rules, motd }, with motd-on-join deciding whether the MOTD shows automatically on login.

Add your own pages, get a command for free

Define a new page in info-pages.conf and the module auto-registers a /<name> command for it (gated by uxmessentials.communication.info.<name>). Add a staffguide page and /staffguide exists instantly — no code, no restart beyond a reload.


Chat Control

Command Aliases Effect
/clearchat chatclear Flush the chat window for everyone
/togglechat mutechat Lock public chat for non-staff
/me <action> Post a third-person action message

uxmessentials.communication.clearchat.exempt lets a player's view survive a /clearchat, and uxmessentials.communication.chat.bypass lets staff still speak while chat is locked with /togglechat.


Broadcasts

For one-off announcements:

Command Aliases Scope
/broadcast <message> The whole server
/broadcastworld <message> bcw Only players in your world

These are immediate, MiniMessage-formatted messages — distinct from the timed announcer.


Achievement Notifications

The fourth file, advancements.conf (off by default), controls custom advancement / achievement broadcasts — an allow/deny list of which advancements are announced, the template used, and which channels they post to. Turn it on to celebrate milestones in chat with your own wording instead of the vanilla toast alone.


Config at a Glance

File Owns
join-quit.conf Join / quit / death / first-join templates
announcer.conf The rotating announcer pool and timing
info-pages.conf /info, /rules, /motd and custom pages
advancements.conf Achievement broadcasts (off by default)

Next Steps