A high-performance Go library for parsing and analyzing Counter-Strike 2 and CS:GO demo files (replays).
demoinfocs-golang is a Go library for parsing and analyzing Counter-Strike 2 and CS:GO demo files (replays). It extracts detailed gameplay data such as kills, player positions, grenade trajectories, and game events, enabling developers to build analytics tools, replay viewers, and performance tracking systems. The library is designed to be fast, feature-complete, and production-ready.
Developers building tools for Counter-Strike esports analytics, replay systems, match statistics platforms, or training applications. It's also suitable for researchers analyzing gameplay data or hobbyists creating custom demo analysis software.
Developers choose demoinfocs-golang for its blazing-fast performance, comprehensive feature set covering both CS2 and CS:GO, and production-ready reliability. Its concurrent design, WebAssembly support, and active maintenance by a community of esports professionals make it the most robust open-source CS demo parser available.
A Counter-Strike 2 Demo Parser for Go (demoinfo)
Benchmarks show it parses ~25 minutes of gameplay per second, with concurrency support for handling multiple demos simultaneously, as detailed in the performance section.
Covers game events, player states, grenade trajectories, and low-level net messages, making it suitable for advanced analytics like heatmaps and replay systems, as evidenced by the examples folder.
Supports real-time parsing of CS2 CSTV+ broadcasts, enabling live data applications, with a dedicated example in the README.
Can be compiled to WebAssembly for use in JavaScript environments, allowing browser or Node.js integration, as shown in the demoinfocs-wasm example project.
The library is exclusively for Go, requiring developers to use or learn Go, which may not fit polyglot tech stacks or teams preferring other languages.
Regression tests require Git LFS and 7z installation, adding overhead for contributors and CI/CD pipelines, as noted in the testing section.
Only supports Counter-Strike series demos, so it cannot parse other Source engine games or unrelated titles, limiting its utility for broader game analysis.
Beta features may change in minor releases, as admitted in the versioning notes, which could break projects relying on unstable parts of the API.
Comically fast Dota 2, CSGO, CS2 and Deadlock replay parser written in Java.
An all-inclusive Python framework for the Riot Games League of Legends API. Cass focuses on making the data easy and fun to work with, while providing all the tools necessary to create a website or do data analysis.
Python library to parse, analyze and visualize Counter-Strike 2 data
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.