Skip to content
Docs Queue Settings Reference

Documentation

Queue Settings Reference

Every matchmaking setting in one place — 104 settings across 5 queue types and two modes. Filter down to exactly what applies to your queue.

Settings are configured three ways: options on the /queue_* creation commands, the Admin Actions dropdown on the queue message (Configure … modals), and the web dashboard's queue editor.

Queue type
Mode
Where you set it
Priority
104 settings

Identity & Display

9

What players see: names, images, instructions.

Queue Name
queue_name
essential

The queue's permanent name, used to pick it in commands such as /queue_manage. Up to 32 characters, must be unique in the league, and can't be changed after creation. Players see the Display Title instead, if one is set.

Default
— (required)
Range
max 32 chars; unique per server
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
string
Create
required on every queue command
Web
Discord only
Display Title
title
essential web-editable

Headline shown on the queue/launcher embed.

Set when the queue is created (it defaults to the queue name). After that it can only be changed on the web dashboard.

Default
the queue name
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
string
Create
optional on every queue command
Web
Editable on the web dashboard
Description
description
essential web-editable

Body text on the queue/launcher embed.

Optional when creating the queue. After that, change it on the web dashboard.

Default
— (omitted)
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
string
Create
optional on every queue command
Web
Editable on the web dashboard
Leaderboard
leaderboard
common web-editable

Which Elo leaderboard this queue's matches record ratings on.

In the Discord settings window, leaving this blank keeps the current leaderboard on automatic queues but clears it on hosted queues.

Default
'default'
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
string
Create
optional: versus/headless, versus/hosted, ffa/headless, ffa/hosted, team/headless, team/hosted, anonymous/headless
Menu
Configure Queue Settings
Web
Editable on the web dashboard
Queue / Launcher Image
queue_image_url
advanced web-editable

Banner image on the queue/launcher embed.

Default
none
Range
must be a valid http(s) URL
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
string
Menu
Configure Display Settings
Web
Editable on the web dashboard
Match Lobby Image
lobby_image_url
common web-editable

Image shown on every match lobby this queue creates — persistent, unlike the per-match Set Lobby Image action.

Shown on every match this queue creates. An admin can still set a different image for one match, and a map-vote winner’s image shows instead while it is on screen.

Default
not set (no image)
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
url
Menu
Configure Queue Settings (headless) / Display Settings (launcher)
Web
Editable on the web dashboard
Post-Match Instructions
post_match_instructions
advanced web-editable

Free text shown when players vote on match results (e.g. 'Submit screenshots to #evidence').

Default
none
Range
max 1024 chars
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
string
Menu
Configure Display Settings
Web
Editable on the web dashboard
Show Player Names in Join Feed
join_notification_show_names
advanced web-editable

Whether players are named on an automatic queue. When off, the queue message lists Player 1, Player 2 and so on, Join Feed posts say "Someone", and the match panel shows "Player" instead of names. On by default.

Default
names shown
Applies to
all queue types headless
Details: type, values and where to set it
Type
boolean
Values
Show player names yesHide player names no
Menu
Configure Display Settings
Web
Editable on the web dashboard
Show Leaderboard in Queue Message
join_notification_show_leaderboard
advanced web-editable

Whether the queue message names the leaderboard matches record to.

Automatic names the leaderboard only on ranked queues; Always show and Always hide override that. It only changes the message: matches still record either way.

Default
Automatic: shown on ranked queues, hidden on unranked and disabled ones
Applies to
all queue types headless
Details: type, values and where to set it
Type
boolean
Values
Automatic — show when ranked autoAlways show yesAlways hide no
Menu
Configure Display Settings
Web
Editable on the web dashboard

Team Composition

13

Sizes, player counts, and how teams are formed.

Team Sizes
team_sizes
essential

How many players are on each team, and how many teams a match has; together they set the match size (a 5v5 starts when 10 players are queued). Versus and team queues have equal teams. An automatic (headless) Versus queue can have more than two (e.g. 2v2v2v2v2v2 for six teams of two), set with the teams option at creation or a format like 2v2v2 in Match Rules. Anonymous queues are two teams whose sizes can differ. Not the same as Min/Max Players (FFA and co-op only) or Min/Max Party Size (who may queue together).

With more than two teams, results are reported by placement (1st, 2nd, 3rd…) and rated per format. Captain picks and captain or striking map votes need exactly two teams. A match can have at most 25 players. Uneven team sizes can only be set when the queue is created.

Default
— (required at creation)
Range
A match lobby holds at most 25 players in total, so teams × team size must be 25 or fewer (a 2v2 can have up to 8 teams; a 5v5 up to 5). Headless versus: 2–8 teams. Creation: at least 1 player per team; /queue_versus headless and both anonymous sizes accept up to 25 per team, and the total check above applies on top
Applies to
VersusTeamAnonymous headless + hosted
Details: type, values and where to set it
Type
array
Create
team_size + teams (versus headless) · team_size (versus hosted/team) · team_1_size + team_2_size (anonymous) —required: versus/headless, versus/hosted, team/headless, team/hosted, anonymous/headless, anonymous/hosted
Menu
Configure Match Rules & Voting
Web
Discord only
Minimum Players
min_players
essential web-editable

Free-for-all and co-op queues: how many players a match needs before it can start, counting everyone in it. It is a player count, not a party size. With Maximum Players above it, the match can start anywhere in that range: at Minimum Players the queue waits for the Join Grace Period so more can join, and it starts at once if it reaches Maximum Players. Team queues (Versus, Team, Anonymous) ignore it; their match size comes from Team Sizes.

Example: Min 4, Max 8, Join Grace Period 2. The 4th player starts a 2-minute countdown, and the match starts when it ends, or as soon as the 8th player joins. With Max equal to Min, the match starts the moment Min is reached.

Default
2
Range
≥ 2
Applies to
Free-For-AllCo-op headless + hosted
Details: type, values and where to set it
Type
int
Create
required: ffa/headless, ffa/hosted, coop/headless
Menu
Configure Match Rules & Voting
Web
Editable on the web dashboard
Maximum Players
max_players
common web-editable

Free-for-all and co-op queues: the most players one match can hold. When it is above Minimum Players, the queue waits up to the Join Grace Period for more players after reaching the minimum, and starts immediately at this number. Equal to Minimum Players (the default) means the match starts the moment the minimum is reached. A player count, not a party size (that is Min/Max Party Size under Configure Party Queue).

Default
same as Min players (FFA); 8 for co-op
Range
≥ 2; must be ≥ min_players when both are submitted together (not cross-checked against a stored min)
Applies to
Free-For-AllCo-op headless + hosted
Details: type, values and where to set it
Type
int
Create
optional: ffa/headless, ffa/hosted, coop/headless
Menu
Configure Match Rules & Voting
Web
Editable on the web dashboard
Party Size
party_size
common

How many players a co-op hosted lobby holds. The lobby is full and ready at this count (default 4). This is a lobby size, not the party-queue limit for pre-made groups (see Max Party Size and Min Party Size). Co-op hosted launchers only.

Default
4
Range
2–20 at creation
Applies to
Co-op hosted
Details: type, values and where to set it
Type
int
Create
optional: coop/hosted
Web
Discord only
Join Grace Period
join_grace_period
common web-editable

Free-for-all and co-op queues with Maximum Players above Minimum Players: how many minutes the queue waits for more players after it reaches the minimum. The match starts at the end of the wait with everyone queued, or immediately if it reaches the maximum. 0 starts the match as soon as the minimum is reached.

Only applies when Max players is higher than Min. The countdown starts when Min is reached and isn’t extended by later joins; if players drop below Min, it is cancelled. Change it on the web dashboard.

