Skip to content
Docs Configuration Reference

Documentation

Configuration Reference

Every setting on a leaderboard's Rating Rules page: what it does, its default, and where to find it

Recommended Presets

Casual / New Community

Forgiving settings for a relaxed environment

  • K-Factor: 40
  • Loss Dampen: 20%
  • Matches Required for Ranking: 0

Higher volatility, reduced losses

Standard Competitive

Balanced defaults for most games

  • K-Factor: 32
  • Influence Range: 400
  • Matches Required for Ranking: 5

Default settings, proven formula

Hardcore / Esports

Stable ratings for serious competition

  • K-Factor: 20
  • Precision: 2 Decimals
  • Matches Required for Ranking: 10

Slower changes, more precision

Best Practices

✓

Start with defaults

The default settings work well for most games. Only adjust if you have a specific need.

✓

Use the Elo Calculator first

Test your settings with the calculator before applying them.

✓

Set Matches Required for Ranking on new leaderboards

Require 3-10 matches before ranking to prevent provisional ratings from skewing rankings.

✗

Avoid extreme K-factors

K-factor below 16 makes progress feel slow; above 50 makes rankings unstable.

✗

Don't change settings mid-season

Changing Elo parameters affects new matches but not past ones, creating inconsistency.

✗

Don't set Loss Dampen too high

Above 30% causes rating inflation over time as more points are created than removed.

Rating Calculation

The core numbers behind every rating change

Default Rating

Default: 1200

Where: Rating Rules → Rating Calculation

The rating every new player starts at on this leaderboard. To start some players higher or lower, see Starting rating by role below.

In exports and the API: elo_default_rating

K-Factor

Default: 32

Where: Rating Rules → Rating Calculation

Controls how much ratings change after each match. Higher values cause larger rating changes, making the system more responsive but potentially more volatile. Lower values create smaller, more stable rating adjustments.

In exports and the API: elo_k_factor

Influence Range

Default: 400

Where: Rating Rules → Rating Calculation

Controls how much rating difference affects expected win probability in the Elo formula. Higher values (e.g. 500) mean rating differences have less impact on expected outcomes. Lower values (e.g. 200) mean rating differences have more impact on expected outcomes.

In exports and the API: elo_influence_range

Curve Factor

Default: 10

Where: Rating Rules → Rating Calculation

Adjusts the steepness of the probability curve in the Elo calculation. Higher values create a steeper curve, making small rating differences more significant in determining expected outcomes.

In exports and the API: elo_curve_factor

Precision

Default: Rounded

Where: Rating Rules → Rating Calculation

How ratings are stored and shown. Rounded shows whole numbers, 2 Decimals shows two decimal places, and Full keeps the exact calculated value.

Options:

Rounded2 DecimalsFull

In exports and the API: elo_precision

Loss Dampen (%)

Default: 0

Where: Rating Rules → Rating Calculation

Reduces the rating players lose on a defeat by this percentage. A value of 20 means players lose 20% less rating on defeats. This makes the system more forgiving and can encourage continued participation.

In exports and the API: elo_loss_dampen

Min Rating

Default: None

Where: Rating Rules → Rating Calculation

A floor for ratings: a loss never takes a player below this value. Leave it empty for no floor.

In exports and the API: elo_min_rating

Max Advantage

Default: None (no limit)

Where: Rating Rules → Rating Calculation

Sets a maximum limit on how much rating advantage a player can have while still gaining points from a win. Once a player's rating exceeds their opponent's by this amount, they no longer gain points from beating that opponent. Leave it empty for no limit.

In exports and the API: elo_max_advantage

FFA Distribution

Default: On

Where: Rating Rules → Rating Calculation

Applies to free-for-all (FFA) matches. When on, a player's rating change is divided by the number of opponents, preventing excessive rating changes in large matches. When off, each matchup counts in full, which can lead to much larger rating swings.

In exports and the API: elo_ffa_distribution

Elo Capping

Limits on how much large rating gaps affect gains and losses

Turn capping on with the Enable switch in this section. The settings below apply only while it is on.

Cap Range

Default: Same as Influence Range (400)

Where: Rating Rules → Elo Capping

The maximum rating difference used in calculations when capping is active. Any gap larger than this is treated as equal to the cap range. For example, with a cap range of 400, a 600-point gap is treated as 400 for capped scenarios. Lower values create tighter bounds on rating changes. Setting it to 0 rates every capped match as dead even — both sides play for ±K/2 (±16 at the default K-Factor).

