Server News
A lightweight server announcements plugin that prompts players to read news, tracks who has read it, and optionally rewards them — fully configurable and reloadable.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
Server News
📢 Server News
Server News is a simple, lightweight Minecraft server plugin for sharing announcements with your players - without spamming chat or forcing popups.
Players are gently reminded when new server news is available, can read it at any time using `/news`, and the plugin tracks who has already read it. Optionally, you can reward players the first time they read the news.
Built for modern Paper/Spigot servers with performance and simplicity in mind.
---
✨ Features
- 📜 Display server announcements via `/news` - 👀 Track which players have already read the news (UUID-based) - 🔔 Automatic join reminders (with configurable delays) - 🧪 Test announcements before publishing (`testnews.yml`) - 💾 Reader data persists across restarts - 🎁 Optional reward command for first-time readers - 🔊 Optional reward sound effect - ♻️ Reloadable without restarting the server - 🛡️ Permission-based admin controls
---
🧑💻 Commands
Player Commands
- `/news` Reads the current server news and marks the player as having read it.
Admin Commands
- `/news test` Preview `testnews.yml` without tracking reads Permission: `shantekmc.servernews.test`
- `/news reset` Clears the reader list (use when publishing new announcements) Permission: `shantekmc.servernews.reset`
- `/news list` Shows how many players have read the news and their names Permission: `shantekmc.servernews.list`
- `/news reload` Reloads `config.yml`, `news.yml`, and `testnews.yml` Permission: `shantekmc.servernews.reload`
---
⚙️ Configuration (config.yml)
reward: enabled: true
Console command to run when a player reads the news for the first time
%player% is replaced with the player name
command: "eco give %player% 25" delay-seconds: 5
sound: enabled: true name: "ENTITY_PLAYER_LEVELUP" volume: 0.6 pitch: 1.2
messages: rewarded: "&aPay-day for keeping informed. Good work!"
Notes
- The reward command is once per news cycle - economy, items, permissions, crate keys, or any console command. - Rewards only fire once per news cycle. - All configuration values can be changed and reloaded live using `/news reload`.
---
📰 News Files
news.yml
lines: - "&6Welcome to Block Horizon!" - "&7Check out the new shopping district." - "&eHave fun and play fair!"
testnews.yml
Used for previewing announcements before publishing them live.
lines: - "&d[Test] &7This is what the next announcement will look like." - "&7Make sure colors and formatting look right."
---
🚀 How It Works
1. Admin updates `news.yml` 2. Admin runs `/news reload` and `/news reset` 3. Players are reminded on join if they haven’t read it 4. Players run `/news` 5. News is shown and the player is marked as read 6. Optional reward is given on first read
No spam. No forced UI. Just clean communication.