A plugin that will get players to join your server
Streaker is a production-ready Paper/Purpur plugin that adds daily login streaks, milestone rewards, animated inventory GUI, PlaceholderAPI placeholders, async SQL persistence, Caffeine caching, and HikariCP pooling.
| Command | Permission | Description |
|---|---|---|
/streak |
streaker.command.menu |
Opens the main streak menu. |
/streak menu |
streaker.command.menu |
Opens the main streak menu. |
/streak stats |
streaker.command.stats |
Shows personal stats. |
/streak rewards |
streaker.command.rewards |
Opens rewards view. |
/streak top |
streaker.command.top |
Shows leaderboard. |
/streak reload |
streaker.admin.reload |
Reloads configuration asynchronously. |
/streak reset <player> |
streaker.admin.reset |
Resets current streak. |
/streak set <player> <value> |
streaker.admin.set |
Sets current streak. |
/streak add <player> <value> |
streaker.admin.add |
Adds streak days. |
/streak remove <player> <value> |
streaker.admin.remove |
Removes streak days. |
| Placeholder | Value |
|---|---|
%streak_current% |
Current streak. |
%streak_best% |
Best streak. |
%streak_next_reward% |
Next configured reward. |
%streak_days_until_reward% |
Days until next reward. |
%streak_total_rewards% |
Total granted rewards. |
%streak_last_claim% |
Last claim date. |
./gradlew build.build/libs/Streaker-1.0.0.jar into the server plugins folder.config.yml, database.yml, rewards.yml, messages.yml, and menus.yml./streak reload or restart the server.Primary files:
config.yml controls timezone, claim behavior, cache, write-behind, notifications, and leaderboard size.database.yml selects SQLite, MySQL, or MariaDB and tunes HikariCP.rewards.yml defines milestone rewards.menus.yml defines GUI layouts.messages.yml defines MiniMessage output.Example reward:
rewards:
30:
name: "<gradient:#ff512f:#f09819>Monthly Inferno</gradient>"
icon: "CHEST"
chance: 100.0
multiplier: 1.0
commands:
- "crate key give %player% legendary 1"
RuntimeContext implements StreakerApi:
CompletableFuture<StreakProfile> profile(UUID uuid, String playerName);
CompletableFuture<ClaimResult> claim(Player player);
CompletableFuture<StreakProfile> setStreak(UUID uuid, String playerName, int value);
Does Streaker block the main thread?
No. SQL and config IO run asynchronously. Bukkit-only work is returned to the main thread.
Can rewards run more than once for the same milestone?
No. Reward history has a unique key per player, reward, and streak day.
Can I use PlaceholderAPI in commands?
Yes. Install PlaceholderAPI and keep rewards.placeholderapi enabled.
Open an issue with your Paper version, Streaker version, database type, config snippet, and relevant logs.