Documentation
Getting started
- Add QueueForge to your server — one Discord consent adds the bot and signs you into the dashboard.
- The bot creates its channels automatically: locked
#rules,#matchmakingwith a ready 5v5 queue,#leaderboard,#match-results, plus staff-only#qf-adminand#qf-logs. - Players press Join. When the queue fills, teams are balanced by rating and the match posts with a win prediction.
- After playing, either team presses the winner button; someone from the other team confirms. Ratings update instantly — leaderboard, profiles, rank roles, webhooks, everything.
Commands
| Command | What it does | Who |
|---|---|---|
/setup | Create a queue in any channel (team size 1–6) | Admin |
/setup-server | Create the full channel structure (rules, matchmaking, leaderboard, results, staff) | Admin |
/leaderboard | Top 20 players of the server | Everyone |
/mymatches | Your matches & rating — visible only to you | Everyone |
/rules set | reset | Edit the #rules message | Admin |
/rankrole add | remove | list | Auto roles by rating threshold | Admin |
/language | Bot language: English / Русский / O'zbekcha | Admin |
/cancel | Void 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.
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.
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.