Skip to content

Releases: collin-b1/cppgsi

Release list

v1.0.0

Choose a tag to compare

@collin-b1 collin-b1 released this 24 Jun 02:52

v1.0.0 — Initial Release

Initial release of cppgsi, a C++23 library for consuming CS2 Game State Integration (GSI) payloads.

Features

Event-driven dispatcher

  • GSIDispatcher with typed callbacks for every top-level GSI component
  • Per-field subscriptions via dispatcher.player().on(&cs2gsi::Player::health, ...) — fires only when that specific field changes
  • Grenade lifecycle events: on_grenade_thrown / on_grenade_detonated

Typed models

  • Player — state, match stats, weapons, position/facing (spectator), crosshair code
  • Map — phase, game mode, team scores, round win history
  • Round — phase and bomb state
  • Bomb — state, position, countdown
  • Grenade — type, owner, lifetime, position, velocity, inferno flames
  • Weapon — type, state, ammo
  • PhaseCountdowns, Provider

Enums for all string-valued fields (PlayerTeam, BombState, GrenadeType, GameMode, MapPhase, RoundWinReason, WeaponType, etc.)

HTTP server (GSIServer) built on cpp-httplib; binds to 127.0.0.1:3000 by default

Config generator (generate_gsi_config) — writes a gamestate_integration_<name>.cfg to the CS2 cfg directory

Integration

  • CMake FetchContent, git submodule, and installed package (find_package) all supported
  • Bundled dependencies: cpp-httplib, nlohmann/json

Examples covering quickstart, round events, and grenade tracking