How it works

Dota Pugs

A role-queue matchmaking platform for Dota 2. Find balanced, ranked games with real players — no bots, no unranked chaos.

How to Play

1

Sign in with Steam

Your Steam account is used to verify your identity. We fetch your public Dota 2 profile from OpenDota to seed your initial MMR estimate.

2

Pick your roles and queue

Select one or more roles you want to play — in order of preference. You can queue in both the English and Turkish servers at the same time.

3

Accept the match

When 10 compatible players are found you get a 60-second window to accept. All 10 must accept — if anyone declines or times out, accepters are re-queued with priority.

4

Join the Dota 2 lobby

After everyone accepts, the bot automatically creates a Dota 2 lobby, sets a password, and invites all 10 players. Join the lobby with the name and password shown on screen.

5

Play and get rated

Once the game ends, the bot reports the result and your per-role MMR updates automatically using the Glicko-2 algorithm.

Queue System

The queue runs a matchmaking tick every 5 seconds. It tries to form the highest-quality 10-man group possible from everyone currently waiting.

Wait timeYour MMR windowWhy
0 – 2 min± 0Start tight — best quality match
2 – 5 min± 75Light expansion begins
5 – 10 min± 175Moderate — still close skill
10 – 20 min± 300Heavy expansion
20 min+± 500No practical restriction

Additionally, when the server has fewer players online the maximum allowed spread across the whole group is automatically raised so a game can still form. A server with exactly 10 people will always produce a match.

Pool sizeMax group spreadMode
30+ players300Competitive — tight
15–29 players450Normal
10–14 players600Low population
= 10 players900Force match

Role Queue

Every match requires exactly one player per role per team. When multiple players want the same role, priority goes to the highest-rated player first, then by wait time. Players who don't get a preferred role are filled into remaining slots.

Carry (Position 1)

Farm-heavy core. Expected to out-last-hit and out-GPM opponents. MMR tracked independently from other roles.

Mid (Position 2)

Solo mid, high impact early. Tracked by GPM, XPM, and hero damage relative to the match average MMR.

Offlane (Position 3)

Disruption and durability. Tower damage and hero damage are key performance benchmarks.

Soft Support (Position 4)

Roaming support. Ward placement, assists, and hero healing contribute to performance scoring.

Hard Support (Position 5)

Full support. Observer/sentry ward count, camp stacks, and keeping cores alive are measured.

Ranking System

Each role has its own independent MMR tracked with the Glicko-2 algorithm. Playing carry does not affect your mid rating. Your profile shows your display rating — the average of all your calibrated roles (or all role seeds while uncalibrated).

Calibration — first 10 games per role

While calibrating, your Rating Deviation (RD) is deliberately high so the system can move you to your true bracket quickly. Expect larger MMR swings (±40–80) per game. After 10 games the role is marked calibrated and swings stabilise to ±15–30.

Initial MMR seed

On first login we query OpenDota for your public Dota 2 MMR. If found, all roles are seeded at the equivalent internal value with RD 200 (moderate confidence). If OpenDota data is unavailable, you start at 1 500 with RD 350 (high uncertainty — moves fast).

Cross-role seeding

Once you calibrate your first role, uncalibrated roles are seeded at best calibrated MMR × 0.85 + 1 500 × 0.15 with RD 250. A 3 000 carry player starts support calibration at ~2 775 — not Herald.

Rank tiers

Bronze 10 – 499New players
Bronze 2500 – 999Learning basics
Silver 11000 – 1499Getting the hang of it
Silver 21500 – 1999Average — default start
Platinum 12000 – 2499Solid fundamentals
Platinum 22500 – 2999Experienced player
Diamond 13000 – 3499High skilled
Diamond 23500 – 3999Near top level
Immortal 14000 – 4499Elite
Immortal 24500+Top of the server

Team Balancing

Teams are split using a snake draft based on each player's role-specific MMR — not their overall display rating. This means a 3 000 display-MMR player assigned to support is treated as their support MMR (e.g. 2 200) when calculating team balance. The result is fairer teams even when players are multi-role.

Snake draft order (sorted by role MMR ↓)

Radiant ← slot 1 (highest)

Dire ← slot 2

Dire ← slot 3

Radiant ← slot 4

Radiant ← slot 5

… alternating pattern continues

Questions or issues? Ask in the community Discord.