Plugins

Custom Games

Premium
Match queue and stats panels for Valorant and CS2 — staff roles, entry requirements, point values and match logging.

A custom-games panel is a queue board in a Discord channel. Members join the queue, a match starts on its own once ten of them are in, staff finishes or cancels it from the match buttons, and Cloudy updates both teams' points.

LicensePremium
GamesValorant · CS2 — both 5v5
NeedsManage Channels for the match channels, Move Members to clear them afterwards. Without Administrator the bot grants itself access to each match channel it creates — but only the permissions it already has server-wide

Creating a panel

Game

valorant or cs2 · required · fixed after creation

Which game this panel runs. It sets the map pool (12 Valorant maps, 10 CS2 maps) and the side names; team size is five in both.

Name

1–50 characters · required

Unique panel name shown on the board. With several panels — Ranked, Casual, Scrims — this is how members tell them apart.

Panel channel

Required

Where the bot posts this panel's queue board.

Staff role

Required

The role allowed to finish and cancel matches via the match buttons. This is the only required role: without it nobody can close a match and the queue jams.

Panel settings

Required role

Optional · default Everyone

Only members with this role can join the queue. Leave it empty to let everyone in.

Use it for a verified/level-gated queue, or to run an internal scrim board that regular members can see but not join.

Finished-match log

Optional

Channel where completed matches are logged — teams, result, who closed it. Recommended: it is the only durable record of what happened, and it settles arguments about scores.

Points for win

0–100 · default 3

Added to every member of the winning team.

Points for loss

0–100 · default 1

Deducted from every member of the losing team. A score never drops below zero.

The loss value is the price of losing. 0 makes a match free to lose, which suits a casual board. The default 3/1 costs a loss a third of a win — enough that throwing a game hurts, not so much that a bad evening wipes out a week.

The panel embed itself can be designed with the embed builder.

How a match runs

  1. Queue. The panel's join button adds you to the queue — press it again to leave. Queue-banned members, members without the required role and anyone already in a running match on that panel are refused. The queue holds ten.
  2. Teams and channels. At ten, the bot shuffles two random teams of five and creates a category with a map-vote text channel and one voice channel per team that only that team can connect to.
  3. Map vote. Seven maps from the pool are drawn; everyone in the match votes for 60 seconds, or until all ten have voted. The vote closes at the end time the message shows — a click after it is refused. Ties are broken at random.
  4. Finish or cancel. Staff finishes the match by entering the winning team (A or B) or cancels it. Finishing updates points and stats, posts the log entry and removes the match channels. If the result cannot be saved, nobody gets points and the match stays open — just finish it again. Two staff members closing the same match at once cannot count it twice. A match nobody closes expires on its own after about four hours, channels included.

Commands

CommandDoesRequires
/cg leaderboard gameTop ten for a game, by points, then wins—
/cg my-points gameYour wins, losses and points for a game—
/cg points user gameAnother member's wins, losses and points—
/cg-queue ban user game minutes reasonBan a member from a game's queues for 1–43200 minutes (30 days)Manage Server
/cg-queue unban user gameLift a queue banManage Server
/valo-stats name#tagLook up a Valorant account's level and rank—

Panels are created, edited and deleted in the dashboard only — there is no slash command for them.

Queue bans are the moderation tool for this plugin: someone who repeatedly joins and then does not show up gets banned from the queue without being punished server-wide. A ban is per game, covers every panel of that game and expires on its own.

/valo-stats takes a Riot name with tag, not a Discord member, and only works when the bot operator has configured a Henrik API key.

Behaviour notes

  • Created from the dashboard, the bot posts the board within about 30 seconds (Pending badge). If it cannot post there (channel deleted, permissions missing), it retries less and less often, up to once an hour.
  • Edits to a panel (design, points, required role) show up on the posted board within about 30 seconds.
  • If the tenth player's match cannot start for a passing reason, the bot retries on its own for ten minutes; a permission problem is reported to that player instead.
  • Deleting a panel tears down live matches, channels included, and removes the Discord message first. Stats and points are kept.
  • If someone deletes the panel message in Discord by hand, the panel is removed as well, and its live matches are torn down with their channels — stats stay.
  • Point values can be changed at any time; already-finished matches are not recalculated.
  • Points are per server and per game — the Valorant and CS2 ladders are separate — and independent of the Economy currency.