Overview
When ranking is enabled, player deaths update profile statistics (kills, deaths, ranking points). Team ranking is the average of membersβ points. Strategy is selected with ranking.ranking-type.
Ranking Types
| Type | Class | Behavior |
|---|
ELO | EloRankingService | Classic Elo-style gain/loss based on rating difference |
PERCENTAGE | PercentRankingService | Percentage-based point transfer |
STATIC | StaticRankingService | Fixed winner/loser point deltas |
ELO
ranking:
ranking-type: ELO
elo-ranking:
elo-constants:
- minimum-ranking: 0
maximum-ranking: 500
elo-correction-factory: 32
- minimum-ranking: 500
maximum-ranking: 1000
elo-correction-factory: 24
- minimum-ranking: 1000
maximum-ranking: 99999
elo-correction-factory: 16
elo-divider: 400.0
elo-exponent: 10.0
| Option | Description |
|---|
elo-constants | K-factor bands by ranking range (list from low to high). maximum-ranking: -1 means open-ended upper bound in docs intent; use large values for top band |
elo-correction-factory | Maximum magnitude of ranking change in that band |
elo-divider | Smaller β smaller rating swings |
elo-exponent | Smaller β smaller rating swings |
PERCENTAGE
ranking:
ranking-type: PERCENTAGE
percentage-ranking:
percentage-ranking-change: 2.0
| Option | Description |
|---|
percentage-ranking-change | Percent of points transferred on kill |
STATIC
ranking:
ranking-type: STATIC
static-ranking:
static-winner-ranking-change: 15
static-loser-ranking-change: 5
| Option | Description |
|---|
static-winner-ranking-change | Points added to the killer |
static-loser-ranking-change | Points removed from the victim |
Common Settings
ranking:
enable: true
default-ranking: 500
single-player-ranking-delay: 30
disabled-worlds:
- "spawn"
custom-death-messages: true
disabled-death-message-worlds:
- "world_nether"
multi-accounts-abuse: true
| Option | Description |
|---|
enable | Master switch for ranking on death |
default-ranking | Starting points for new players |
single-player-ranking-delay | Minutes before the same victim grants ranking again (farming delay) |
disabled-worlds | Worlds where ranking does not change (case-sensitive) |
custom-death-messages | Custom kill/death chat (and optional titles) |
disabled-death-message-worlds | Worlds without custom death messages |
multi-accounts-abuse | Enable multi-account abuse checks |
Abuse Protection
| System | Role |
|---|
RankingAbuseManager | Tracks recent killerβvictim pairs; enforces ranking delay / farm limits |
MultiAccountsAbuseManager | Reduces exploit potential from alternate accounts |
Tune single-player-ranking-delay to match your PvP meta (higher on small populations).
Announcements
Kill/death announcements can be rate-limited:
announcement:
limit-announcement-count: true
maximum-announcement-count-per-entity: 2
announcement-persistence-period: 2m
title-announcement-for-death-and-kill: true
This reduces spam when the same entity is killed repeatedly.
Leaderboards
| Surface | Description |
|---|
/team list | Paginated team ranking by average points |
/team player <player> | Player stats and ranking |
| PlaceholderAPI | %mineTeams_ranking_team_<n>%, %mineTeams_ranking_player_<n>%, profile stats |
A background RankingCalculationTask keeps ranking positions refreshed for tops and placeholders.
Profile Statistics
Each profile tracks:
| Stat | Description |
|---|
| Ranking | Points used for tops and team averages |
| Kills | Player kills |
| Deaths | Deaths |
| Assists | Assists (when counted by the death listener flow) |
| KDA | Derived kill/death ratio string |