No description
Find a file
2026-03-20 23:39:09 -04:00
.github Update web-container.yml 2026-03-20 23:35:57 -04:00
public Init 2026-03-16 23:00:05 -04:00
src Init 2026-03-16 23:00:05 -04:00
.gitignore Init 2026-03-16 23:00:05 -04:00
Dockerfile Actions 2026-03-20 22:26:01 -04:00
eslint.config.js Init 2026-03-16 23:00:05 -04:00
index.html Init 2026-03-16 23:00:05 -04:00
jsconfig.json Init 2026-03-16 23:00:05 -04:00
package-lock.json Actions 2026-03-20 22:26:01 -04:00
package.json Actions 2026-03-20 22:26:01 -04:00
README.md Update game options in README 2026-03-15 22:51:46 -04:00
vite.config.js Init 2026-03-16 23:00:05 -04:00

MatchingMakingService

Overview

This project is composed of three main services:

  1. Website Service
  2. Matchmaking Service
  3. Game Service

It also targets support for multiple games (listed below).


1) Website Service

Planned features:

  • Authentication
    • Simple login screen
  • Profile
    • Display player stats
  • Shop
  • Queue
    • Queue button
    • Game options (e.g., CS2, League of Legends)
  • Leaderboard
  • Ranking system

2) Matchmaking Service

2.1 Queue + Match Setup

  • Player pool management
    • Pool of data
    • Kafka service to manage pools
  • WebSocket connection
    • Establish a queue and show who is currently queued
  • Match algorithm
    • Rank-based
    • Groups of 10 players
  • Server provisioning
    • Connect to our server and spin up a game server
    • Once ready, send an IP to distribute to players

2.2 Accept + Join Flow

  • Close service with the IP
  • On Accept, run a command/script to join the IP address
    • Create a join script for each game

3) Game Service

  • Create a plugin to connect to our databases for real-time match data

Games

Target Games

  • CS2
  • League of Legends
  • Valorant
  • Overwatch

Questionable / Maybe

  • TFT
  • Dota 2
  • Deadlock
  • Brawl Stars
  • Clash Royale
  • Madden
  • FC
  • 2K
  • The Show
  • Fall Guys

Last Priority

  • Minecraft (Hunger Games)