Feature Plan: MOTD Management โ
Summary โ
- Owner: Freddi
- Status: Delivery
- Target Release: Rolling
- Backlog Entry: Projects/Uebliche/agendas.md โธ ๐ฆ Backlog โธ MOTD rotation polish
Goals โ
- Allow staff to curate Message-of-the-Day content displayed on the proxy and server list.
- Provide tooling for live previews, scheduling, and localization of MOTDs.
- Integrate MOTD updates into deployment workflows without restarts.
Scope โ
- Maintain
/api/motdsendpoints for retrieving and updating MOTD payloads. - Store MOTD entries with metadata for scheduling and A/B experimentation.
- Connect the desktop editor (
Motds.vue,motdStore.ts) to the backend APIs. - Bridge updates to Velocity and Minestom components via broadcast hooks.
- Exclude in-client UI beyond standard server list messaging.
Implementation Outline โ
- Backend controllers expose CRUD routes with validation and structure enforcement.
- Mongo persistence keeps history and active MOTD selection rules.
- Velocity and server modules subscribe to change events to refresh cached MOTDs.
- Desktop app provides editing UI, preview rendering, and publish workflows.
- Document scheduling rules and rotation logic here and inside the vault mirror.
Dependencies โ
- MongoDB collections for MOTD content and schedules.
- Velocity proxy for surfacing MOTDs to Minecraft clients.
- Desktop editor for authoring.
Risks & Mitigations โ
- Stale cache: ensure listeners invalidate proxy/server caches on update.
- Formatting issues: add preview rendering matching Minecraft formatting codes.
- Localization gaps: track required locales and enforce completeness.
Validation Plan โ
- Unit tests for MOTD serialization and formatting helpers.
- Manual test: update MOTD in editor, confirm change on dev proxy server list.
- Monitor change events through logging or future monitoring hooks.
Notes & Decisions โ
- Log major changes (e.g., new formatting rules) under agenda
โ๏ธ Decisions. - Keep this plan synchronized with
/Projects/Uebliche/docs/gameserver/features/motd/plan.md.
References โ
- Backend MOTD feature under
services/gameserver/src/main/java/net/uebliche/features/motd - Proxy integration in
velocity/src/main/java/net/uebliche/velocity/WebServer.java - Desktop editor view
app/dashboard/src/views/home/Motds.vue