AnnouncementGUI
Modern GUI-based announcement manager for Paper servers
Modern GUI-based announcement manager for Paper servers
AnnouncementGUI is a Paper plugin that lets server owners and staff create, edit, schedule, and broadcast clean announcement panels directly from an in-game inventory GUI.
Instead of using plain chat broadcasts, AnnouncementGUI displays structured announcement panels with title, description, body text, colors, placeholders, and optional centered lines.
Features
- In-game announcement management GUI
- Create, edit, delete, and toggle announcements
- Scheduled automatic broadcasts
- Manual force-broadcast command
- Clean panel-style announcement format
- Title, description, and body layout
- Legacy color code support such as &a, &b, &6
- Hex color support such as 7FFFF
- Placeholder support
- Per-line body centering with <center>text</center>
- Target announcements to LOCAL, SERVER, SERVERS, GROUP, or GLOBAL
- Optional Redis Pub/Sub sync for multi-server networks
- YAML-based local storage
- Configurable GUI titles and panel formatting
Why Use AnnouncementGUI?
AnnouncementGUI is designed for server owners who want a cleaner and easier way to manage server announcements.
Staff can manage announcements without manually editing config files every time. Announcements can be created through a GUI, saved to storage, scheduled, and broadcast to the correct server or network target.
It is useful for:
- Lobby networks
- Survival servers
- Minigame networks
- Community servers
- Staff-managed announcement systems
- Networks that need Redis-based cross-server sync
Announcement Format Example
Code:
------------------------------------------------
Welcome!
Enjoy your time on our server
------------------------------------------------
Website: example.com
Discord: discord.example.com
Store: store.example.com
------------------------------------------------
Supported Placeholders
- %player% - Player name
- %uuid% - Player UUID
- %server% - Current configured server id
- %online% - Current online player count
Commands
Code:
/announcementgui
/agui
/announcement open
/announcement reload
/announcement list
/announcement broadcast <id>
Permissions
Code:
announcementgui.admin
announcementgui.open
announcementgui.create
announcementgui.edit
announcementgui.delete
announcementgui.reload
announcementgui.broadcast
Requirements
- Paper 1.21.x
- Java 21
- Redis is optional and only required for cross-server sync
Storage and Sync
AnnouncementGUI currently uses local YAML storage for announcements.
Redis sync is available for multi-server setups. It is used to publish announcement changes between servers, such as create, update, delete, and force-broadcast events.
Note: Redis sync is event-based. It is not a shared SQL database system.
Configuration
The plugin includes a configurable config.yml file where you can set:
- Server id
- Server groups
- Storage file
- Redis URI and channel
- Scheduler check interval
- Panel borders and separators
- GUI inventory titles
Good For Networks
Each server can have its own server id and groups, for example:
Code:
server:
id: "lobby-1"
groups:
- "lobby"
This allows announcements to target one server, a group of servers, or the entire network.
