RankedSMP
Auto-Ladder PvP for your SMP
Every player starts at the bottom. Kill someone higher than you, and you take their rank — and their crown's worth of perks.
RankedSMP turns your survival server into a living leaderboard. New players auto-join at the lowest rank. Killing a higher-ranked player
swaps your ranks, taking their max-heart bonus, XP multiplier, and top-tier passive buffs. Top ranks get
real mechanical advantages — not just cosmetic flair.
✨ Features
- Auto-ranked ladder — every player gets a rank on first join. New players start at the bottom.
- ⚔️ Kill-to-steal — kill someone with a better rank, take their rank. Their hearts, their XP boost, their effects — yours now.
- Scaling max hearts — top players get up to +10 hearts (15 hearts total). Fully tuneable curve.
- ⚡ XP multiplier — best players earn up to 2× XP from mob drops, mining, fishing, breeding.
- Top-tier passive effects — ranks #1 / #2 / #3 get configurable potion effects (Regeneration, Speed, Haste, Luck by default).
- ️ Anti-farm cooldown — same killer can't re-steal from the same victim for 30 min (configurable). Stops alt-farming dead.
- Cinematic rank-up — gradient title, action-bar text, and toast sound when you climb.
- Tab-list rank prefix — [#1] Player in tab list with full MiniMessage support.
- PlaceholderAPI — %rankedsmp_rank%, %rankedsmp_hearts%, %rankedsmp_xp_multiplier%, %rankedsmp_is_top%, more.
- Fully translatable — every message in messages.yml with MiniMessage (RGB gradients, hover, click, the works).
- Hot-reload — /rankedsmp reload re-applies config + messages instantly. No restart.
- ⚙️ Tab-completion on all commands.
- Lightweight — async saves, no main-thread file I/O, zero impact on TPS.
Commands
- /rank — your rank, hearts, and XP multiplier
- /rank <player> — look up another player
- /rank top [N] — top-N leaderboard (default 10)
- /ranklist — full rank leaderboard
- /setrank <player> <rank> — admin: force-set a player's rank
- /testkill <killer> <victim> — admin: simulate a kill (for testing)
- /rankedsmp reload — reload config.yml + messages.yml
- /rankedsmp info — plugin version + tracked-player count
Permissions
- rankedsmp.use — see your own and others' ranks (default: true)
- rankedsmp.admin — admin commands (default: op)
- rankedsmp.* — both
PlaceholderAPI (optional)
If PlaceholderAPI is installed:
- %rankedsmp_rank% — player's rank (— if unranked)
- %rankedsmp_hearts% — max-heart count
- %rankedsmp_max_health% — max-HP value
- %rankedsmp_xp_multiplier% — XP boost (e.g. 1.7)
- %rankedsmp_is_top% — true if rank #1
- %rankedsmp_tracked_count% — total tracked players
⚙️ Configuration highlights
Code (YAML):
hearts:
base
: 20.0
# vanilla max
bonus-per-rank-up
: 1.0
threshold
: 11
# ranks above this get bonus
cap
: 30.0
# 15 hearts max
xp:
base
: 1.0
bonus-per-rank-up
: 0.1
threshold
: 11
cap
: 2.0
# rank #1 = 2× XP
anti-farm:
enabled
: true
cooldown-seconds
: 1800
effects:
enabled
: true
by-rank:
"1"
:
[regeneration:0, speed:0, haste:0, luck:0
]
"2"
:
[speed:0, regeneration:0
]
"3"
:
[speed:0
]
tab-list:
format
:
"<gold>[#{rank}]</gold> <white>{name}</white>"
Everything in
messages.yml is MiniMessage — gradients, RGB, hover events, all of it.
Requirements
- Paper / Purpur 1.21.x (uses modern Adventure API + attribute IDs)
- Optional: PlaceholderAPI for placeholder support
- Java 21
Installation
- Drop RankedSMP-2.0.0.jar into your plugins/ folder
- Start the server — config.yml and messages.yml are generated automatically
- Tune values to taste
- /rankedsmp reload to apply
Design notes
Most "ranked" plugins are cosmetic. RankedSMP makes rank
mechanically meaningful without being broken — top ranks get noticeable but limited perks, and the kill-swap mechanic keeps the ladder dynamic. The anti-farm cooldown is the secret sauce: it prevents alt-account farming without nerfing legitimate PvP.
Designed to be a self-contained gameplay system. No economy plugin needed, no Vault, no Citizens, no other dependencies.
Built for survival servers that want a competitive layer without the complexity of full minigame plugins. Auto-ladder + heart-stealing in one drop-in JAR.