Skip to content

Ranked

Quick Start: Set up ranked play.

Ranked is the elo ladder behind RANKED playlists: rated matches, seasons with rollover, widening matchmaking gates, and a tuner that refits runner weights from your results.

  • Three things must hold before any of it works: statistics stays on (the ladder persists in the stats database), ranked.enabled stays on, and at least one lobby runs lobby-mode: RANKED.
  • Lobbies serve one side only, so the ranked trio resolves nowhere until a RANKED lobby exists.

How the ladder works

  • Decided ranked matches move every member K32 against the opposing average, with skill-gap odds, split draws, a zero floor, and the decisive ladder holding rank boundaries.
  • Begun ranked matches are closed to participant joins and leaves, while spectators keep moving both ways. Full math: Ladder math.

Ranked tournaments replace per-match payouts with a pool ledger: wins bank cached deltas, and one net change settles when the run ends.

Seasons

  • Season 1 starts when ranked is first enabled and runs season-length-days (90) before rollover archives every rating into history and resets the live ladder to start-elo. Past seasons stay readable for history and placeholders.
  • Shorter seasons suit fast-moving metas; longer ones suit small servers where 90 days still feels fresh. Rollover needs no action: it logs with its timestamp and keeps going.

Placement and ranks

  • start-mode decides how newcomers read: START_ELO grants start-elo (300) at once, PLACEMENT_MATCHES hides the number as Unranked for placement-matches (3) games while the engine still uses it.
  • ranks holds the thresholds in strictly increasing order; the last met rank wins, and names and colors live in the ranked.ranks lang section keyed by threshold.
  • Parties queueing ranked must sit within one rank step of the leader while parties.ranked-rank-limit holds.

Matchmaking gates

  • Ranked queues gate non-empty matches on elo: the joining party average must land within the current step's half-width of the instance average, and the window widens one matchmaking.elo-range-steps entry every matchmaking.elo-range-interval (75) seconds until -1 opens it fully.
  • Empty and standard instances always pass.

  • Tight early steps protect match quality on big servers; small servers should reach -1 sooner so two friends can still meet. Tune both keys in advanced/playlists.yml; /manhunt reload applies them.

The auto-weights tuner

  • The tuner refits the runner weight per playlist from finished ranked matches, weighing recent results most and engaging past auto-weights-min-games sampled matches.
  • Samples survive seasons; when a mods shake-up changes the meta, reset the affected playlists so stale tuning stops voting. Full rules: Auto-weights tuner.

Penalties

Ranked leaves escalate: a disconnect that spends the last grace strike (forfeit) in a ranked match records one leave penalty.

  • Each penalty inside the remember window climbs one step on the cooldown ladder (2 minutes, 10 minutes, 1 hour, 8 hours, a day, 3 days, a week, a month from the eighth strike on), and every new penalty restarts the window; a penalty past the window starts over at strike one.
  • penalty-window-days (21) sets the window: shorter on forgiving servers, longer on strict ones, live on reload.
  • While a cooldown runs, ranked queues refuse with the remaining time; standard queues keep working.
  • Strikes and expiry ride the ranked placeholders and the queue API, and both penalty events (PlayerMatchPenaltyEvent for standard matches, PlayerRankedPenaltyEvent with the strike count for ranked) fire on the API for companion plugins.

Displays

  • Season elo mirrors into the vanilla tab-list number slot while show-elo-in-tab holds (Unranked shows 0), and show-elo-suffix appends elo-suffix ({rank} is the colored rank name) to ranked display names.
  • Every ranked participant sees a RANKED INFO block at match start with the decisive line and the Change bullet (predicted loss, current elo, predicted gain), and one feedback message plus one anvil cue 0.2 seconds after the end.
  • The match browser ends the ranked panel with the viewer's season standing card. All strings live under ranked in the lang files; the cues are the game.ranked-* sounds.

Operating the ladder

  • /manhunt ranked <enable|disable|status>: the master switch is CLI-only because disabling cancels live ranked matches at once. See Commands.
  • /manhunt ranked resetweights <playlist>: clears one playlist's tuner samples after a meta change.
  • /manhunt playlists weights: per-playlist sampled games, fitted weight, and confidence.
  • Per-lobby mode flips in the admin GUI or with /manhunt playlists mode <id> <ranked|standard>.
  • Tuning constants live in advanced/playlists.yml and re-read on /manhunt reload.

Troubleshooting

The ranked trio resolves nowhere. No lobby runs lobby-mode: RANKED, or the console warns about a queued category the current lobby does not offer. Ranked needs its ladder lobby; single-lobby servers flip the only lobby and lose standard queues there.

Gates read start-elo for everyone. Statistics are off, so the ladder unwired. Re-enable statistics and the standings come back.

The tuner never engages. Fewer than auto-weights-min-games finished ranked matches are sampled for the playlist, or the samples sit under an old mods fingerprint after a shake-up (reset them).

Placement never ends. placement-matches counts finished ranked matches; abandoned queues and standard games do not count.