MCTiers Queue & Testing Bot
A complete Discord.js v14 testing bot built for MCTiers-style servers. This bot handles the full ranked testing workflow from account verification, waitlist joining, queue management, tester assignment, ticket creation, result logging, cooldown handling, rank updates, quota tracking, and server setup.
It is designed for PvP testing communities that want an organized, automated system instead of manually managing waitlists, tickets, staff activity, and player history.
Key Features
- EU Waitlist
- AS/AU Waitlist
- queued players
- offline state when no testers are online
- linked Minecraft usernames
- current rank
- peak tier
- cooldown history
- full test history
What The Bot Does
This bot automates almost everything a testing server needs.
Players can verify their Minecraft account, join a waitlist, leave the queue, and check cooldown status through buttons and modals.
Testers can mark themselves active, receive players automatically, manage testing tickets, submit results, skip/discontinue tickets, and track their own testing stats.
Staff can force-link accounts, override cooldowns, reset cooldowns, update ranks manually, transfer data between users, wipe tiers, manage quota values, and even rebuild the server using the included template command.
Player Flow
1. Player clicks
2. Player enters Minecraft IGN
3. Player clicks
4. Player selects region and optional preferred server
5. Bot checks cooldown
6. Player is added to the correct waitlist
7. When a tester is available, a private testing ticket is created
8. Tester completes or skips the test
9. Bot logs the result, updates rank, saves history, and closes the ticket
Tester Flow
1. Tester uses
2. Bot marks them active or standby depending on capacity
3. Waitlist boards update automatically
4. Tester uses
5. Bot creates or reuses a testing ticket
6. Tester manages the ticket with commands like:
-
-
-
-
-
-
7. Tester finishes with:
-
-
-
8. Tester can stop with
All Commands
Queue / Setup
Tester Activity
Ticket Management
Results / Profiles / Stats
Rank Management
Account / Cooldown Management
Staff / Config
Buttons / Interactive Features
The bot also includes interactive buttons and modals:
Setup Tutorial
Instant Setup Video tutorial:
Basic setup steps:
1. Create a Discord bot in the Discord Developer Portal
2. Open
3. Fill in:
- bot token
- client ID
- guild ID
- server branding
- request test channel ID
- logs channel ID
- quota channel ID
- results channel ID
- role IDs
- rank role IDs
- waitlist channel/category IDs
- monthly quota
- cooldown days
4. Run
5. Run
6. Run
Extra Notes
A complete Discord.js v14 testing bot built for MCTiers-style servers. This bot handles the full ranked testing workflow from account verification, waitlist joining, queue management, tester assignment, ticket creation, result logging, cooldown handling, rank updates, quota tracking, and server setup.
It is designed for PvP testing communities that want an organized, automated system instead of manually managing waitlists, tickets, staff activity, and player history.
Key Features
- Full MCTiers-style testing workflow
- Slash-command based system
- Automatic request test panel
- Account verification system for Minecraft IGNs
- Multi-region waitlists
- Supports:
- EU Waitlist
- AS/AU Waitlist
- Per-waitlist enable/disable toggle
- Live waitlist boards
- Automatically shows:
- queued players
- offline state when no testers are online
- Ticket system for active tests
- Automatically creates private test channels for player + tester
- Queue advancing system
- Tester standby/active pool system
- Max active tester limit
- Automatic tester assignment
- Cooldown system
- Cooldown override button for staff
- SQLite database for:
- linked Minecraft usernames
- current rank
- peak tier
- cooldown history
- full test history
- Result posting system
- Tier/rank management
- Peak tier management
- Tier wipe and transfer commands
- Tester quota board
- Staff logs
- Auto-close queue after inactivity
- Built-in default server template generator
- Setup is handled in a single
setup.jsfile instead of.env
What The Bot Does
This bot automates almost everything a testing server needs.
Players can verify their Minecraft account, join a waitlist, leave the queue, and check cooldown status through buttons and modals.
Testers can mark themselves active, receive players automatically, manage testing tickets, submit results, skip/discontinue tickets, and track their own testing stats.
Staff can force-link accounts, override cooldowns, reset cooldowns, update ranks manually, transfer data between users, wipe tiers, manage quota values, and even rebuild the server using the included template command.
Player Flow
1. Player clicks
Verify Account2. Player enters Minecraft IGN
3. Player clicks
Enter Waitlist4. Player selects region and optional preferred server
5. Bot checks cooldown
6. Player is added to the correct waitlist
7. When a tester is available, a private testing ticket is created
8. Tester completes or skips the test
9. Bot logs the result, updates rank, saves history, and closes the ticket
Tester Flow
1. Tester uses
/start2. Bot marks them active or standby depending on capacity
3. Waitlist boards update automatically
4. Tester uses
/next or queue buttons to pull the next player5. Bot creates or reuses a testing ticket
6. Tester manages the ticket with commands like:
-
/lock-
/rename-
/add-
/addspec-
/remove-
/updatename7. Tester finishes with:
-
/close-
/result-
/skip8. Tester can stop with
/stopAll Commands
Queue / Setup
/setup panel- Posts the public queue registration panel/queue open- Opens the public testing queue/queue close- Closes the public testing queue/queue status- Shows queue status
Tester Activity
/start- Marks yourself as an active tester/stop- Removes yourself from the active tester pool/stoptester user- Force stops another tester/next- Opens a ticket for the next player in queue/kill- Emergency stops the queue and saves state
Ticket Management
/close ranking- Closes a testing ticket and awards a rank/skip- Closes a ticket as discontinued without cooldown/lock- Toggles ticket lock/rename [name]- Renames the ticket/add user- Adds a user to a ticket/addspec user- Adds a spectator to a ticket/remove user- Removes a user from a ticket/leave- Lets a player leave the waitlist or active ticket/exempt- Exempts a ticket from auto-close/unexempt- Removes auto-close exemption/updatename new_name- Updates the active player IGN in the database
Results / Profiles / Stats
/result user ign tier [previous_rank] [notes]- Submits a player result/profile [username] [user]- Looks up a Minecraft or Discord profile/history user- Shows recent test history for a player/stats user- Shows tester stats
Rank Management
/setrankuser user rankings- Updates a Discord user’s rank/setrankusername username rankings- Updates a player rank by IGN/setpeaktier user peak- Updates a user’s peak tier/tierwipe player- Removes all tiers from a player/tiertransfer original target- Transfers all tier data from one user to another
Account / Cooldown Management
/forceauth set user username- Manually links a Discord user to an IGN/forceauth unlink user- Unlinks a user account/cooldownreset user- Resets a user cooldown
Staff / Config
/addtester member- Gives a member the tester role/config quota tests- Updates the monthly quota/defaulttemplate confirm:true- Rebuilds the default server template
Buttons / Interactive Features
The bot also includes interactive buttons and modals:
Verify AccountEnter WaitlistCheck CooldownLeave QueueNext (keep channel)Next (delete channel)Cooldown Override
Setup Tutorial
Instant Setup Video tutorial:
Basic setup steps:
1. Create a Discord bot in the Discord Developer Portal
2. Open
setup.js3. Fill in:
- bot token
- client ID
- guild ID
- server branding
- request test channel ID
- logs channel ID
- quota channel ID
- results channel ID
- role IDs
- rank role IDs
- waitlist channel/category IDs
- monthly quota
- cooldown days
4. Run
npm install5. Run
npm run deploy6. Run
npm startExtra Notes
- Uses Node.js 22+
- Uses
node:sqlite, nobetter-sqlite3needed - Stores queue state in JSON
- Stores player/test data in SQLite
- Reposts or restores the request panel automatically
- Refreshes waitlist boards automatically
- Gives default member/unranked roles to new users
- Includes a full default template generator for fast server setup