In exports and the API: elo_cap_range

Cap Threshold

Default: 0 (cap every match)

Where: Rating Rules → Elo Capping

The minimum rating gap between the players before capping engages. Below the threshold matches are rated with normal, uncapped Elo; at or above it the caps apply. Combined with a Cap Range of 0 this creates handicap matches: once opponents are far enough apart, the match is scored as if it were even (±K/2), typically in exchange for an in-game handicap the league sets itself. Add “Loser Protection” by turning the underdog's Cap Loss Impact off, so the lower-rated loser only drops what normal Elo would take.

In exports and the API: elo_cap_threshold

Cap Win Impact (favorite)

Default: On

Where: Rating Rules → Elo Capping → Favorite (Higher-Rated)

Prevents near-zero gains when favorites beat much lower-rated opponents. Without this cap, gains shrink toward zero as the rating gap grows. Example with default settings (K-Factor 32, Cap Range 400) and a 1800 vs 1200 matchup: on → favorite gains +2.9, off → favorite gains only +1.0. Turn it off to stop high-rated players farming lower-rated opponents for easy points.

In exports and the API: elo_cap_favorite_win_impact

Cap Loss Impact (favorite)

Default: On

Where: Rating Rules → Elo Capping → Favorite (Higher-Rated)

Reduces the penalty when favorites lose to much lower-rated opponents. Example with default settings and a 1800 vs 1200 matchup: on → favorite loses -29.1, off → favorite loses -31.0. Turn it off to impose harsher penalties for upsets.

In exports and the API: elo_cap_favorite_loss_impact

Cap Win Impact (underdog)

Default: On

Where: Rating Rules → Elo Capping → Underdog (Lower-Rated)

Reduces the reward when underdogs beat much higher-rated opponents. Example with default settings and a 1200 vs 1800 matchup: on → underdog gains +29.1, off → underdog gains +31.0. Turn it off to allow larger rewards for upset victories.

In exports and the API: elo_cap_underdog_win_impact

Cap Loss Impact (underdog)

Default: On

Where: Rating Rules → Elo Capping → Underdog (Lower-Rated)

Prevents near-zero losses when underdogs lose to much higher-rated opponents. Without this cap, losses shrink toward zero as the rating gap grows, meaning underdogs barely lose any points from expected defeats. Example with default settings and a 1200 vs 1800 matchup: on → underdog loses -2.9, off → underdog loses only -1.0.

In exports and the API: elo_cap_underdog_loss_impact

Rating Boosts

Extra movement for new players and players on a streak

Provisional Rating

Default: Off

Where: Rating Rules → Provisional Rating

While a new player's rating is provisional, their gains and losses are amplified so they settle near their true rating faster, then fade to your normal K-Factor. Set the Boost multiplier (1.0 = no boost), how many Provisional matches it lasts, and the Fade curve. It goes by each player's own match count.

In exports and the API: elo_provisional_enabledelo_provisional_multiplierelo_provisional_matcheselo_provisional_curve

Streak Boost

Default: Off (when on: starts at 3, +10% per extra game, 50% maximum)

Where: Rating Rules → Streak Boost

Scales a player's rating change by the streak they bring into the match. Starts at is the streak length that first earns a boost, Per extra game adds a percentage for each game past it, and Maximum caps the total. Then pick which cases apply: a win streak can bring bigger gains, or bigger losses when it's broken; a loss streak can bring smaller losses or bigger gains. Streaks count consecutive wins or losses against any opponent on this leaderboard, unlike Farming Detection, which watches one opponent.

In exports and the API: elo_streak_enabledelo_streak_thresholdelo_streak_step_pctelo_streak_cap_pctelo_streak_hot_winelo_streak_hot_losselo_streak_cold_losselo_streak_cold_win

Bonuses & Policies

Role-based adjustments, casual matches, and farming alerts

Server Booster Bonus

Default: Inherit server setting

Where: Rating Rules → Server Booster Bonus

Gives members of a Discord role an Elo bonus on this leaderboard. Pick the Booster Role and a Bonus Strength (%): at 25%, a +8 win becomes +10 and a −8 loss becomes −6. Inherit uses the server-wide setting; Off turns it off on this leaderboard even if the server has one.

Options:

