Daily rewards with streaks, saves, milestones, a premium GUI and leaderboard for modern Paper servers.

🔥 RewardStreak
A polished daily rewards plugin with streaks, saves, milestones, a premium GUI and leaderboard for modern Paper servers.
RewardStreak turns a simple daily reward into a clear reason to come back tomorrow.
Players claim rewards, keep their streak alive, earn milestone bonuses, use streak saves after missed days, and compete for the top spot on the leaderboard.
Built for modern Paper servers running Minecraft 1.21.4–1.21.11 on Java 21.
✨ What makes RewardStreak different?
RewardStreak is not just another /daily command.
A basic daily reward gives players one thing to click. RewardStreak gives them a loop:
| Player action | Why it matters |
|---|---|
| 🎁 Claim today’s reward | Simple daily reason to log in |
| 🔥 Keep the streak alive | Visible progress players care about |
| 🛡️ Use streak saves | Missed days do not always destroy progress |
| ⭐ Reach milestones | Longer streaks feel more rewarding |
| 🏆 Climb the leaderboard | Adds friendly competition |
| ⚙️ Follow clear GUI feedback | Players understand what to do next |
The result is a daily reward system that feels more like progression and less like a plain command.
🎮 What players see
Players run /streak and open a clean daily reward menu.
The GUI shows the important information right away:
- Current streak
- Best streak
- Claim status
- Available streak saves
- Upcoming milestone rewards
- Leaderboard access
- Optional chat, action bar, title and sound notifications
No confusing commands. No hidden progress. The player can see what they have, what they can claim, and what they are working toward.
🎁 Daily rewards that feel worth opening
RewardStreak gives players a daily claim flow that is easy to understand.
If the reward is available, the player claims it from the GUI and increases their streak. If that day reaches a configured milestone, they can receive extra rewards for reaching it.
Rewards are configured through rewards.yml, so you can match the system to your server economy, progression speed, rank perks or seasonal events.
Good fit for:
- Survival servers
- SMP servers
- Semi-vanilla servers
- RPG servers
- Economy servers
- Progression-based servers
- Mini-game hubs
- Servers with flexible donation or in-game reward systems
🛡️ Streak saves
Missed days do not have to instantly wipe out a player’s progress.
RewardStreak includes streak saves, a protection mechanic that can save a streak after a missed claim window.
You can control:
- How many saves players can hold
- How often saves are earned
- Whether saves are consumed automatically
- Whether players are notified when a save is earned
- Whether players are notified when a save is used
This keeps streaks meaningful while making the system less punishing for active players who miss a day.
⭐ Milestone rewards
Milestones make longer streaks feel special.
Use milestone rewards for important days like day 7, day 14, day 30, or any custom streak goals you want to build around.
Milestone rewards can work in two ways:
| Mode | Behavior |
|---|---|
BONUS |
Milestone rewards are added on top of the normal daily reward |
REPLACE |
Milestone rewards replace the normal reward for that day |
This gives you control over how generous your daily reward system should feel.
🏆 Leaderboard GUI
RewardStreak includes a dedicated leaderboard GUI with player heads.
Players can compete by:
- Best streak
- Current streak
The leaderboard adds a light competitive layer without forcing PvP, ranks or complicated progression systems.
It is simple, visible and easy for players to understand.
⚙️ Built for server owners
RewardStreak is made to be practical to run on real servers.
You get:
- Clean YAML configuration
- Editable reward setup
- Configurable GUI layout
- Configurable messages
- SQLite storage for production servers
- YAML storage for small tests
- Admin commands for player support
- Soft PlaceholderAPI support
- Offline-only build without remote runtime modules or forced auto-updates
After the first launch, RewardStreak creates:
plugins/RewardStreak/config.yml
plugins/RewardStreak/gui.yml
plugins/RewardStreak/rewards.yml
plugins/RewardStreak/messages_en.yml
plugins/RewardStreak/messages_ru.yml
⚙️ Configuration
RewardStreak keeps the important settings in clean YAML files, so you can tune the reward loop without rebuilding the plugin.
You can configure:
- Fixed daily reset time or rolling 24-hour claims
- Server timezone
- Daily rewards
- Milestone rewards
- Streak save behavior
- Maximum streak saves
- Inventory-full behavior
- GUI layout
- Messages
- Leaderboard sorting
- Leaderboard cache time
- Join notifications
- Storage type: SQLite or YAML
Example config.yml:
language: en
auto-claim-on-join: false
storage:
type: SQLITE
claim:
mode: FIXED_RESET_TIME
timezone: Europe/Berlin
fixed-reset-time: "05:00"
saves:
max-saves: 3
save-reward-every-x-claims: 7
auto-consume-save: true
notify-on-save-used: true
notify-when-save-earned: true
rewards:
milestone-mode: BONUS
inventory-full-behavior: CANCEL
leaderboard:
limit: 10
cache-seconds: 60
default-sort: BEST_STREAK
runtime-updates:
enabled: false
join-notifications:
enabled: true
chat: true
action-bar: false
title: false
sound: false
sound-name: ENTITY_PLAYER_LEVELUP
⏰ Claim modes
RewardStreak supports two claim styles.
Fixed daily reset
Use FIXED_RESET_TIME when you want all players to reset at the same clock time.
claim:
mode: FIXED_RESET_TIME
timezone: Europe/Berlin
fixed-reset-time: "05:00"
This is useful when your server has a clear daily reset schedule.
Rolling 24-hour claims
Use ROLLING_24H when each player should claim again 24 hours after their previous claim.
This is useful when your players are spread across different time zones.
💾 Storage
For production servers, SQLite is recommended:
storage:
type: SQLITE
For small servers, local testing or quick setup checks, YAML storage is also available:
storage:
type: YAML
SQLite is the better choice for live servers with regular player activity.
🔌 PlaceholderAPI
RewardStreak has soft PlaceholderAPI support.
The plugin works without PlaceholderAPI. If PlaceholderAPI is installed, RewardStreak can expose useful streak placeholders for menus, scoreboards, holograms or other plugins.
Examples:
%rewardstreak_current%
%rewardstreak_best%
%rewardstreak_saves%
%rewardstreak_can_claim%
%rewardstreak_next_claim%
%rewardstreak_next_milestone%
🧭 Commands
Player commands
/streak
/streak claim
/streak info
/streak top
/streak top current
Admin commands
/rewardstreak reload
/rewardstreak give save <player> <amount>
/rewardstreak setstreak <player> <days>
/rewardstreak resetsaves <player>
/rewardstreak resetplayer <player>
/rewardstreak debug <player>
/rewardstreak forcereward <player>
🔐 Permissions
rewardstreak.use
rewardstreak.claim
rewardstreak.info
rewardstreak.top
rewardstreak.admin
rewardstreak.admin.reload
rewardstreak.admin.givesave
rewardstreak.admin.setstreak
rewardstreak.admin.resetsaves
rewardstreak.admin.resetplayer
rewardstreak.admin.debug
rewardstreak.admin.forcereward
🧩 Compatibility
RewardStreak is built for modern Paper servers.
| Requirement | Supported |
|---|---|
| Minecraft | 1.21.4–1.21.11 |
| Server software | Paper |
| Java | 21 |
| Storage | SQLite or YAML |
| PlaceholderAPI | Optional |
Usually works on Paper-compatible forks such as Purpur or Pufferfish, as long as they keep Paper API compatibility.
RewardStreak is built against Paper API 1.21.4 and uses modern API features with Adventure components.