csgo_gc

[!CAUTION] This project is incomplete and not ready for general use.

In Valve games, the Game Coordinator (GC) is a backend service most notably responsible for matchmaking and inventory management (like loadouts and skins). This project redirects the GC traffic to a custom, in-process implementation, eliminating the need for a separate GC server.

Features

Missing inventory features (trade ups, souvenirs, StatTrak swaps, etc.) are planned. Operation-related features are not currently planned. Matchmaking is not planned, as a proper implementation would require a centralized server, which this project intentionally avoids.

Installation

Inventory editing

Realtime editing

The GC exposes a local WebSocket API for inventory editors. An editor can read the inventory and send changes while the game is running. Changes appear in-game immediately and are saved to inventory.txt. In-game inventory changes are also sent to the connected editor.

A web-based realtime editor is available here. The default inventory_editor_origin in csgo_gc/config.txt allows connections from its site. To use another editor, set it to the Origin that editor provides.

Offline editing

See available GUI editors. There is also a guide for editing inventory.txt by hand here if you want to do that for some reason.

Configuration

See csgo_gc/config.txt for available options.

Bug reports and support

Report bugs by opening an issue and following the instructions. If the issue doesn't appear to be strictly GC related, verify that it doesn't happen on a clean game (no csgo_gc installed).

For support, ideas, and general discussion, use Discussions.

Building

Requires Git, vcpkg, CMake 3.20+, and a compiler with C++20 support. See the continuous build workflow for details.

License

2-Clause BSD

Credits