Skip to main content

Rating & Leaderboards

ArenaPvP includes a built-in rating system that tracks player performance separately for each arena category.

How Rating Works

  • Every player starts with a default rating of 1000.
  • Ratings are tracked per category — your 2-FFA rating is independent of your 4-TDM rating.
  • After each match:
    • Winners gain rating points (default: +25).
    • Losers lose rating points (default: -15).
  • Rating can never go below the configured minimum (default: 0).

Penalties

Leaving a match early or disconnecting during an active arena has consequences:

ActionDefault Penalty
Abandoning (using /arena leave during a match)-25 rating
Disconnecting (closing the game during a match)-15 rating

Penalties can be enabled/disabled and customized in config.json.

Viewing the Leaderboard

Open the leaderboard UI with:

/arena leaderboard

This opens a category selection screen. Choose a category (e.g. 2-FFA) to see the top players ranked by rating, along with their kill/death stats.

Aliases

You can also use /arena lb, /arena top, or /arena ranking.

Stats Tracked

For each player and category, the following stats are recorded:

StatDescription
RatingCurrent ELO-style rating
KillsTotal kills in this category
DeathsTotal deaths in this category
WinsTotal matches won
LossesTotal matches lost
K/D RatioKill-to-death ratio
W/L RatioWin-to-loss ratio

Rating Configuration

These settings in config.json control the rating system:

{
"RatingGainOnWin": 25,
"RatingLossOnDefeat": 15,
"AbandonPenaltyEnabled": true,
"AbandonPenaltyRating": 25,
"DisconnectPenaltyEnabled": true,
"DisconnectPenaltyRating": 15,
"MinRatingAfterPenalty": 0,
"MaxRatingDifference": 50
}

Matchmaking Rating Difference

The MaxRatingDifference setting controls how far apart two players' ratings can be for them to be matched:

  • A value of 50 means a 1200-rated player can be matched with players between 1150 and 1250.
  • A value of 0 disables rating-based filtering (anyone can be matched with anyone).

Data Storage

Player stats are stored as JSON files in data/leaderboards/ under the mod folder, organized by category. These files are automatically created and updated — no manual management required.