A lightweight tool to automate player reporting in Counter-Strike 2. It uses simple mouse clicks and keyboard inputs — no overlay, no injection, no memory reading. Just standard input automation.
Built with Python because it's the simplest cross-setup solution for this kind of project.
- Universal calibration system — works with ANY screen resolution. Calibrate once, report forever.
- Multi-player reporting — report one or multiple players in a single run.
- 3 report reasons — Aimbot, Wallhack, Other Hacking (position-based, works in any language).
- Failsafe — move your mouse to the top-left corner of your screen to instantly abort.
- Auto-install —
.batlaunchers handle Python dependency installation automatically.
- Windows (tested on Windows 10/11)
- Python 3.8+ — Download here (make sure to check "Add Python to PATH" during install)
- CS2 running in Fullscreen Windowed mode
You only need to redo this if you change your screen resolution.
- Double-click
calibrate.bat - Open CS2 and join a match
- The script will guide you through 4 phases (14 total captures):
| Phase | What to capture | Count |
|---|---|---|
| 1 | CT player Report buttons (top section of scoreboard) | 5 |
| 2 | T player Report buttons (bottom section of scoreboard) | 5 |
| 3 | Report reason checkboxes (Aimbot, Wallhack, Other) | 3 |
| 4 | Submit button | 1 |
How it works:
- Open the scoreboard in CS2: press Tab, then right-click to get a cursor
- Hover your mouse over the target button
- Press F6 to capture the position
- Repeat for each step
Positions are saved to data/positions.json — this project does NOT ship calibrated position files by default. You must run the calibration step for your own machine and resolution. Run calibrate.bat to generate data/positions.json for your setup.
- Double-click
launch.bat - Follow the prompts:
- Team: CT (top) or T (bottom)
- Player(s): 1–5 from top to bottom (comma-separated for multiple, e.g.
1,3,5) - Reason: Aimbot / Wallhack / Other Hacking
- Delay: seconds before the script starts (default: 5s)
- Repeat: how many times to loop the report sequence (default: 1)
- Action gap: delay in milliseconds between each click (default: 500ms, minimum 150ms — increase to debug, decrease once calibrated). If the user enters a value below the minimum, the tool will automatically use the minimum value and notify you in the terminal.
- Confirm, then switch to CS2 during the countdown
- The script automatically performs: Tab → Right-click → Click Report → Click Reason → Click Submit
- During the countdown or execution you can press
Escapeto cancel the run (requirespynputto be installed). - You'll hear a gentle beep sequence when it's done
The included data/positions.json contains pre-calibrated positions for 1920x1080 as an example. You should recalibrate for your own setup by running calibrate.bat if your resolution or UI scale differs — the tool adapts to any resolution.
cs2-report-tool/
├── calibrate.bat # Launches calibration (auto-installs deps)
├── calibrate.py # Calibration script — captures mouse positions
├── launch.bat # Launches the report tool (auto-installs deps)
├── report.py # Main report automation script
├── requirements.txt # Python dependencies (pyautogui, pynput)
├── LICENSE # GNU GPL v3
├── .gitignore
└── data/
└── positions.json # Calibrated mouse positions (auto-generated, git-ignored)
This tool does not:
- Inject code into CS2
- Read game memory
- Display any overlay
- Modify game files
It only simulates standard keyboard and mouse inputs, the same way a human would. It's a convenience tool for reporting, not a cheat.
This project is open source. Feel free to:
- Submit a PR to add new features
- Report issues
- Calibrate and share position files for other resolutions
Original repository: https://github.com/LightZirconite/cs2-report-tool
This project is licensed under the GNU General Public License v3.0.
You are free to use, modify, and redistribute this project — including for forks and derivative works — under these conditions:
- You must keep the same GPL v3 license on any derivative work.
- You must give visible credit to the original project: https://github.com/LightZirconite/cs2-report-tool
- You cannot sublicense or relicense it under proprietary terms.
See the LICENSE file for the full license text.
- Educational purpose only: This software is provided for learning and automation experimentation. It is not intended to enable cheating or to bypass any game's security measures.
- Use at your own risk: The authors make no guarantees that use of this tool will not result in account penalties, restrictions, or other adverse consequences. You are responsible for complying with the game's Terms of Service and community rules.
- No liability: The project authors and contributors disclaim any liability for damages or losses arising from use or misuse of this software. There are no warranties of any kind.
- Responsible use recommended: Do not use this tool in competitive, ranked, or online environments where automation could cause harm or violate rules. Prefer using it in safe, local, or educational contexts only.
If you are unsure whether using this tool is appropriate for your situation, do not use it and consult the game's support or terms.