Documentation

Getting started

  1. Add QueueForge to your server — one Discord consent adds the bot and signs you into the dashboard.
  2. The bot creates its channels automatically: locked #rules, #matchmaking with a ready 5v5 queue, #leaderboard, #match-results, plus staff-only #qf-admin and #qf-logs.
  3. Players press Join. When the queue fills, teams are balanced by rating and the match posts with a win prediction.
  4. After playing, either team presses the winner button; someone from the other team confirms. Ratings update instantly — leaderboard, profiles, rank roles, webhooks, everything.

Commands

CommandWhat it doesWho
/setupCreate a queue in any channel (team size 1–6)Admin
/setup-serverCreate the full channel structure (rules, matchmaking, leaderboard, results, staff)Admin
/leaderboardTop 20 players of the serverEveryone
/mymatchesYour matches & rating — visible only to youEveryone
/rules set | resetEdit the #rules messageAdmin
/rankrole add | remove | listAuto roles by rating thresholdAdmin
/languageBot language: English / Русский / O'zbekchaAdmin
/cancelVoid a stuck match (no rating changes)Admin

Ratings & balancing

QueueForge rates skill with OpenSkill — a Bayesian, team-aware system in the TrueSkill family. Every player carries two hidden numbers: a skill estimate and an uncertainty in that estimate.

Your rating

The number you see is a conservative rating — roughly “skill minus uncertainty”, rescaled so new players start at 1000. Because uncertainty counts against you at first, a fresh account has to actually prove itself: its rating climbs as the system watches more games and grows confident. One lucky win can’t rocket a newcomer to the top.

How a result moves it

When a match is confirmed, winners go up and losers go down — but by how much depends on the matchup:

  • Beating a stronger team is worth a lot; beating a weaker one, little.
  • A predicted win barely moves anyone; an upset moves everyone a lot.
  • Every game also shrinks your uncertainty, so ratings settle down the more you play.

The same math powers the win-prediction % shown on each match, and the ± next to recent matches is your exact rating change from that game.

Team balancing

When a queue fills, QueueForge looks at every possible way to split those players into two even teams and picks the one where the teams’ total ratings are as close as possible. It uses the conservative rating (uncertainty included), so new players don’t distort a lobby.

Result confirmation can be manual (a player from the losing team confirms), by an admin, or fully automatic via Riot verified results for League of Legends — the rating update is identical either way.

Migrate from NeatQueue

Dashboard → your server → Import. Paste your NeatQueue web leaderboard link — preview first, nothing is written until you confirm. Ratings, wins and losses carry over; your community keeps its history and continues seamlessly. Private NeatQueue servers work with a token from /apikey.

API & webhooks

Public REST reads (leaderboards, player stats, match history), token-gated writes (queues, players, match outcomes) and signed webhooks for live events. Endpoint shapes mirror NeatQueue’s API, so existing tooling ports with a hostname change.

Interactive API documentation →

FAQ

QueueForge uses OpenSkill, a Bayesian rating system built for teams. Every player has a skill estimate and an uncertainty; the public rating is a conservative view of both (new players start at 1000). Wins against stronger opponents move you more, and early games move you faster while the system is still learning your level.