Inherit server settingOff (disable on this leaderboard)Boost gainsReduce lossesBoost gains & reduce losses

In exports and the API: booster_bonus_modebooster_role_idbooster_elo_bonus_pct

Starting rating by role

Default: None (everyone starts at Default Rating)

Where: Rating Rules → Starting rating by role

Pairs Discord roles with starting ratings. A new player starts at the highest value among the roles they hold instead of the Default Rating. It applies to a player's first match on the leaderboard, so changing it doesn't re-rate players already on the board; to re-seed the current roster, run a “Seed by role” season rollover.

In exports and the API: role_starting_ratings

Casual Policy

Default: Default (follows the server policy)

Where: Rating Rules → Casual Policy

Chooses what an unranked or casual match updates on this leaderboard. A locked player also follows this policy, and their Elo always stays frozen.

Options:

Update Elo ratingUpdate win / loss recordCount toward matches playedUpdate head-to-head recordCollect custom statsAggregate custom stats

In exports and the API: casual_policy

Farming Detection

Default: Off (Streak Threshold 4 when on)

Where: Rating Rules → Farming Detection

Flags players and teams who repeatedly beat the same opponent to inflate their rating. When someone reaches the Streak Threshold (2–10 consecutive wins against the same opponent, however far apart the games are), an alert is posted to the Notification Channel, optionally pinging a Notification Role. Alerts need a linked Discord server and a channel.

In exports and the API: farming_detection_enabledfarming_streak_thresholdfarming_notification_channelfarming_notification_role

Ranking Settings

Who appears in the rankings, and when ratings are shown

Matches Required for Ranking

Default: 0

Where: Rating Rules → Ranking Settings

The minimum number of matches a player must complete before being considered 'ranked' and appearing on the leaderboard rankings.

In exports and the API: matches_required_for_ranking

Inactive Days Threshold

Default: 0

Where: Rating Rules → Ranking Settings

Hides players or teams from the leaderboard if they haven't played a match in this many days. Set to 0 to never hide inactive players. Useful for keeping leaderboards focused on active participants.

In exports and the API: inactive_days_threshold

Hide Ratings Until

Default: Empty (ratings shown)

Where: Rating Rules → Ranking Settings

Until this time, players can't see ratings, rating changes, ranks or tiers for this leaderboard, in Discord or on its public pages. Ratings still update as matches are recorded and all appear at once when the time passes. Admins still see everything on the dashboard.

In exports and the API: hide_ratings_until

Decay & Locking

Lowering inactive ratings, and freezing the leaderboard

Rating decay

Default: Off

Where: Leaderboard → Decay

Lowers inactive players' ratings on a schedule. It is set on the leaderboard's Decay page, for each of its ratings (overall, by team size, by format): how often it runs, and how long a player can go without a match before it applies. Rating Rules shows what is set.

Lock

Default: Unlocked

Where: Danger Zone

Locks or unlocks the leaderboard for match recording. When locked, no new matches can be recorded to this leaderboard and its rating rules can't be changed. Useful for freezing rankings at the end of a season, or before rebuilding the leaderboard's data.

Options:

LockedUnlocked

In exports and the API: lock

Set on other pages

  • Tiers: rank bands, and the Discord roles that go with them, are set on the leaderboard's Tiers page (in the dashboard menu under the leaderboard, Set up → Tiers), with or without a Discord server. Promotion announcements, keeping lower-tier roles and removing them in bulk are on Discord → Tier Roles. Each leaderboard page chooses whether it shows the tiers, on its Layout tab under Rankings.
  • Name and icon: the leaderboard's Standings page. Description and colors: its Default look page, under Website → Leaderboard Pages. Banner: each leaderboard page's Look tab. Header style, sections and their layouts: its Layout tab.
  • Scoreboard instructions for screenshot scanning: the leaderboard's Screenshot Scanning page.

How to set configurations

These settings are edited on each leaderboard's Rating Rules page in the web dashboard. A setting left empty there uses the league default, set on the League defaults tab at the top of the same page.

In Discord, /config leaderboard shows the current values and links straight to the page that owns each one, and /profile leaderboard shows the leaderboard's name, description and colors with links to the pages that edit them.

How does the Elo rating system work?

The Elo rating system is a method for calculating the relative skill levels of players. After each game, points are transferred from the loser to the winner. Try our interactive Elo Calculator to see how different match outcomes affect ratings.