Default
2 minutes
Range
≥ 0 minutes
Applies to
Free-For-AllCo-op headless
Details: type, values and where to set it
Type
int
Create
optional: ffa/headless, coop/headless
Web
Editable on the web dashboard
Play in Rounds
round_mode
common web-editable

Free-for-all queues: play in rounds instead of starting a match whenever the queue fills. Each round puts everyone queued into lobbies of up to Maximum Players, sorted by rating and split as evenly as possible, with any extra players in the higher lobbies (20 players at 8 per lobby play 7, 7 and 6). Players stay queued between rounds until they leave or are removed, so they can join or leave during a round for the next one. Each lobby is its own match and records its result as usual, and it closes as soon as its result is recorded (even with an endless format), so the round can finish. Rounds are started with the Start Round button on the queue message. A lobby's host is whoever presses 🙋 I'll Host on it; if the host leaves, a player in that lobby or an admin can take over with 🔄 Change Host (the host can press it to hand the lobby back).

Set it on the web dashboard. Each lobby gets a 🙋 I’ll Host button for whoever makes the game room. Pressing Start Round doesn’t wait for every lobby to report: lobbies still playing stay open and can record their result afterwards. Players who quit without leaving the queue can be taken out with 👢 Remove from Queue, by an admin or by the host of their lobby. Rounds turn the idle timeout off.

Default
off
Applies to
Free-For-All headless
Details: type, values and where to set it
Type
boolean
Values
Off — a match starts whenever the queue fills (not set)On — play in rounds true
Web
Editable on the web dashboard
Who Can Start a Round
round_start_by
common web-editable

Rounds queues: who can press Start Round. Admins and lobby hosts (the default) lets server admins, the queue's Admin Roles and creator, and anyone hosting a lobby in the current round start the next one. Admins only leaves out the hosts. Anyone in the queue lets any queued player start a round, for nights with no admin around.

With the default, nobody but an admin can start the first round, because nobody has volunteered to host yet. Pick Anyone in the queue if your rounds often run without an admin.

Default
'hosts' (admins and lobby hosts)
Applies to
Free-For-All headless
Details: type, values and where to set it
Type
select
Values
Admins and lobby hosts hostsAdmins only adminsAnyone in the queue anyone
Web
Editable on the web dashboard
Auto-Start Next Round
round_auto_start_seconds
advanced web-editable

Rounds queues: start the next round by itself this many seconds after every lobby of the current round has finished. The Start Round button still works at any time. If too few players are queued when the countdown ends, nothing starts.

The countdown starts only once every lobby has recorded its result or closed. Leave it blank if lobbies often don’t report; the button works either way.

Default
off (rounds start only from the button)
Range
1–3600 seconds; blank turns it off
Applies to
Free-For-All headless
Details: type, values and where to set it
Type
int
Web
Editable on the web dashboard
Hosts Keep Hosting
round_keep_hosts
advanced web-editable

Rounds queues, for games whose rooms stay open: whoever hosts a lobby gets a lobby to host in every round after, with the same lobby code, until they leave the queue or press 🔄 Change Host. Hosts are spread one per lobby (a host who would share a lobby trades places with the closest-rated player of a lobby without one); with more hosts than lobbies, the most recent hosts stop hosting.

Set it on the web dashboard. Hosts start their next lobby already hosting, with their last lobby code, so they don’t press 🙋 I’ll Host every round. The queue message shows who will host where (🏠) before the round starts.

Default
off
Applies to
Free-For-All headless
Details: type, values and where to set it
Type
boolean
Values
Off — hosts volunteer again each round (not set)On — hosts keep a lobby every round true
Web
Editable on the web dashboard
Hide Round Numbers
round_hide_number
advanced web-editable

Rounds queues: leave the round number out of everything players see. The button reads "Start Round" instead of "Start Round 4", lobbies are "Lobby 2 of 3" instead of "Round 4 · Lobby 2 of 3", and the queue message says "the next round". For a queue that stays open all the time, where the count only grows.

Set it on the web dashboard, as the Number the rounds switch. The number only grows on a queue that never closes, so turn it off there.

Default
off (rounds are numbered)
Applies to
Free-For-All headless
Details: type, values and where to set it
Type
boolean
Values
Off — "Start Round 4", "Round 4 · Lobby 2 of 3" (not set)On — "Start Round", "Lobby 2 of 3" true
Web
Editable on the web dashboard
Team Formation
team_formation
common web-editable

How players are split into teams when a match forms.

Hosted lobbies use their own list of team modes (see “The Two Team-Formation Vocabularies” below); the queue’s choice is translated when a lobby is created.

Default
Balanced Teams balanced_teams
Applies to
VersusAnonymous headless + hosted
Details: type, values and where to set it
Type
enum
Values
Balanced Teams balanced_teamsRandom Teams random_teamsPlayers Choose players_chooseCaptains (Highest Elo) captains_highest_eloCaptains (Lowest Elo) captains_lowest_eloCaptains (Random) captains_randomCaptains (Volunteer) captains_volunteerCaptains (Host Picks) captains_host_picks*
Menu
Configure Match Rules & Voting
Web
Editable on the web dashboard
Team Names
team_names
advanced web-editable

Per-queue custom team display names, inherited by every match the queue spawns.

One team per line (or separated by commas), written emoji:name. Leave it blank to go back to the default names.

Default
defaults ['Red','Blue','Green','Orange','Yellow','Purple','Black','White','Brown'] (index 9+ → 'Team N')
Range
each name ≤ 60 chars (silently truncated); Discord input ≤ 500 chars total
Applies to
VersusTeamAnonymous headless + hosted
Details: type, values and where to set it
Type
array
Menu
Configure Team Names
Web
Editable on the web dashboard
Team Emojis
team_emojis
advanced web-editable

Per-queue custom team emojis (parsed from the same input as team_names).

Default
defaults ['🔴','🔵','🟢','🟠','🟡','🟣','⚫','⚪','🟤'] (index 9+ → '⚪')
Range
unicode emoji only, ≤ 16 UTF-16 units; Discord custom emoji (<:name:id>) rejected
Applies to
VersusTeamAnonymous headless + hosted
Details: type, values and where to set it
Type
array
Menu
Configure Team Names
Web
Editable on the web dashboard

Matchmaking Rules

6

Elo gating, rematch cooldowns, unique-choice matching.

Max Elo Difference
max_elo_difference
common web-editable

