Game broadcast overlay
CS2 Major HUD
A Major-style broadcast overlay for Counter-Strike 2 matches. It uses live game data to show health, money, weapons, the killfeed and the bomb timer.
- Python
- Flask
- JavaScript
- HTML
- CSS
- CS2 GSI

About the project
What I built and how.
CS2 can send match data to an address through Game State Integration. A Flask server I wrote in Python receives and simplifies it, and the HTML and JavaScript overlay pulls from that server 10 times a second to update the screen.
The game doesn't report kills on their own, so I work out the killfeed myself: on every update I compare each player's kills and deaths with the previous state to find who got whom.
Highlights
- 01
Team panels
Health, money, main weapon, grenades and K/D for every player, live.
- 02
Spectated player
The bottom panel shows the spectated player's health, armor, ammo and K/A/D.
- 03
Killfeed
Kills are worked out from changes in player state and shown with the weapon icon.
- 04
Bomb timer
When the bomb is planted, a dedicated countdown replaces the round timer.
Video