Skip to content

Seasons & Leaderboards

Seasons provide recurring competitive periods with server-wide leaderboards. When a season ends, top players are rewarded and a new season begins.

Seasons are disabled by default. Enable them in config/reverie/seasons.conf:

enabled = true
mode = "duration"
duration = "30 days"
autoRoll = true
ModeDescriptionExample
durationSeason lasts a fixed duration from start"30 days", "2 weeks"
calendarSeason ends on a specific date"2025-12-31"
cronSeason ends on a cron schedule"0 0 1 * *" (1st of each month)

The leaderboard tracks every player’s contest performance during the active season:

MetricDescription
WinsTotal contest wins (primary sort)
Total ContestsNumber of contests entered
Total ScoreCumulative appeal score
Best ScoreHighest single-contest score
Category WinsWin breakdown per category

Players are ranked by wins first, then by total score as tiebreaker.

When a season ends:

  1. Final leaderboard is compiled (top N entries, default 100)
  2. End-of-season rewards are distributed to qualifying players
  3. Historical record is saved to config/reverie/seasons/season_history/
  4. Broadcast message announces the season end to all online players
  5. If autoRoll = true, the next season starts immediately

Players receive countdown warnings at these intervals before season end: 60 minutes, 30 minutes, 10 minutes, 5 minutes, 1 minute.

Configure rewards by leaderboard placement:

endRewards {
1 = ["minecraft:netherite_ingot 5", "minecraft:nether_star 1"]
2 = ["minecraft:netherite_ingot 3"]
3 = ["minecraft:diamond 10"]
10 = ["minecraft:gold_ingot 5"] # Top 10 all receive this
}
FieldTypeDefaultDescription
enabledBooleanfalseEnable seasonal system
modeString"duration"End trigger mode
durationString"30 days"Duration (when mode = duration)
calendarEndString""End date (when mode = calendar)
cronString""Cron expression (when mode = cron)
namingPatternString"Season {number}"Display name pattern
autoRollBooleantrueAuto-start next season
leaderboardSizeInt100Max leaderboard entries
historyRetentionInt12Seasons kept in history

Season data is persisted at:

config/reverie/seasons/
current_season.json # Active season state
season_history/ # Past season results
season_001.json
player_stats/ # Per-player stats by season
{seasonId}/
{playerId}.json
  1. Tournaments — Competitive events that feed into seasonal rankings
  2. Season Config — Full configuration reference