Announcements
Keep your community informed wherever they are. Zander's announcement system surfaces messages across four distinct channels — in Minecraft, on the website, and as popups — all managed from one dashboard.
📸 Screenshot: The announcements dashboard showing a list of active announcements with type badges and date ranges
Announcement Types
| Type | Where It Appears |
|---|---|
motd | Second line of the Minecraft server list MOTD |
tip | Rotating in-chat messages on the Velocity proxy |
web | Banner or notice on the website homepage |
popup | Overlay popup shown to web visitors |
For Staff
Announcements are managed from Dashboard → Announcements (requires zander.web.announcements).
📸 Screenshot: The create announcement form with type selector, body field, and date range pickers
Creating an Announcement
| Field | Description |
|---|---|
| Type | One of motd, tip, web, or popup |
| Body | The announcement text |
| Enabled | Whether the announcement is currently active |
| Start Date | Date from which the announcement is active (cannot be in the past) |
| End Date | Date after which the announcement expires (must be after Start Date) |
For tip and motd announcements, use & colour codes in the body text to apply Minecraft formatting — e.g. &a for green, &l for bold. For web and popup types, plain text or HTML is supported.
Tip Announcements
The Velocity proxy polls the Zander API for tip announcements and rotates through them in chat. Configure the display style and frequency in zander-velocity/config.yml:
announcementTipPrefix: "&7&l[&6&lTIP&7&l]&r "
announcementTipInterval: 10
The prefix is shown before each tip. announcementTipInterval controls how often (in seconds) tips rotate.
MOTD Announcements
For motd announcements, the proxy displays the announcement body as the second line of the Minecraft server list entry. The first line is always announcementMOTDTopLine from config.yml:
announcementMOTDTopLine: "&e&lMy &2&nMinecraft&r &6&oServer"
Only one motd announcement is active at a time. If multiple are enabled, the most recently created active one takes precedence.
Automatic Expiry
The announcementExpiryCron background job runs periodically and automatically disables any announcement whose End Date has passed. You don't need to manually disable announcements — set the date range and let Zander handle the rest.
Feature Toggle
"announcements": false
Disabling announcements causes all announcement API endpoints to return a feature-disabled response and hides announcement displays across the platform.