Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Esports
  3. demoinfocs-golang

demoinfocs-golang

MITGov5.2.0

A high-performance Go library for parsing and analyzing Counter-Strike 2 and CS:GO demo files (replays).

Visit WebsiteGitHubGitHub
1.0k stars138 forks0 contributors

What is demoinfocs-golang?

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.

Target Audience

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.

Value Proposition

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.

Overview

A Counter-Strike 2 Demo Parser for Go (demoinfo)

Use Cases

Best For

  • Building Counter-Strike match statistics and analytics platforms
  • Creating 2D replay viewers and heatmap generators for CS2/CS:GO
  • Developing automated coaching tools that analyze player performance
  • Parsing live CS2 broadcasts for real-time data processing
  • Extracting voice communications and chat data from demos
  • Research projects analyzing esports gameplay patterns and strategies

Not Ideal For

  • Projects parsing demo files from games other than Counter-Strike 2 or CS:GO
  • Teams developing in programming languages other than Go without WebAssembly needs
  • Users requiring a no-code, GUI-based tool for demo analysis without programming
  • Applications needing real-time parsing of unsupported broadcast formats outside CSTV+

Pros & Cons

Pros

Blazing Fast Performance

Benchmarks show it parses ~25 minutes of gameplay per second, with concurrency support for handling multiple demos simultaneously, as detailed in the performance section.

Comprehensive Feature Set

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.

Live Broadcast Support

Supports real-time parsing of CS2 CSTV+ broadcasts, enabling live data applications, with a dedicated example in the README.

WebAssembly Cross-Platform

Can be compiled to WebAssembly for use in JavaScript environments, allowing browser or Node.js integration, as shown in the demoinfocs-wasm example project.

Cons

Go-Language Dependency

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.

Complex Testing Setup

Regression tests require Git LFS and 7z installation, adding overhead for contributors and CI/CD pipelines, as noted in the testing section.

Niche Game Limitation

Only supports Counter-Strike series demos, so it cannot parse other Source engine games or unrelated titles, limiting its utility for broader game analysis.

Potential API Instability

Beta features may change in minor releases, as admitted in the versioning notes, which could break projects relying on unstable parts of the API.

Frequently Asked Questions

Quick Stats

Stars1,013
Forks138
Contributors0
Open Issues9
Last commit10 days ago
CreatedSince 2017

Tags

#game-analytics#hacktoberfest#demo#webassembly#source-engine#esports#golang#concurrency#go#csgo#parser#performance#counter-strike

Built With

G
Go

Links & Resources

Website

Included in

Esports97
Auto-fetched 22 hours ago

Related Projects

ClarityClarity

Comically fast Dota 2, CSGO, CS2 and Deadlock replay parser written in Java.

Stars750
Forks129
Last commit6 days ago
CassiopeiaCassiopeia

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.

Stars581
Forks132
Last commit3 months ago
awpyawpy

Python library to parse, analyze and visualize Counter-Strike 2 data

Stars568
Forks82
Last commit3 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub