A beautiful command-line application that provides real-time statistics and game state information while playing Counter-Strike: Global Offensive. Built with C# and the CSGSI library for Game State Integration.
- Real-time Game Tracking: Live updates of game state, player statistics, and round information
- Beautiful CLI Interface: Rich, colorful terminal interface using Spectre.Console
- Comprehensive Statistics: Track kills, deaths, assists, MVPs, money, health, armor, and more
- Round Analysis: Monitor round phases, bomb states, and team scores
- Session Tracking: Track your performance across multiple rounds and matches
- Event Notifications: Get notified of important game events (bomb planted, round end, etc.)
The application displays:
- Game information (map, mode, round, phase, score)
- Player statistics (K/D/A, MVPs, money, weapon, team)
- Session statistics (duration, rounds, win rate)
- Bomb information (state, timestamps)
- Progress bars for health, armor, and round timer
- .NET 8.0 SDK or Runtime
- Counter-Strike: Global Offensive
- Administrator privileges (if using non-localhost URIs)
-
Clone the repository:
git clone <your-repo-url> cd FragifyTracker
-
Restore dependencies:
dotnet restore
-
Build the application:
dotnet build
-
Copy the
gamestate_integration_fragify.cfgfile to your CS:GO cfg folder:- Windows:
C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\csgo\cfg\ - Linux:
~/.steam/steam/steamapps/common/Counter-Strike Global Offensive/csgo/cfg/
- Windows:
-
Restart CS:GO or execute the config in console:
exec gamestate_integration_fragify
dotnet runOr specify a custom port:
dotnet run -- --port 3001- Start the application before or during a CS:GO match
- Join a game - the tracker will automatically detect and start monitoring
- View real-time statistics in the beautiful CLI interface
- Monitor important events like bomb plants, round ends, and player flashes
- Track your performance across multiple rounds and matches
--port <port>or-p <port>: Specify the port to listen on (default: 3000)
The application is built with a clean, modular architecture:
- Program.cs: Main entry point and event handling
- Services/GameTrackerService.cs: Core game state tracking logic
- Models/GameStats.cs: Data model for game statistics
- UI/DisplayManager.cs: Rich terminal interface using Spectre.Console
- CSGSI: Counter-Strike Game State Integration library
- Spectre.Console: Beautiful command-line interface library
- Newtonsoft.Json: JSON parsing and manipulation
-
"Failed to start listener" error:
- Ensure you have administrator privileges
- Check if the port is already in use
- Try a different port number
-
No data received:
- Verify the config file is in the correct CS:GO cfg folder
- Restart CS:GO after adding the config
- Check if the URI in the config matches your application port
-
Permission denied:
- Run the application as administrator
- Use
http://localhost:<port>instead of external IPs
If you need to use a different port, update both:
- The command line argument when running the application
- The
gamestate_integration_fragify.cfgfile
dotnet build --configuration Releasedotnet testThe project follows C# coding conventions and uses nullable reference types for better type safety.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the same license as the original Fragify project.
- CSGSI - The excellent C# library for CS:GO Game State Integration
- Spectre.Console - Beautiful .NET console library
- Valve Corporation - For creating the Game State Integration system
If you encounter any issues or have questions:
- Check the troubleshooting section above
- Review the CSGSI documentation
- Open an issue on the GitHub repository
Happy fragging! 🎯