Largest rating spread allowed in one match on an automatic queue. The highest-rated player minus the lowest-rated must be at or under this number (on team queues, the gap between the two teams' ratings), otherwise the queue waits for a closer group. Blank or 0 means no limit. Not the same as Max Party Rating Difference, which limits the spread inside one party.

Default
unlimited
Range
> 0 to save; blank/0 clears (disabled)
Applies to
VersusFree-For-AllTeamAnonymous headless + hosted
Details: type, values and where to set it
Type
number
Menu
Configure Matchmaking Rules (headless only)
Web
Editable on the web dashboard
Min Elo Difference
min_elo_difference
advanced web-editable

Smallest rating spread a match must have on an automatic queue. The highest-rated player minus the lowest-rated must be at least this number (on team queues, the gap between the two teams), so strong and weaker players are deliberately matched together. Blank or 0 turns it off.

Waits until the players, or the two teams, are at least this far apart in rating. Pair it with the leaderboard’s Cap Threshold rating rule so these matches are also rated as handicap matches.

Default
disabled
Range
> 0 to save; blank/0 clears (disabled)
Applies to
VersusFree-For-AllTeamAnonymous headless + hosted
Details: type, values and where to set it
Type
number
Menu
Configure Matchmaking Rules (headless only)
Web
Editable on the web dashboard
Rematch Cooldown
rematch_cooldown_minutes
advanced web-editable

Minutes before two players (or teams) who just played against each other can be matched as opponents again in this queue. The timer starts when their match ends. 0 means they are never matched against each other again; blank turns the cooldown off.

Default
disabled
Range
≥ 0; 0 = never rematch (forever); blank clears
Applies to
all queue types headless
Details: type, values and where to set it
Type
number
Menu
Configure Matchmaking Rules
Web
Editable on the web dashboard
Reset Cooldown on New Opponent
rematch_cooldown_reset_on_new_opponent
advanced web-editable

When a player's next match is recorded, their earlier Rematch Cooldowns in this queue are cleared, so they can face those opponents again once they have played someone new. With a Rematch Cooldown of 0 this becomes "no back-to-back rematches". Off: every rematch cooldown runs its full length.

Default
false
Applies to
all queue types headless
Details: type, values and where to set it
Type
boolean
Values
Disabled noEnabled yes
Menu
Configure Matchmaking Rules
Web
Editable on the web dashboard
Unique Choice Matchmaking
rival_teams
advanced

Builds teams from a choice each player has picked on the leaderboard, such as a faction, role or lane. Faction vs Faction puts players with the same choice on one team; Balanced gives each team one player of each choice (or the counts set in Team Composition). Automatic Versus, Team and Anonymous queues only.

Set in Discord only. Picking the same choice again keeps the scores; picking a different one resets them.

Default
disabled
Range
requires a leaderboard choice definition with ≥ 2 choices; invalid selections are silently dropped
Applies to
VersusTeamAnonymous headless
Details: type, values and where to set it
Type
object
Values
Disabled disabledFaction vs Faction (all same value per team) <choice>Balanced (one of each value per team) balance:<choice>
Menu
Configure Matchmaking Rules
Web
Discord only
Team Composition (Formation Quota)
rival_teams.team_quota
advanced

Fixed per-position formation (e.g. 'goalkeeper:1, defender:2') each team must satisfy under balanced Unique Choice Matchmaking.

Needs a rival choice first, and only applies when teams are balanced.

Default
absent = one of each position per team
Range
positive integer counts; positions must exist in the rival choice; counts must sum to team size
Applies to
VersusTeamAnonymous headless
Details: type, values and where to set it
Type
object
Menu
Configure Team Composition
Web
Discord only

Match Rules & Format

2

Ranked vs unranked, voting mode, series format.

Ranking & Voting Mode
match_result
essential web-editable

Whether results record, affect Elo, and who approves them.

Every queue starts as Ranked; change it in Match Rules or on the web dashboard. Unranked and Disabled hide ratings in the match message, since nothing can change them.

Default
Ranked — players vote (consensus) ranked
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
enum
Values
Disabled — no result recording disabledRanked — players vote (consensus) rankedRanked — admin approves the result ranked_adminUnranked — players vote (consensus) unrankedUnranked — admin approves the result unranked_adminRanked — only an admin records it ranked_admin_decideUnranked — only an admin records it unranked_admin_decide
Menu
Configure Match Rules & Voting
Web
Editable on the web dashboard
Match Format
competitive_format
common web-editable

Series structure: one match, unlimited matches, best-of-N, or cumulative points over N rounds.

Every queue starts as Single Match. Saving the Match Rules window always saves the format too. Queues with more than two teams can’t use Best Of or Cumulative.

Default
Single Match single_match
Range
best_of / cumulative require a match count: 1–99 on the web; the Discord modal accepts any count > 0
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
enum
Values
Single Match single_matchEndless Matches endless_matchesBest Of N best_of_NCumulative over N rounds cumulative_N
Menu
Configure Match Rules & Voting
Web
Editable on the web dashboard

Scoring & Stats

9

How series and rounds turn into rating changes and points.

Rating Mode (per series)
series_scoring_mode
advanced

How the series result becomes a leaderboard rating change — fires once per series (after the final round for multi-round formats).

Set from Configure Scoring in Discord. Configure Cumulative Scoring sets the per-round scoring instead.

Default
Elo Rating elo
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
enum
Values
Elo Rating eloPlacement Points placement_pointsElo Rating + Stat Points elo_stat_pointsStat Points stat_pointsNone none
Menu
Configure Scoring
Web
Discord only
Rating Points (per place)
series_placement_points
advanced

Per-place rating points (e.g. '25,15,10,5') for Placement Points mode, or the win/loss base for Stat Points mode.

Leaving it blank keeps the saved list, so switching modes doesn’t erase it. Discord only.

Default
empty
Range
comma/space-separated finite numbers (negatives and decimals allowed); places beyond the list earn 0
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
array
Menu
Configure Scoring
Web
Discord only
Cumulative Score Mode (per round)
scoring_mode
advanced

How each round's placements become scoreboard points whose totals decide a multi-round series (the 'Match Score' axis, distinct from Rating Mode).

Only shown for Best Of and Cumulative formats. Discord only.

Default
Elo Rating elo
Applies to
all queue types headless + hosted best-of / cumulative only
Details: type, values and where to set it
Type
enum
Values
Elo Rating eloPlacement Points placement_pointsManual Points manual_points
Menu
Configure Cumulative Scoring
Web
Discord only
Cumulative Points (per place)
placement_points
advanced

Per-place points each round awards to the in-series scoreboard (e.g. '20,15,12,10').

Leaving it blank keeps the saved list. Discord only.

Default
empty
Range
comma/space-separated finite numbers; places beyond the list earn 0
Applies to
all queue types headless + hosted best-of / cumulative only
Details: type, values and where to set it
Type
array
Menu
Configure Cumulative Scoring
Web
Discord only
Cumulative Stat Definitions
cumulative_stats
advanced

Named per-round stats (kills, caps, …) with points-per-unit and optional rounding, submitted each round of a cumulative series.

Only shown for Cumulative formats. Discord only.

Default
single default score
Range
max 5 stats; Name=Points or Name=Points=round|floor|ceil; name ≤ 45 chars; decimals allowed
Applies to
all queue types headless + hosted cumulative formats only
Details: type, values and where to set it
Type
array
Menu
Configure Cumulative Stats
Web
Discord only
Stat Submission Mode
cumulative_submission_mode
advanced

Whether one captain submits team stat totals per round or every player submits individually.

Default
Match — captain submits team totals match
Applies to
all queue types headless + hosted cumulative formats only
Details: type, values and where to set it
Type
enum
Values
Match — captain submits team totals matchPlayer — each player submits their own player
Menu
Configure Cumulative Stats
Web
Discord only
Round Label
cumulative_round_label
advanced

Custom noun for each round of the series (e.g. 'Game', 'Map', 'Half').

Default
'Round'
Range
max 20 chars
Applies to
all queue types headless + hosted cumulative formats only
Details: type, values and where to set it
Type
string
Menu
Configure Cumulative Stats
Web
Discord only
Win Condition
cumulative_win_condition
advanced

Whether the highest or lowest cumulative total wins the series.

Default
Highest score wins highest
Applies to
all queue types headless + hosted cumulative formats only
Details: type, values and where to set it
Type
enum
Values
Highest score wins highestLowest score wins (golf-style) lowest
Menu
Configure Cumulative Stats
Web
Discord only
Rate
rate_teams
advanced web-editable

Team queues only. 'Each player' (the default) moves every member's own rating, as a team queue always has. 'The teams' gives each roster one rating instead: the one /team stats shows and the queue's rating-gap settings compare. Applies to matches that start after the change.

Rates the team as one unit; players’ own ratings don’t change on these matches. Web dashboard only.

Default
false
Applies to
Team headless
Details: type, values and where to set it
Type
boolean
Values
Each player noThe teams yes
Web
Editable on the web dashboard

Timeouts & Cooldowns

5

Idle eviction, re-queue cooldowns, active-match limits.

Idle Timeout
idle_timeout_minutes
common web-editable

How many minutes a player (or team) can wait in an automatic queue before being removed if no match has started. Default is 10; 0 means players are never removed, and blank goes back to 10. Automatic queues only (hosted lobbies use Auto-Close Idle Lobby).

0 turns the timeout off; leaving it blank uses the 10-minute default. Turning it off also stops timers already running. If the timeout is short for how many players the queue needs, early joiners can be removed before it ever fills: the bot warns when that is likely, and the queue message shows how many players were removed for idling in the last hour.

Default
10 minutes on automatic queues; not used by hosted launchers
Range
≥ 0; 0 disables (players are never idled out); blank stores nothing and falls back to 10
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
number
Menu
Configure Queue Timeouts (headless only — the hosted modal omits this field)
Web
Editable on the web dashboard
Cooldown After Being Matched
match_cooldown_minutes
common web-editable

Minutes a player must wait before joining any queue or lobby in the league again, counted from the moment an automatic queue puts them into a match. Default is 1 minute; 0 turns it off, and blank goes back to the 1-minute default. Hosted launchers don't apply it.

Leaving it blank goes back to the 1-minute default. Set 0 to turn the cooldown off.

Default
1 minute
Range
≥ 0; 0 disables; decimals allowed (e.g. 0.5)
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
number
Menu
Configure Queue Timeouts
Web
Editable on the web dashboard
Cooldown After Result Recorded
match_recorded_cooldown_minutes
advanced web-editable

Minutes every player of a match must wait, after its result is recorded, before joining any queue or lobby in the league again. A rest after the match, where Cooldown After Being Matched counts from when the match starts; whichever ends later applies. Blank or 0 turns it off.

Default
disabled
Range
≥ 0; 0/blank disables
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
number
Menu
Configure Queue Timeouts
Web
Editable on the web dashboard
Block Re-queue Until Result Reported
block_queue_unreported_match
advanced web-editable

Stops a player rejoining this queue while a match they played from it is still unfinished (no result recorded and not closed). It lifts as soon as anyone records the result or the match is closed. Works like One Active Match Per Player set to "within this queue".

Default
false
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
boolean
Values
Allow re-queue noMust report first yes
Menu
Configure Queue Timeouts
Web
Editable on the web dashboard
One Active Match Per Player
active_match_join_block
advanced web-editable

Blocks joining a new lobby while already in an ongoing match, per-queue or server-wide.

Default
Off — players can be in multiple matches off
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
enum
Values
Off — players can be in multiple matches offOn — within this queue queueOn — across all queues (server-wide) server
Menu
Configure Queue Timeouts
Web
Editable on the web dashboard

Voice-Join Enforcement

4

Dodge protection: kick and cool down players who never join voice.

Kick Voice Dodgers
voice_kick_enabled
advanced

After an automatic queue forms a match, checks that every player joined one of the match's auto-created voice channels within the Voice Grace Period. No-shows are swapped for players waiting in the queue; if there aren't enough, the match is cancelled and the players who showed up go back to the queue. Only works when Shared Match Channel or Per-Team Channels creates a voice channel.

Default
false
Applies to
all queue types headless
Details: type, values and where to set it
Type
boolean
Values
Disabled disabledEnabled enabled
Menu
Configure Voice Join
Web
Discord only
Voice Grace Period
voice_kick_grace_minutes
advanced

How long players have to join voice after a match forms before being treated as dodgers.

Default
2 minutes
Range
1–60 minutes (out-of-range values are clamped, with a note in the confirmation)
Applies to
all queue types headless
Details: type, values and where to set it
Type
number
Menu
Configure Voice Join
Web
Discord only
Dodge Queue Cooldown
voice_kick_cooldown_minutes
advanced

How long a voice dodger is blocked from re-joining the queue. Admins can pardon via the Pardon Dodge Cooldown menu action or the web dashboard.

Default
10 minutes
Range
0–1440 minutes (clamped); 0 = no cooldown
Applies to
all queue types headless
Details: type, values and where to set it
Type
number
Menu
Configure Voice Join
Web
Discord only
Dodge Reminder Ping
voice_kick_warning_seconds
advanced

Ping players not yet in voice this many seconds before the dodge timeout fires.

Default
0 = off
Range
0–600 seconds, and must fit ≥ 15s after match start (auto-shortened; turned off if the fit is < 10s)
Applies to
all queue types headless
Details: type, values and where to set it
Type
int
Menu
Configure Voice Join
Web
Discord only

Maps & Voting

3

Map pools, veto strategies, vote timers.

Map Pool
map_pool
common web-editable

Named map pool the queue draws maps from. Queues name their own pool; the default / per-channel pools on Discord → Channels & Defaults are only for the /map_vote command.

Default
none
Range
names a map pool (a maps Option Set) with at least one map, matched case-insensitively; a name with no maps is refused on save, by both the dashboard and the Discord Map Voting modal, since the lookup happens at match time and a missing pool would turn map voting off silently. Deleting a pool a queue still names asks first. Required when a voting strategy is set, and vice versa
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
string
Menu
Configure Map Voting
Web
Editable on the web dashboard
Map Voting Strategy
map_voting_strategy
common web-editable

How maps are selected for matches. FFA/co-op/anonymous creation only offers Simple; the full veto strategies are versus/team.

Not every strategy is offered everywhere: the creation command offers Stage Striking, while the settings window and the web dashboard offer Random and Smash Striking.

Default
no map voting
Range
requires map_pool
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
enum
Values
Simple Vote — players vote for their preferred map simpleRandomized (no repeats) random*Captains Ban (with reroll) captains_ban_with_reroll*Captains Ban (no reroll) captains_ban_no_reroll*Stage Striking (alternating 1-2-2-1 bans) stage_striking*Stage Striking Counterpick (winner bans, loser picks) stage_striking_counterpick*Smash Striking (game 1 strike starters; game 2+ winner bans (3 by default, set per stage list), loser picks) smash_striking*
Menu
Configure Map Voting
Web
Editable on the web dashboard
Map Vote Timer
map_vote_timer_seconds
advanced web-editable

Simple Vote only: auto-conclude the map vote after N seconds, picking the leading map (random on no votes). Headless: countdown starts at match creation; hosted: when the lobby fills.

Default
no timer (vote waits for everyone)
Range
10–600 seconds; out-of-range is a hard error (not clamped)
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
int
Menu
Configure Map Voting
Web
Editable on the web dashboard

Channels & Auto-Channels

15

Where matches post; auto-created temp channels, threads, naming.

Match Start Channel
match_start_channel
essential web-editable

Channel where match/lobby-start announcements post.

Starts as the channel the queue was created in. Change it from Configure Match Announcements or the web dashboard.

Default
the channel the queue was created in
Range
text or announcement channel
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
channel
Menu
Configure Match Announcements
Web
Editable on the web dashboard
Match End Channel
match_end_channel
essential web-editable

Channel where finished matches are listed; also where 'ping on recorded' mentions post.

Starts as the channel the queue was created in. Change it from Configure Match Announcements or the web dashboard.

Default
the channel the queue was created in
Range
text or announcement channel
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
channel
Menu
Configure Match Announcements
Web
Editable on the web dashboard
Match Panel Location
match_panel_location
advanced web-editable

Where the match/lobby panel (roster, map vote, report buttons) is posted. A dedicated channel: the bot creates one text channel per match — placed under the Temp-Channel Category and named with the Shared Channel Name Template — and deletes it when the match ends. Results still post to the Match End Channel.

Private: only the players, your admin roles and the bot see the match channel. Public: anyone can watch. The Temp-Channel Category only decides where the channels are placed.

Default
In the Match Start Channel start_channel
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
enum
Values
In the Match Start Channel start_channelDedicated per-match channel — private (players & staff only) dedicated_privateDedicated per-match channel — public (anyone can watch) dedicated_public
Menu
Configure Match Announcements
Web
Editable on the web dashboard
Temp-Channel Category
category_for_temp_channel
advanced web-editable

Discord category where auto-created match channels are placed.

Default
none
Range
must be a category; web form requires it when auto-channels are enabled
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
category
Menu
Configure Auto-Channels
Web
Editable on the web dashboard
Status Channel
status_channel
advanced web-editable

A channel the bot renames to show whether anyone is waiting in the queue — e.g. "🟢 Ranked" / "⚫ Ranked". Any voice or text channel works, including the channel the queue is posted in (a text channel shows as "🟢-ranked" — Discord lowercases and dashes text-channel names).

Discord lets a bot rename a channel only twice every 10 minutes, so it turns green within seconds when someone joins but can take up to 10 minutes to show empty again. Each queue needs its own status channel. The bot renames the channel you pick and gives it back its old name if you switch.

Default
none
Range
voice, stage, text or announcement channel; bot needs Manage Channels
Applies to
all queue types headless
Details: type, values and where to set it
Type
channel
Menu
Configure Channel Names (headless only)
Web
Editable on the web dashboard
Waiting Room
waiting_room_channel
advanced web-editable

A voice channel players are moved into when they press Join Queue (their party too, on a party join). Leaving the queue never moves anyone out of voice.

The bot can only move players who are already in a voice channel; anyone else gets a private message with a link. Set on the web dashboard only. Not yet available for team queues.

Default
none
Range
voice or stage channel; bot needs Move Members and Connect
Applies to
VersusFree-For-AllCo-opAnonymous headless
Details: type, values and where to set it
Type
channel
Web
Editable on the web dashboard
Status Channel Name (players waiting)
status_channel_name_active
advanced web-editable

Status channel name while at least one player (or team) is queued. Tokens: {queue} (queue name), {count} (number waiting — may be a few minutes behind).

Default
'🟢 {queue}'
Range
max 100 chars
Applies to
all queue types headless
Details: type, values and where to set it
Type
template
Menu
Configure Channel Names (headless only)
Web
Editable on the web dashboard
Status Channel Name (queue empty)
status_channel_name_idle
advanced web-editable

Status channel name while nobody is queued. Tokens: {queue}, {count}.

Default
'⚫ {queue}'
Range
max 100 chars
Applies to
all queue types headless
Details: type, values and where to set it
Type
template
Menu
Configure Channel Names (headless only)
Web
Editable on the web dashboard
Shared Match Channel
create_shared_channel
advanced web-editable

Auto-create a shared text/voice channel for all players in each match; deleted when the match ends.

Default
Disabled disabled
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
enum
Values
Disabled disabledText only textVoice only voiceText & voice voice_and_text
Menu
Configure Auto-Channels
Web
Editable on the web dashboard
Per-Team Channels
create_private_channels
advanced web-editable

Auto-create per-team channels, private (team-only) or public.

Known issue: saving the Auto-Channels window on an FFA or co-op queue resets this to Disabled.

Default
Disabled disabled
Applies to
VersusTeamAnonymous headless + hosted
Details: type, values and where to set it
Type
enum
Values
Disabled disabledPrivate — text (team only) textPrivate — voice (team only) voicePrivate — text & voice voice_and_textPublic — text (whole server) public_textPublic — voice (whole server) public_voicePublic — text & voice public_voice_and_text
Menu
Configure Auto-Channels
Web
Editable on the web dashboard
Match Threads
create_threads
advanced web-editable

Spin up a public or private thread for each match.

If no dispute channel is set, disputes go to the match thread, which only exists when threads are on.

Default
Disabled disabled
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
enum
Values
Disabled disabledPublic thread per match enabledPrivate thread per match enabled_private
Menu
Configure Auto-Channels
Web
Editable on the web dashboard
Voice Auto-Move
voice_move_mode
advanced web-editable

Whether the bot moves players into (and back out of) auto-created voice channels.

Default
Move in at start, back at end in_and_back
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
enum
Values
Move in at start, back at end in_and_backMove in at start only in_onlyNever move players none
Menu
Configure Auto-Channels
Web
Editable on the web dashboard
Shared Channel Name Template
shared_channel_name_template
advanced web-editable

Naming template for the auto-created shared channel. Tokens: {code} {title} {vs}.

Default
'{code}: {title}' (headless) / '{title}' (hosted)
Range
max 100 chars; rendered name clamped to 100
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
template
Menu
Configure Channel Names
Web
Editable on the web dashboard
Team Channel Name Template
team_channel_name_template
advanced web-editable

Naming template for auto-created per-team channels. Tokens: {code} {title} {team} {emoji} {n} {vs}.

Default
'{code} {team}' (headless) / '{team} - {title}' (hosted)
Range
max 100 chars
Applies to
VersusTeamAnonymous headless + hosted
Details: type, values and where to set it
Type
template
Menu
Configure Channel Names
Web
Editable on the web dashboard
Thread Name Template
thread_name_template
advanced web-editable

Naming template for the auto-created match thread. Tokens: {code} {title} {vs}.

Default
'{title} - Chat' (public) / '{title} - {code}' (private)
Range
max 100 chars
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
template
Menu
Configure Channel Names
Web
Editable on the web dashboard

Notifications & Pings

8

Join feeds, match start/end pings, recorded-result pings.

Join Feed Channel
join_notification_channel
common web-editable

Channel where the bot posts a short message each time someone joins an automatic queue, plus one when a match is found. Leaving the queue is not posted. Blank means no join feed.

Default
none = no join feed
Range
text or announcement channel
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
channel
Menu
Configure Queue Alerts (headless only)
Web
Editable on the web dashboard
Join Ping Role
join_notification_role
common web-editable

Role mentioned in Join Feed posts when someone joins an automatic queue, at most once every 15 minutes. Needs a Join Feed Channel. Not the same as Queue Open Ping Role, which pings when the queue message is posted.

Default
none
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
role
Menu
Configure Queue Alerts (headless only)
Web
Editable on the web dashboard
Queue Open Ping Role
queue_open_notification_role
common web-editable

Role pinged when the queue message is posted or reposted — the "we are open, come queue" announcement.

Pings the role on the queue message itself whenever the queue is posted or reposted, so a session reposted each night announces itself. Limited by the Queue Open Ping Cooldown.

Default
not set (no ping)
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
role
Menu
Configure Queue Alerts (headless) / the web form (either kind)
Web
Editable on the web dashboard
Open Ping Cooldown
queue_open_notification_cooldown
advanced web-editable

Minimum gap between Queue Open Ping Role pings. Set to 0 to ping on every post and repost.

A number is minutes, 0 means no cooldown, and blank uses the 2-minute default. When a repost’s ping is held back, the confirmation says so and how long is left.

Default
2 minutes
Range
0 or more; 0 = no cooldown
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
number
Menu
Configure Queue Alerts (headless) / the web form (either kind)
Web
Editable on the web dashboard
Lane Reminder Interval
queue_lane_reminder_interval
advanced web-editable

Minutes between "what lanes are still missing" pings (e.g. "needs +1 Mid and +1 Jungle to start — 8/10 placed"), from the moment the queue is posted until a match starts. 0 turns it off.

Pings the queue-open role with the lanes still needed. Needs a Queue Open Ping Role and a lane formation. Stops when a match starts, when the queue is reposted or taken down, or after an hour. Only the latest reminder stays in the channel.

Default
0 (off)
Range
0 = off; 1 minute minimum when on
Applies to
all queue types headless + hosted best-of / cumulative only
Details: type, values and where to set it
Type
number
Menu
Configure Queue Alerts (headless) / the web form (either kind)
Web
Editable on the web dashboard
Match Start Ping Role
match_start_notification_role
advanced web-editable

Role pinged when an automatic queue starts a match, on the match post in the Match Start Channel. Hosted launchers don't use it.

Default
none
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
role
Menu
Configure Match Announcements
Web
Editable on the web dashboard
Match End Ping Role
match_end_notification_role
advanced web-editable

Role pinged on the match-end post in the Match End Channel when a match finishes, on automatic queues and hosted launchers. Needs a Match End Channel.

Default
none
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
role
Menu
Configure Match Announcements
Web
Editable on the web dashboard
Ping Players on Match Recorded
match_recorded_ping
advanced web-editable

Who gets a real mention in the match-end-channel post when a result records.

Posts in the Match End Channel, and does nothing if that isn’t set. For hosted queues, set it on the web dashboard.

Default
Off off
Applies to
VersusAnonymous headless + hosted
Details: type, values and where to set it
Type
enum
Values
Off offEveryone in the match everyoneOnly players who didn’t confirm non_confirmers
Menu
Configure Party Queue (headless menu only)
Web
Editable on the web dashboard

Scheduled Sessions

1

Open, announce and close the queue on set days and times.

Session Schedule
session_schedule
common web-editable

Runs the queue as a recurring session, such as scrims at 8 PM every Friday and Saturday. When a session opens, the bot reposts the queue message at the bottom of its channel and pings the Queue Open Ping Role, which also starts lane reminders. It can also clear the queue first and post an announcement in a second channel. When the session ends, the bot stops lane reminders and can take the queue message down until the next session.

Set on the web dashboard (queue settings → Schedule); automatic queues only. It can clear the queue when a session opens, take it down when the session ends, and post an announcement that carries the role ping. Times follow the time zone you pick, including daylight saving time.

Default
not set (no schedule: the queue is open whenever it is posted)
Range
days: any of Mon–Sun; start: a time of day in the chosen time zone; length: 15–720 minutes
Applies to
all queue types headless
Details: type, values and where to set it
Type
object
Web
Editable on the web dashboard

Results, Disputes & Evidence

8

Captain vote timeouts, screenshots, AI scanning, dispute routing.

Captain Vote Time Limit
captain_vote_timeout_minutes
advanced web-editable

On matches with captains (captain team formation or team queues), if one captain reports the result and the other doesn't vote within this many minutes, the match is recorded from that one report. Single Match format only; skipped when an admin must approve or decide the result or a screenshot is required. 0 or blank turns it off.

Default
0 = off
Range
≥ 0 (floored to integer); a BLANK submit persists 0 and turns the feature off
Applies to
VersusTeamAnonymous headless + hosted
Details: type, values and where to set it
Type
int
Menu
Configure Captain Vote Timer
Web
Editable on the web dashboard
Require Screenshot Before Recording
require_screenshot
advanced web-editable

Blocks recording a match result until someone in the match has submitted a screenshot with the match panel's 📎 Upload button. Needs a Screenshot Channel set, because the Upload button only appears when one is.

Default
false
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
boolean
Values
Disabled noEnabled yes
Menu
Configure Screenshot Requirement
Web
Editable on the web dashboard
AI Screenshot Scanning
ai_screenshot_recording
advanced

Adds a 'Scan Result' button that has AI read a scoreboard screenshot to pre-fill the match result.

How screenshots are read is set on the leaderboard’s Screenshot Scanning page, not on the queue.

Default
false
Applies to
all queue types headless
Details: type, values and where to set it
Type
boolean
Values
Disabled noEnabled yes
Menu
Configure AI Screenshot Recording
Web
Discord only
Auto-Record Clean AI Scans
screenshot_auto_record
advanced

When an AI scan reads every player and stat cleanly, record it with no manual approval step.

Default
false
Applies to
all queue types headless
Details: type, values and where to set it
Type
boolean
Values
Off — review & approve each scan noOn — auto-record clean scans yes
Menu
Configure AI Screenshot Recording
Web
Discord only
Screenshot Channel
screenshot_channel
advanced web-editable

Channel where the bot reposts screenshots or videos that players submit with the 📎 Upload button on the match panel. Setting it is what makes the Upload button appear; images posted directly in the channel are not counted as match evidence.

Default
none
Range
text or announcement channel
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
channel
Menu
Configure Dispute Handling (headless only)
Web
Editable on the web dashboard
Audit Channel
audit_channel
advanced web-editable

Channel where match events (scores, disputes, results) are logged.

Default
none
Range
text or announcement channel
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
channel
Menu
Configure Dispute Handling (headless only)
Web
Editable on the web dashboard
Dispute Channel
dispute_notification_channel
advanced web-editable

Channel where dispute notifications post when players request admin help.

Default
not set: disputes go to the match thread when threads are on
Range
text or announcement channel
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
channel
Menu
Configure Dispute Handling (headless only)
Web
Editable on the web dashboard
Dispute Ping Role
dispute_notification_role
advanced web-editable

Role mentioned when a dispute is filed.

Default
none
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
role
Menu
Configure Dispute Handling (headless only)
Web
Editable on the web dashboard

Access & Eligibility

14

Passwords, minimum-rating gates, admin roles, party queue.

Queue Password
queue_password
advanced web-editable

Password players must enter to join a headless queue.

Can be set when creating a /queue_versus automatic queue, or later in the queue’s settings. It is never shown pre-filled.

Default
none
Range
max 32 chars at creation; blank submit removes the password
Applies to
all queue types headless
Details: type, values and where to set it
Type
string
Create
optional: versus/headless
Menu
Configure Queue Settings
Web
Editable on the web dashboard
Host Password
host_password
advanced web-editable

Password required to open a lobby from the launcher.

Default
none
Range
blank submit removes
Applies to
all queue types hosted
Details: type, values and where to set it
Type
string
Menu
Configure Queue Settings (launcher)
Web
Editable on the web dashboard
Default Lobby Password
lobby_password
advanced web-editable

Default join password applied to newly created hosted lobbies (hosts can change it per lobby). Up to 32 characters, the most the join box accepts. Party joins are not possible on a password-protected lobby, so while this is set the launcher hides ‘Host as Party’ and its lobbies have no ‘Join as Party’ button, even with Party Queue on.

Default
none
Range
up to 32 characters; spaces around it are trimmed; blank submit removes
Applies to
all queue types hosted
Details: type, values and where to set it
Type
string
Menu
Configure Queue Settings (launcher)
Web
Editable on the web dashboard
Lobby Code Source
lobby_code_source
common web-editable

Who provides the in-game lobby code. 'auto' shows the code the bot generates; 'manual' hides it until an admin enters the real one.

Choose Manual for games where someone creates the room in-game and shares its code (most mobile MOBAs): the match then asks an admin to enter the code instead of showing a placeholder.

Default
'auto' (the bot generates it)
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
select
Values
Bot generates it autoAn admin enters it after the match starts manual
Menu
Configure Queue Settings (headless) / the web form (either kind)
Web
Editable on the web dashboard
Lobby Code Visibility
private_lobby_code
advanced web-editable

Whether the in-game lobby code is printed on the match panel for everyone, or hidden behind a 🔑 View Lobby Code button that only players in the match can use. Not the same as Lobby Code Source, which decides whether the bot or an admin provides the code.

Formerly called “Private Lobby Code”. On the web dashboard it is shown for hosted queues only.

Default
false (code shown in the embed)
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
boolean
Values
Everyone — shown in the embed noPlayers only — behind a button yes
Menu
Configure Queue Settings (launcher) / Display Settings (headless)
Web
Editable on the web dashboard
Minimum Rating to Join
min_elo_to_join
advanced

Rating floor to join (or host from) the queue; unrated players are treated as the league’s default rating.

Not shown for team queues, which join as a unit. Discord only.

Default
no requirement
Range
whole number ≥ 0; 0/blank clears
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
int
Menu
Configure Minimum Rating
Web
Discord only
Minimum-Rating Basis
min_elo_rating_type
advanced

Which of a player's ratings is compared against Minimum Rating to Join. Options: their overall rating (all matches, even-team matches only, or uneven-team matches only), their rating for this team size, or their rating for this exact format such as 5v5.

Cleared automatically when Minimum Rating to Join is cleared.

Default
Global (all matches) player_global_all
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
enum
Values
Global (all matches) player_global_allGlobal (even teams) player_global_evenGlobal (uneven teams) player_global_unevenBy team size player_broadBy format player_specific
Menu
Configure Minimum Rating
Web
Discord only
Restrict Who Sets the Lobby Code
lobby_code_admins_only
advanced

Whether SETTING the in-game lobby code is limited to lobby admins and the queue creator. Viewing is unaffected — everyone in the match can always read it.

Takes effect straight away, including for matches in progress. Admins and the queue’s creator can always set the code; this decides whether other players can too.

Default
false (anyone in the match can set it)
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
boolean
Values
Anyone in the match noAdmins and the queue creator only yes
Menu
Configure Admin Roles
Web
Discord only
Admin Roles
admin_roles
advanced

Roles (beyond server administrators) allowed to confirm/reject results in Admin Approval / Admin Decides modes, and to run a live match’s roster — Substitute Player / Kick Player in the match message’s admin dropdown. Holders are also granted visibility into the private lobby channels and (via Manage-Threads on the parent channel) private lobby threads the bot creates, so an admin can oversee a lobby they aren’t a participant in.

The web dashboard edits a single admin role; set several from Discord.

Default
only server administrators
Range
0–10 roles
Applies to
all queue types headless + hosted
Details: type, values and where to set it
Type
roles
Menu
Configure Admin Roles
Web
Discord only
Party Queue
allow_group_queue
advanced web-editable

Lets players queue with friends they pick: the '👥 Join as Party' button adds a group that always plays on the same team. Solo players can still join and are matched alongside parties, unless Min Party Size is 2 or more. On automatic queues the button is on the queue message; on hosted launchers it appears on each open lobby (plus 'Host as Party' on the launcher). Size limits are Max Party Size and Min Party Size. A password hides the party buttons: the queue password on an automatic queue, the Default Lobby Password on a hosted launcher.

On automatic queues, parties need a team size of 2 or more, a bot-formed team mode, Unique Choice Matchmaking off and no password. Hosted lobbies support parties with every bot-formed team mode, but not with a password: a launcher with a Default Lobby Password shows no party buttons. Changes apply to lobbies created afterwards.

Default
false
Applies to
VersusAnonymous headless + hosted
Details: type, values and where to set it
Type
boolean
Values
Disabled noEnabled yes
Menu
Configure Party Queue
Web
Editable on the web dashboard
Party Invites
party_join_mode
advanced

Consent step for hosted party joins: in invite mode, each picked teammate gets a DM with Accept/Decline (pinged in the lobby channel if their DMs are closed) and the party only joins once everyone has responded — declines simply shrink the party. Instant keeps the frictionless no-accept flow.

Hosted queues only, with Party Queue on. Invites expire after 10 minutes. Changes apply to lobbies created afterwards.

Default
Instant — picks join immediately instant
Applies to
VersusAnonymous hosted
Details: type, values and where to set it
Type
enum
Values
Instant — picks join immediately instantInvite — picks must accept first invite
Menu
Configure Party Queue
Web
Discord only
Max Party Size
max_party_size
advanced web-editable

Largest party allowed, below the structural team-size limit — e.g. 2 in a 5v5 lets players queue solo or as a duo, never as a trio. It does NOT stop solo players; for that, see Min Party Size. Values below 2 are treated as off (to forbid parties entirely, disable Party Queue).

On hosted queues, changes apply to lobbies created afterwards; automatic queues use the new size straight away.

Default
0 (off — parties up to the biggest team size)
Range
2 – biggest team size; 0/blank = off
Applies to
VersusAnonymous headless + hosted
Details: type, values and where to set it
Type
number
Menu
Configure Party Queue
Web
Editable on the web dashboard
Min Party Size
min_party_size
advanced web-editable

Smallest party allowed. 2 means nobody can queue alone: players join with 👥 Join as Party and pick their teammate(s). "Duos only" is Min 2 with Max Party Size 2, or simply Min 2 on a queue whose teams are 2 players (e.g. /queue_versus headless team_size:2 teams:6).

Automatic queues only. At 2 or more, the solo Join button is hidden and smaller parties are refused (an admin adding a player by hand is exempt). Ignored when party queueing isn’t available, so it can’t lock everyone out.

Default
0 (off — solo players can join)
Range
2 – the largest party the queue takes (Max Party Size, else the biggest team size); 0/blank = off
Applies to
VersusAnonymous headless
Details: type, values and where to set it
Type
number
Menu
Configure Party Queue
Web
Editable on the web dashboard
Max Party Rating Difference
max_party_elo_diff
advanced web-editable

The largest rating gap allowed inside one party, from its highest- to its lowest-rated member, to stop a high-rated player carrying a low-rated account. Blank or 0 means no limit. A refused party is told which two players are too far apart.

Checked when a party forms. Unrated players count as the league’s starting rating, so new accounts can’t get around the cap.

Default
0 (off — no spread limit)
Range
> 0; 0/blank = off
Applies to
VersusAnonymous headless + hosted
Details: type, values and where to set it
Type
number
Menu
Configure Party Queue
Web
Editable on the web dashboard

Hosted-Launcher Controls

7

Host permissions, lobby caps, host customization bounds.

Host Lobby Creation Mode
host_lobby_mode
common

Whether pressing 'Host Lobby' creates a lobby immediately with queue defaults or first shows the host a customize modal.

Default
Fixed — lobby uses queue defaults, no prompt fixed
Applies to
all queue types hosted
Details: type, values and where to set it
Type
enum
Values
Fixed — lobby uses queue defaults, no prompt fixedHost customizes — title, description, size host_customizes
Menu
Configure Host Lobby Creation
Web
Discord only
Host Size Range — Min
host_lobby_min_players
advanced

Lower bound of the player count a host may pick when customizing their lobby.

Default
2
Range
≥ 2; ≤ host_lobby_max_players; required in host_customizes mode (only persisted in that mode)
Applies to
all queue types hosted
Details: type, values and where to set it
Type
int
Menu
Configure Host Lobby Creation
Web
Discord only
Host Size Range — Max
host_lobby_max_players
advanced

Upper bound (hard cap 25) of the player count a host may pick when customizing their lobby.

Default
the queue's party size or Max players (4 if neither is set)
Range
≥ 2; hard cap 25; ≥ host_lobby_min_players
Applies to
all queue types hosted
Details: type, values and where to set it
Type
int
Menu
Configure Host Lobby Creation
Web
Discord only
Host Role
host_role
advanced

Restrict who may open lobbies from this launcher.

Default
anyone can host (admins always bypass)
Range
0 or 1 role
Applies to
all queue types hosted
Details: type, values and where to set it
Type
role
Menu
Configure Host Lobby Creation
Web
Discord only
Max Open Lobbies Per Host
max_open_lobbies_per_host
advanced web-editable

Caps simultaneous open lobbies for one host in this queue. Admin hosts bypass this cap (staff seeding).

Default
unset / 0 = unlimited
Range
integer ≥ 0; blank submit leaves the saved value unchanged (0 disables)
Applies to
all queue types hosted
Details: type, values and where to set it
Type
int
Menu
Configure Lobby Limits
Web
Editable on the web dashboard
Max Open Lobbies Per Queue
max_open_lobbies_per_queue
advanced web-editable

Caps still-forming lobbies across all hosts (started/full lobbies stop counting). Enforced for everyone, including admins.

Default
unset / 0 = unlimited
Range
integer ≥ 0; blank leaves saved value unchanged
Applies to
all queue types hosted
Details: type, values and where to set it
Type
int
Menu
Configure Lobby Limits
Web
Editable on the web dashboard
Auto-Close Idle Lobby
lobby_timeout_minutes
advanced web-editable

Closes an open hosted lobby that sits unfilled for this many minutes. The timer restarts each time someone joins, stops once the lobby is full, and the host can reset it. 0 or blank means lobbies never auto-close. Not the same as Idle Timeout, which removes waiting players from an automatic queue.

Default
unset / 0 = never auto-close
Range
≥ 0; blank leaves saved value unchanged
Applies to
all queue types hosted
Details: type, values and where to set it
Type
number
Menu
Configure Lobby Limits
Web
Editable on the web dashboard

Per-Lobby Fields

Set on an individual hosted lobby (by its host or a server admin), not on the queue. They override or supplement the queue's defaults for that one lobby.

FieldWho sets itWhat it does
lobby_titlehost or adminRenames a live lobby; must be non-empty. Governed by the league-wide lobby_permissions.title setting (see below).
lobby_passwordhost or adminSets/removes the join password on one lobby (blank clears).
regionhost or adminFree-text region/ping label shown in the lobby embed; display-only. Governed by the league-wide lobby_permissions.region setting (see below).
lobby_image_urlhost or adminEmbed image URL (http/https). Governed by the league-wide lobby_permissions.image setting (see below).
competitive_formathost or adminPer-lobby override: single_match / endless_matches / best_of_N / cumulative_N.
disabled_mapshost or adminPer-lobby map pool override — unselected maps are disabled; at least one must remain.
team_modeset at creationRuntime team-formation vocabulary for the lobby (see HOST_TEAM_MODES); from /host verbatim, or translated from the queue’s team_formation.
match_resultset at creationThe queue’s match_result mode, copied onto the lobby beside the four booleans it derives. Stored because ranked defaults to false on the lobby record, so a false value cannot tell "the admin chose unranked" apart from "never configured" — the message builder needs that distinction before it hides per-player ratings. Absent on lobbies created before it was stored, which renders as ranked (ratings shown, i.e. unchanged).
lobby_permissions (league-wide)league admin, from the dashboardNot a lobby field — the league-wide policy that decides who may use the four host-editable ones above. Matchmaking → Who can edit lobby panels (on the web dashboard) sets image, title, team_names and region each to host (default: lobby host or a server admin), admin (administrators only; the menu entry stays, a non-admin host is refused on submit) or off (the entry is removed from lobby panels). It exists because on a queue-popped lobby the "host" is an ordinary member, so all four are surfaces a player can write NSFW images or slurs onto in public. Snapshotted onto each lobby at creation so the renderers can drop a disabled entry; re-read live on every attempt, so a change reaches lobbies that are already open. The queue-level lobby_image_url / team_names defaults are unaffected — those are already staff-set.
host customize overridesprospective hostOne-shot overrides at lobby creation when host_lobby_mode = host_customizes; player count bounded by host_lobby_min/max_players and must divide evenly into teams for every non-FFA/non-co-op queue mode (versus, team, anonymous).

The Two Team-Formation Vocabularies

Queues store team_formation (see Team Composition above). Lobbies run on a separate team_mode vocabulary: /host stores its option verbatim, while hosted launchers translate the queue value at lobby creation (balanced_teams → balance_elo, FFA/co-op → none, captains modes pass through).

team_mode valueLabelWhere it comes from
players_choosePlayers Choose/host + translated from queue players_choose + hosted matchmaking submit flows
players_choose_positionsPlayers Choose (with positions)retired — no longer creatableFully removed. The lobby message builders never rendered a position picker, so the mode stored position_names nobody could select from; the whole feature has since been deleted — the /settings positions command, the hosted_lobby_choose_position handler, handleSetPosition, and the position_names field itself. Both createLobby and /host now reject the mode by name. Role-based matchmaking lives on headless queues via rival_teams (Unique Choice Matchmaking). Kept in this list because pre-existing lobby rows still carry the value; nothing reads it.
randomRandom/host onlyNo automatic on-fill randomizer — random assignment fires via the manual Randomize Teams action.
random_anonymousRandom (anonymous)/host + anonymous submit flows
random_positionsRandom (with positions)retired — no longer creatableSame story as players_choose_positions: no picker was ever rendered, and the machinery behind it is deleted. Use rival_teams on a headless queue instead.
random_teamsRandom Teamstranslated from queue random_teams
captains_host_picksCaptains (Host Picks)/host + queue (hosted)
captains_highest_eloCaptains (Highest Elo)queue captains_* pass through unchanged
captains_lowest_eloCaptains (Lowest Elo)queue captains_* pass through unchanged
captains_randomCaptains (Random)queue captains_* pass through unchanged
captains_volunteerCaptains (Volunteer)queue captains_* pass through unchanged
balance_eloBalance by Elo/host balance_elo + translated from queue balanced_teams
no_teamsNo Teams/host + ffa/coop submit flows
noneNonetranslated from ffa/coop queues

Internal & Derived Keys

Keys the system writes automatically — you never set these directly, but you may see them in exports or the API.

versus
Versus Display String

Display string ('5v5', '2v2v2') written alongside team_sizes and versus_format.

The Match Rules modals write team_sizes, versus and versus_format together, and only when the Team Size field is changed: a save for another setting leaves all three alone. (Before 2026-10-11 the modal left versus_format at the creation-time size, so queue status and /queue_manage list could show a stale format.)

versus_format
Versus Format (creation)

Format string ('5v5', '2v2v2') written at queue creation and by the Match Rules modals when the team size changes. Each new match is labelled with it (the lobby's versus, which picks its specific rating), and a hosted launcher sizes its lobbies from it; queue status and /queue_manage list show it. Allowlisted for web PATCH but has no web form control.

ranked / admin_confirmation / admin_decide / match_result_disabled
Match-Result Derived Flags

Four booleans the result-voting flow consumes, fanned out from match_result whenever it is saved (by the bot and by the web form).

The web PATCH allowlists each flag individually with no consistency check against match_result.

admin_role
Admin Role (legacy single)

Legacy single admin-role key, auto-synced to the first entry of admin_roles on every Discord save; older readers (team matches, FFA) still consume it. The web form edits this key directly.

team_mode
Team Mode (legacy queue fallback)

Legacy queue-level key still read as a fallback by some consumers (team_formation || team_mode || "random_teams"). Distinct from the lobby-level team_mode runtime field (see HOST_TEAM_MODES).

Looking for the concepts?

This page is the reference. For how queues, modes, team formation, and formats actually work, see the guide.

Queues & Lobbies guide