| User I • Login via Steam • Party system (Friend, ready-up, party) • Match info and status screen | Lobby Service • Create/Join lobby (party) • Lobby chat • Ready-up | | --- | --- | | Matchmaking • Accept players in queue management • ELO-based pairing • Map selection - Pick ban system Group 10 players → emit MatchCreated | Server Allocator • Assign game server • Push config (RCON, map) • Provide secure connect info | | Steam Auth • OpenID login • Bind SteamID64 • Verify join identity later | Match Service • Store match data • API for current match info |
Phase 1.2 ini
┌────────────────────┐
│ Web Client │◄────────────┐
└────────────────────┘ │
▲ │
│ │
WebSockets/REST │
│ ▼
┌────────────────────┐ ┌────────────┐
│ API Gateway/Router│◄──────► Auth Service│
└────────────────────┘ └────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────┐
│ Backend Core │
│ │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌───────────┐ │
│ │ Matchmaking│ │ Match Svc │ │ Lobby Svc │ │ ELO Rating│ │
│ └────────────┘ └────────────┘ └────────────┘ └───────────┘ │
│ ▲ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ │ Tournament │ │ User Svc │ │ Leaderboard│ │
│ ▼ └────────────┘ └────────────┘ └────────────┘ │
│ ▲ ▲ ▲ │
│ │ │ │ │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ Anti-Cheat │ │ Notification│ │ Replay Svc │ │
│ └────────────┘ └────────────┘ └────────────┘ │
└────────────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────┐
│ CS2 Game Server / Agent │
└────────────────────────────┘
│
▼
┌────────────────────┐
│ Storage (Replays, │
│ Logs, Stats, etc) │
└────────────────────┘
| Service | Description |
| ---------------------- | --------------------------------------------- |
| **Auth Service** | Login, OAuth, 2FA, JWT |
| **User Service** | Profile, avatars, preferences |
| **Lobby Service** | Pre-match chat, party, ready-up |
| **Matchmaking** | Queue management, Pick/ban, ELO-based pairing
| **Match Service** | Match lifecycle, results, forfeits |
| **Tournament Service** | Brackets, schedules, rulesets |
| **ELO/Rating** | Update player ratings post-match |
| **Leaderboard** | Ranks, filters, history |
| **Replay/Highlight** | Upload match demos, AI-generated clips |
| **Notification** | Email, in-app, push alerts |
| **Anti-Cheat** | Monitor behavior, flag suspicious activity |
| **Game Server Agent** | Runs on CS2 server, communicates with backend |
| **Analytics Service** | Win rates, maps, player stats |