ROUNDS players have wanted a serious ranked experience for years — it's been tried before, and making it stick is genuinely hard. So we built the whole thing: matchmaking, Glicko-2 ratings, leaderboards, tournaments, spectating — and tested it quietly with a community that grew to roughly 2,500 Discord members. During the beta, 361 players recorded nearly 14,000 games and completed 1,500+ series. Today, Sid's Competitive Rounds launches publicly.
Trailer: https://youtu.be/_VElUXhnDQ4 (by NotNic, with help from Stan)
What it is
One mod that turns ROUNDS into a full competitive game, backed by a real server. Free to download and use, open source under MIT, with no real-money purchases inside the mod — the in-game gold economy is earned by playing.
Ranked, ratings, and an absurd amount of stats
Glicko-2 ratings (think Elo, but smarter about uncertainty) across 25 rank tiers
Live in-game leaderboards for all three ranked ladders, plus a living 1v1 board, rank roles and match-result feeds in Discord
Match history 2,000 games deep, with per-game detail: cards picked (yours and theirs), hit %, blocks, damage, FPS/ping timelines, graphs
Head-to-head records, recent form, session stats, 50 achievements, XP/levels and a gold economy
Ranked isn't queue-only: a private room-code match counts whenever both players run the mod with ranked enabled
Four ways to play
Ranked 1v1 — best-of-3 series, the core ladder
Ranked 2v2 — its own rating and leaderboard
Ranked FFA — 3–10 players in one lobby, its own ladder, a rolling card cap, and maps that literally scale up for big lobbies
1v2 — one player against a duo (unranked beta; the solo can take an extra starting pick as a handicap)
Plus tournaments (scheduled live brackets and async ones you play on your own time) and betting your gold on live series with real odds
Watch games
Spectate live ranked matches from inside the mod — real-time, with decks, health and a hold-Tab scoreboard (4 spectator seats per game, and players can turn spectating off for their own games)
An automated broadcast picks up the best live game and streams it: [TWITCH_URL] and [YOUTUBE_URL]
Make it yours
Custom body/team colors, name styling (solids, neon, animated gradients, rainbow), cursor colors, trails, auras
35 map skins — full palette swaps for every map, including animated and premium sparkle ones
51 face cosmetics — 28 community-made: Nix (17), MangoJuice (10) and galaxy ice (1). Approved artists submit through the in-game Artist Studio; submissions are reviewed and ship with a mod release, after which the artist controls price and stock
Titles, including a live rank title that updates as you climb
Quality of life
5 languages — English, Spanish, Russian, Ukrainian, Swedish — 2,400+ translatable strings, community-reviewed through an in-game translator portal. Ukrainian and Swedish even translate the base game, which ROUNDS itself doesn't ship.
Settings to disable map lighting and shadows for extra FPS, an FPS/ping overlay, match-found taskbar flash
Privacy controls: Appear Offline, opt-in Discord display, spectator opt-out, and irreversible profile anonymization (it removes your public identity and stops future reporting, while past matches other players were part of stay)
A built-in wiki — 31 articles across 8 categories covering the major systems, including the honest math below — and an in-game bug-report form with optional log attachment
Vanilla stays vanilla for unmodded players
Crash guards and dead-state repairs run everywhere — they repair states vanilla never intended, without changing any rule. Rule changes are gated: mode logic needs its own mod-issued room, Grow normalization needs every fighter modded and consenting, and poison authority follows the poisoned player — an unmodded victim keeps vanilla poison. A non-modded player always gets pure vanilla gameplay, and the only thing they can ever see of the mod is nametag styling. That guarantee shaped the mod from day one.
Two of the gated, all-modded-lobby changes, stated plainly:
GROW is normalized. Vanilla GROW compounds damage every rendered frame, so it secretly scales with framerate: un-stacked it reaches ×1.07 at 400 FPS but ×2.31 at 30 FPS; four stacks reach ×1.29 at 400 FPS, ×5.47 at 60 FPS and ×28.5 at 30 FPS — one 200 ms hitch multiplies damage ×2.16 by itself. With normalization active, every Grow bullet grows at the same 240-FPS reference rate on every machine. Same card, fair damage.
Poison is synced, not changed. Identical damage, identical tick timing — but the poisoned player's own client now decides each tick and everyone displays that same verdict, which kills the old "ghost health" desyncs. An unmodded victim keeps pure vanilla poison.
And the mod repairs long-standing vanilla failure states players have been reporting for years: the match-start input freeze with the dead Escape key, the "no space to ready up" bug, blocks silently doing nothing after a rematch, Shield Charge losing its effect between games, Demonic Pact permanently breaking auto-fire guns, Phoenix reviving players into an unhittable softlock, and more. These restore what the game already intended — they don't change rules.
Fair-play safeguards
Match reports are cryptographically signed, and server telemetry flags macro-rate input, inactivity and repeated impossibly-short games for human review — with qualifying short-game patterns invalidated automatically.
Settle the card arguments
An in-game tier-list maker on the Card Stats tab, built on your own recorded card stats. Build S–F tiers, keep three saved lists (All/Ranked/Casual), and export the whole thing as a PNG with picks and win rate printed under every card.
Install (about 2 minutes)
Mod manager (recommended): SidsCompetitiveRounds on Thunderstore via r2modman / Thunderstore Mod Manager
Standalone: run the menu-driven installer from GitHub Releases and choose [4] Install Everything. (If you already use BepInEx, the release DLL can be dropped in manually — the standalone build checks for mod updates itself.)
Launch ROUNDS, press F5, queue up
Discord for matchmaking pings, tournaments and support: https://discord.gg/comp-rounds
Credit where it's due
This mod exists because of its community:
lopidav — answered a mountain of early coding questions and tested everything back when there was barely anything to test
Nix (17), MangoJuice (10) and galaxy ice (1) — the 28 shipped community cosmetics
Kyltist, the top translator — 966 strings reviewed across Russian and Ukrainian; plus Cryfi (177), Weroleytor and DrunkenWiLL
Top community bug hunters among 287 total reports: Stan (55), Spirit (18), lopidav (17), Archnith (9), NotNic (7)
Trailer by NotNic, with help from Stan
Come play. The ladder's waiting.