Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

CS:GO Overwatcher

This tool is a quick hack that allows to investigate the actual suspects of CS:GO Overwatch cases. In the default mode it runs in the background and waits until an Overwatch case will be downloaded. As soon as one clicks the download button, this tool will download and unpack the demo file. After that, it will analyze the demo and prints out the scoreboard of each round as well as a list of all players with their Steam community profile URLs (and some additional info) at the end.


Overview of all Steam profiles after demo is finished:


Note: This tool does not interfere with CS:GO in any way. So it should not get you banned. The demo files can be downloaded by everyone that has access to the URL. If you have further questions, you should probably not use this tool.


csgo-overwatcher requires the official csgo-demoinfo from Valve. On Linux, the demoinfogo-linux port can be used. However, this has not been tested (yet).

See the for information about how to compile csgo-demoinfo on Windows.

Compiling csgo-demoinfo on Windows

I used Visual Studio 2017 to build libprotobuf.lib and demoinfogo.exe. However, building some manual patching. The file src/google/protobuf/io/ requires the additional include #include <algorithm> and all references to min()/max() have to be changed to std::min()/std::max(). After that building Release of libprotobuf should work.

A precompiled version of demoinfogo.exe is included in this repository. But it may not work for everyone. I strongly recommend to compiled it for the respective target system!


csgo-overwatcher requires Python 3 and some additional modules that can be installed with pip via a PowerShell:

pip3.exe install -r requirements.txt


The default mode will just listen on the network and waits until a Overwatch case will be downloaded. After the download, it will automatically parse the demo and print all stats to stdout:


The demo files will reside on the file system for later inspection. Already downloaded files can also be parsed as well:

python3.exe 123123_123123123123123123132.dem

In case you want to analyse a case that you already started, you can follow these steps:

  • Close CS:GO (do not sent your verdict)
  • Go to your csgo folder (on windows it will be something like C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\csgo)
  • Delete the file myassignedcase.evidence
  • Run
  • Start CS:GO and download the Overwatch case again

Take a screenshot of a Steam profile, where 99999999999999999 is the profile ID (XUID):

python3.exe -s 99999999999999999

You can also add the -a/--anonymize option to blur sensitive information like the user name, fiends list, profile avatar and more.

Note: Screenhots require the Selenium module and the chromedriver.exe in the local directory.


The author takes no responsibility for anything this tool will be used for. It has been built for educational purposes. Credits go to the authors of the tools that have been used to create this project.

This code has been written for fun and it will most likely contain bugs.


Investigate the actual suspects of Counter-Strike: Global Offensive Overwatch cases.