Announcements
Keep your community informed wherever they are. Zander's announcement system lets you post messages in four places - in the Minecraft server list, in-game chat, on your website, and as a popup - all from one dashboard. Every announcement can use Minecraft's &-colour-code text formatting, can be set to start and stop showing on chosen dates, and can be turned on or off with a toggle. That means staff can line up things like a maintenance notice or an event promo ahead of time and it will appear and disappear automatically.
📸 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, with an optional image and call-to-action button |
No login or permission is required to view any of these - they're all public-facing.
For Players​
- Website banner - shows on the homepage. If more than one banner announcement is turned on at once, the site picks one at random and refreshes its choice about every 30 seconds.
- Website popup - pops up over any public page a few seconds after it loads, with its optional image and button. Once a visitor closes a popup, their browser remembers that and won't show it to them again.
- In-game MOTD / Tip - these show up on the Minecraft server directly, not on the website: the MOTD line appears in the server list, and tips appear as rotating messages in in-game chat.
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 (with a live Minecraft-colour-code toolbar/preview) |
| Link | Optional URL, used by web/popup types |
| Popup Button Text | Optional call-to-action label (popup type) |
| Popup Image | Optional image, uploaded via the dashboard or pasted as a URL (popup type) |
| 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) |
Dates are entered in your local timezone and normalized to UTC server-side.
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.
Managing Announcements​
- List - the dashboard shows every announcement with type, content, schedule, and status, plus row actions.
- Edit - update any field on an existing announcement, including its date range.
- Delete - remove an announcement entirely.
- Schedule wizard - a "Schedule" modal on the list page offers a quicker path to creating a time-boxed announcement; under the hood it's the same create action with
startDate/endDateset.
Every create, edit, and delete is written to the audit log.
Tip Announcements​
Your Minecraft proxy checks in with Zander regularly and rotates through any active tip announcements in chat. You can control how the tips look and how often they show up by editing 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​
A motd announcement shows up as the second line of your server's entry in the Minecraft server list (the line players see before they even join). The first line is always fixed text you set once, announcementMOTDTopLine, in 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​
Zander checks regularly in the background and automatically turns off 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.
API Reference​
This section is for developers integrating with Zander directly; if you're just using the dashboard, you can skip it.
Base path /api/announcement. Dashboard actions go through a session-authenticated internal redirect proxy; GET /get itself has no auth check beyond the feature flag.
| Method | Path | Auth | Request | Response |
|---|---|---|---|---|
| GET | /api/announcement/get | none (feature-flag only) | Query: announcementId, or announcementType (web/popup/tip/motd), or enabled | { success, data: [...] } - single random/oldest-active row for typed queries, full list otherwise |
| GET | /announcement/popup | none (public route) | - | Active popup announcements |
| POST | /api/announcement/create | session, zander.web.announcements | actioningUser, enabled, announcementType, body, colourMessageFormat, link, popupButtonText, popupImageUrl, startDate, endDate, timezoneOffset | { success, alertType, content } |
| POST | /api/announcement/edit | session, zander.web.announcements | same as create + announcementId | { success, message } |
| POST | /api/announcement/delete | session, zander.web.announcements | actioningUser, announcementId | { success, message } |
Feature Toggle​
"announcements": false
Turning this off hides announcements everywhere across the platform - website, popups, MOTD, and in-game tips.