Disclaimer: This is an unofficial remake of the RankedSMP plugin concept. I am not affiliated with the original RankedSMP server or team. This plugin is a fan-made recreation and I do not claim any credit for the original gameplay concept.
🏆 RankedSMP
20 players receive random ranks from #1 to #20. Higher ranks mean more power - more hearts, longer potion effects, faster XP, and extra inventory space. Kill ranked players to steal their position!
✨ Features
- Random Rank Assignment — When the game starts, all online players receive a random rank from 1-20. Late joiners remain unranked and play vanilla Minecraft.
- HierArchy Hammer [NEW] — Custom Mace, Dash forward (RMB), land 4 consecutive smash attacks to trigger Verdict: 2x damage + terrain destruction. Miss = cooldown. Fully configurable.
- Progressive Heart System — Rank 1 has 20 hearts, Rank 20 has 10.5 hearts. Each rank adds roughly half a heart.
- Potion Duration Boost — Higher ranks get longer-lasting potion effects. Rank 1 gets double duration, Rank 20 gets a 5% boost.
- XP Multiplier — Earn XP faster based on your rank. Rank 1 earns XP at 3x speed, Rank 20 at 1.1x.
- Extra Inventory (Ranks 1-10) — Top 10 ranks unlock extra inventory slots. Rank 1-2 get 54 slots (full double chest! ), Rank 10 gets 15 slots.
- Rank Stealing — Kill a player with a better rank to swap positions. Climb to #1 through combat! (Can be disabled in config)
- Rank Management GUI — Intuitive GUI to manage ranks with drag-and-drop functionality. Move, swap, and remove ranks easily.
- TAB Plugin Integration — Full support for TAB plugin prefix/suffix display. Enable in config.yml.
- PlaceholderAPI Support — Full placeholder integration for use with chat plugins, scoreboards, and more.
- (Experimental) Dragon Egg Locator — Players holding a Dragon Egg can see all other players on the locator bar. (1.21.6+ required)
📝 Commands and Permissions
| Command | Permission | Description |
|---|---|---|
/rankedsmp help |
None | Show help menu |
/rankedsmp start |
rankedsmp.admin |
Start the game and assign random ranks |
/rankedsmp manage |
rankedsmp.admin |
Open rank management GUI |
/rankedsmp rank set <player> <rank> |
rankedsmp.admin |
Manually set a player's rank (1-20) |
/rankedsmp rank remove <player> |
rankedsmp.admin |
Remove a player's rank |
/rankedsmp give mace <player> |
rankedsmp.admin |
Manually set a player's rank (1-20) |
/extrainventory |
None | Open your extra inventory (Ranks 1-10 only) |
Aliases: /rsmp, /ei, /einv
🔌 PlaceholderAPI Placeholders
| Placeholder | Description | Example Output |
|---|---|---|
%rankedsmp_rank% |
Player's rank number | 5 or UNRANKED |
%rankedsmp_rank_formatted% |
Formatted rank display | #5 or UNRANKED |
%rankedsmp_hearts% |
Player's max hearts | 18.0 |
%rankedsmp_extra_slots% |
Extra inventory slots | 40 |
⚙️ Configuration
# Plugin Hooks
hooks:
AltarSMP: false # Made by Fudum
TAB: false
PlaceholderAPI: false
# Gameplay Settings
gameplay:
keep-ranks: false # If true, ranks cannot be stolen through PvP kills
# Hierarchy Hammer Settings
hierarchy-hammer:
dash-cooldown: 5000 # ms - Cooldown after dash or miss
verdict-damage-multiplier: 2.0 # Damage multiplier on verdict hit
block-breaking:
enabled: true # Whether verdict can break terrain
allowed-blocks: # Only these blocks can be broken
- GRASS_BLOCK
- GRAVEL
- SAND
🎮 How It Works
- Admin runs
/rankedsmp start→ All online players get random ranks - Players receive bonuses based on their rank number
- Late joiners are unranked → No bonuses, vanilla gameplay
- Player kills a higher-ranked player → Ranks swap (if enabled)
- Climb the ranks through PvP to become #1
📊 Rank Benefits Overview
| Rank | Hearts | Potion Duration | XP Multiplier | Extra Slots |
|---|---|---|---|---|
| #1 | 20 | 2.0x | 3.0x | 54 ⭐ |
| #2 | 19.5 | 1.95x | 2.90x | 54 ⭐ |
| #3 | 19 | 1.90x | 2.81x | 50 ⭐ |
| #5 | 18 | 1.81x | 2.62x | 40 ⭐ |
| #10 | 15.5 | 1.57x | 2.15x | 15 ⭐ |
| #15 | 13 | 1.33x | 1.67x | 0 |
| #20 | 10.5 | 1.05x | 1.1x | 0 |
| Unranked | 10 | 1.0x | 1.0x | 0 |
🏷️ Nametag Display
Ranked players display their rank in chat and above their head:
[UNRANKED] PlayerName → [#20] PlayerName → [#1] PlayerName
Supports both vanilla scoreboard teams and TAB plugin integration!
🖥️ Server Compatibility
✅ Bukkit
✅ Spigot
✅ Paper (Recommended)
✅ Purpur
✅ Pufferfish
Minimum Version: 1.21+
Dragon Egg Locator: 1.21.6+ only
Need help or have suggestions? Join my Discord Server.
Remade by Lusik21556 (@lusik_2155)
All Versions
+ Add Versionmade mace not go thru totems
- Highly recommended update.** Fixes several important security and stability issues.
full recode coming soon.
## 🚨 What Happened
A duplication exploit was discovered in the
/extrainventory (/einv) command.Using Meteor Client.
## ✅ What Was Fixed in v2.2
- Dupe patch** - Details are intentionally withheld to protect servers still running older versions
## ❗ How to Update
1. **Shut down your server** if it is still running
2. Delete your old
RankedSMP-*.jar from your plugins/ folder3. Download **RankedSMP v2.2** and place it in
plugins/4. Start your server
> ⚠️ Do **NOT** skip this update. Servers running older versions are still vulnerable.
— *Lusik21556 (@lusik_2155)*
### Changes
- Verdict effects reworked. Now matches the updated SMP 1:1
- Cooldowns raised to match
- Verdict: 30s
- Sentencing: 10s on miss
- Dash trail fixed
- Dash system reworked (backend)
- Removed fake command
- Extra inventory drops on death
- Fixed healing when rejoining
- Added mace texture like in the Ranked SMP
- Fixed Hierarchy Hammer. Works correctly again after update
### Notes
- Previous issues like fake commands and related bugs were caused by third party code, not my own implementation
- All of those issues are fully resolved in this version
- Changelog:**
- Added mini-dashes after each successful Verdict hit
- Fixed Verdict falsely saying "missed" when smash attacking close to the ground
- Added ping compensation for miss detection
- Verdict no longer expires after 10 seconds — stays active until you miss or disconnect
- Players are now sorted by rank in the tab list (Rank 1 at the top, Unranked at the bottom)
## Added
- Hierarchy Hammer [NEW]**
- Custom mace weapon with dash ability (RMB)
- Sentencing mechanic: Land 4 consecutive smash attacks to trigger Verdict
- Verdict effect: 2x damage multiplier + terrain destruction + particle effects
- Miss penalty: Configurable cooldown (default 5s)
- Full config customization: dash cooldown, damage multiplier, block breaking
- Give command:
/rankedsmp give mace <player>
- Hot Reload Command**
/rankedsmp reload- Apply config changes without server restart- Automatically updates all online players
- Player Disconnect Cleanup**
- Scoreboard teams removed on quit (prevents ghost prefixes)
- Health reset to default (prevents persistent custom hearts)
## Configuration
Add to your
config.yml:``
yaml
# Hierarchy Hammer Settings
hierarchy-hammer:
dash-cooldown: 5000 # ms - Cooldown after dash or miss
verdict-damage-multiplier: 2.0 # Damage multiplier on verdict hit
block-breaking:
enabled: true # Whether verdict can break terrain
allowed-blocks: # Only these blocks can be broken
- GRASS_BLOCK
- GRAVEL
- SAND
`
## Improvements
- Memory Leak Fix** - Hierarchy Hammer player data properly cleaned on disconnect
- Code Optimization** - Improved performance and code quality across multiple systems
- Invisibility Fix** - Players with invisibility potion no longer visible to others
## Notes
- Backward compatible with existing configs
- Server restart recommended but not required (use
/rankedsmp reload`)## Added
- AltarSMP Plugin Hook**
- Full compatibility with Altar Arc 1 and Altar Arc 2 plugin
- Unranked players remain unaffected by RankedSMP's protection
- Enable/disable via config:
hooks.AltarSMP: true/false
## Configuration
Add to your
config.yml:``
yaml
hooks:
TAB: false
PlaceholderAPI: false
AltarSMP: false # Set to true to enable compatibility
``## Requirements
- AltarSMP Arc 1 v1.8+ OR AltarSMP Arc 2 v1.2+
## Notes
- No performance impact
- Fully backward compatible with existing setups
- Works on Bukkit, Spigot, and Paper servers
- Server restart required after enabling the hook
## Credits
Special thanks to @notfudum for being so chill and adding RankedSMP compatibility!
## Fixed
- Health System Not Working**
- Players' hearts now properly increase/decrease when ranks change
- Fixed issue where health would only update after rejoining the server
- Rank Management GUI**
- Swapping, moving, and removing ranks via GUI now properly updates
- Players now correctly appear in GUI after killing someone
- Players now correctly appear in GUI after joining the server
## Notes
- All fixes are fully backward compatible
- No data migration required
- Works on Bukkit, Spigot, and Paper servers
## 🎁 New Features
- More Accurate Extra Inventory Slots**
- Rank #1-2**: Now get **54 slots** (was 30/27) - Full double chest!
- Rank #3-10**: New progressive formula gives **15-50 slots** (was 3-24)
- Top ranks now have significantly more storage space
- Rank Stealing Toggle** (NEW Config Option)
- Added
gameplay.keep-ranksoption in config. yml - Set to
trueto disable rank stealing on death - Defaults to
false(rank stealing enabled as before) - Allows for different server playstyles
- Automatic Database Migration System**
- New
DatabaseMigrator.javahandles format upgrades automatically - Safely migrates old inventory data to new format
- Tracks migration status to prevent duplicate migrations
- No manual action required** - happens automatically on first startup
## 🔧 Improved
- Dynamic Inventory Resizing**
- Extra inventories now automatically resize when rank changes
- Items preserved during resize - excess items drop naturally
- Better handling of inventory size calculations
- Fixes issues with rank changes while inventory is open
- Better Access Control**
- New
hasExtraInventoryAccess(rank)method for cleaner code - New
getSlotsForRank(rank)centralizes slot calculation - More consistent access checking throughout plugin
- Easier to maintain and modify in future updates
- Improved Inventory Management**
- Better handling of inventory state during rank changes
- More robust item preservation logic
- Proper cleanup when losing inventory access
- Fixed edge cases with inventory opening/closing
## 📊 Extra Inventory Slot Changes
| Rank | v1.5 Slots | v1.6 Slots | Change |
|------|------------|------------|--------|
| #1 | 30 slots | **54 slots** | +24 slots |
| #2 | 27 slots | **54 slots** | +27 slots |
| #3 | 24 slots | **50 slots** | +26 slots |
| #4 | 21 slots | **45 slots** | +24 slots |
| #5 | 18 slots | **40 slots** | +22 slots |
| #6 | 15 slots | **35 slots** | +20 slots |
| #7 | 12 slots | **30 slots** | +18 slots |
| #8 | 9 slots | **25 slots** | +16 slots |
| #9 | 6 slots | **20 slots** | +14 slots |
| #10 | 3 slots | **15 slots** | +12 slots |
## 🔄 Migration Notes
- ✅ NO BREAKING CHANGES** - Update safely from v1.5 or v1.4!
- Database migration happens automatically on first startup
- Existing extra inventories are preserved
- No manual steps required
## 📝 Config Changes
``
yaml
gameplay:
keep-ranks: false # NEW - Set to true to disable rank stealing
``## 🐛 Fixed
- Fixed inventory size mismatches when rank changes rapidly
- Fixed potential item duplication during inventory resize
- Improved inventory state consistency
- Better error handling for database operations
## 📦 Technical Details
- Refactored inventory slot calculation logic
- Better code maintainability and extensibility
## ⚠️ BREAKING CHANGES - ACTION REQUIRED
- Before updating from v1.4 or older:**
/extrainventory 2. Stop your server
3. Delete
plugins/RankedSMP/data.db4. Update to v1.5
5. Start server
- If you skip these steps, extra inventories will be lost!**
## Changed
- Full Bukkit/Spigot Compatibility** - No longer requires Paper
- Removed Adventure API dependency (Paper-only)
- Switched to legacy color codes (
§codes) - Changed inventory serialization to standard Bukkit YAML format
- Plugin now works on Bukkit, Spigot, and Paper
## Fixed
- 20 Player Limit Safety** - No more crashes with 20+ players
- First 20 players get ranks when using
/rankedsmp start - Additional players receive "No available Ranks!" message
- Prevents IndexOutOfBoundsException
## Notes
- Paper users**: Plugin still works perfectly on Paper
- Old data.db files are incompatible due to changes
## Fixed
- Death Loop Bug** - Players no longer stuck in death/alive loop
- Fixed critical oversight where unranked players killing ranked players caused victims to loop between death and alive states
- Health updates now properly handled on respawn
- Added safety checks
## Added
- PlaceholderAPI Support** - Full placeholder integration
%rankedsmp_rank%- Player's rank number (e.g., "5" or "UNRANKED")%rankedsmp_rank_formatted%- Formatted rank (e.g., "#5" or "UNRANKED")%rankedsmp_hearts%- Player's max hearts amount%rankedsmp_extra_slots%- Extra inventory slots count- Works with chat plugins, scoreboards, tab lists, etc.
## Notes
- Update immediately** if experiencing death loops on your server
- PlaceholderAPI is optional - plugin works without it
## Added
- Rank Management GUI** -
/rankedsmp manage - Visual interface for managing all ranked players
- Click-to-Move System:
- Left-click player head to select
- Left-click player to move or swap ranks
- Right-click to remove (two-step confirmation)
- Shows all ranked players (online & offline)
- Works on cracked servers
- Dynamic GUI expansion (1-6 rows)
## Improved
/rankedsmp rank set <player> <rank>- Now works with offline players/rankedsmp rank remove <player>- Now works with offline players- No longer need players online to manage their ranks
## Notes
- Perfect for removing inactive players from rankings
- 🚨 CRITICAL: Update immediately if you have unranked players on your server**
## Fixed
- Unranked Player Progression Blocked** - Unranked players were unable to steal ranks from ranked players
- The rank swap system was incorrectly blocking unranked players from entering the ranking system
- Unranked players can now properly steal ranks and join the competition
- Victims now correctly become unranked when killed by an unranked player
## Notes
- This was a game-breaking bug for servers starting fresh or with new players
- All players should now be able to participate in the ranking system regardless of starting status
- ⚠️ Important: Update recommended to prevent item duplication exploit**
## Fixed
- Item Duplication Glitch** - Players were dropping items twice when killed by a lower rank
- Caused by a Minecraft/Spigot bug where changing max health during death events duplicates drops
- Health updates are now delayed by 1 tick to prevent this
- Extra Inventory Persistence** - Items in extra inventory no longer disappear
- Extra inventory is now saved to SQLite database
- Items persist through server restarts and reconnects
## Notes
- A new
data.dbfile will be created in the plugin folder for inventory storage - Extra inventory items from before this update will be lost (one-time reset)
## Added
- TAB Plugin Support** - Full compatibility with TAB plugin
- New config option:
hooks.TAB: false(default) - Set to
trueif you use TAB plugin - Rank prefixes display correctly in tablist & nametags
- No more conflicts between RankedSMP and TAB
## Fixed
- Negative potion effects (poison, wither, slowness, etc.) were being extended
- Now only positive effects receive the rank duration bonus
## Notes
- Delete your old
config.ymlto generate the new one with hooks section - If you don't use TAB plugin, no changes needed
## Added
- Automatic Update Checker** - Plugin checks for updates on startup
- Admins get notified in-game when new version is available
- Console displays update status and download link
## Fixed
- Crashes on older server versions (missing
MAX_HEALTH/GENERIC_MAX_HEALTHfallback) - Now properly supports both legacy and modern Minecraft versions
## Notes
- No config changes required
- Just drag & drop to update!
