Caution
This project is under active development and is approaching stability, but issues may still exist. Back up your game files before installation.
Note
Docs are at https://csgo-gc.gt610.dpdns.org/.
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.
While it's still possible to connect CS:GO to CS2's GC by spoofing the version number, this may break in the future if Valve updates the GC protocol. This project aims to restore most GC-related functionality without relying on a centralized server.
- Editable inventory (
inventory.txt) - Live inventory updates while the game is running
- Item equipping and loadout updates
- Opening cases, sticker capsules, patch packs, graffiti boxes, music kit boxes and souvenir packages
- Souvenir item generation
- Stickers and patches
- Name tags
- Graffiti support
- Music kits
- Weapon StatTrak support
- Music kit StatTrak support, including round MVP count propagation
- Storage Units
- StatTrak Swaps
- Trade ups
- In-game store purchases
- Read-only inventory consistency diagnostics
- Source RCON-compatible local control interface
- Parameterized RCON item creation for paint kits, wear, seed, StatTrak, music kits, sprays, stickers and custom names
- Works without full Steam API emulation
- Full Windows, Linux and macOS support
- Functional lobbies
- Dedicated server support
- Functional server browser (only shows csgo_gc servers by default)
- Networking using Steam's P2P interface
- More validation and polish for edge-case inventory operations
- Tooling around live inventory editing
I'm still looking for the full CS:GO Item Schema. If you have a relatively recent copy of it and are willing to share it, let me know!
- Matchmaking (can't be implemented without a centralized server, possibly will be considered in the future)
See User Guide.
Inventory can still be edited offline through inventory.txt. For manual editing, there is a guide made by someone else here. For GUI editors, see this issue.
The local RCON interface can also create and remove items while the game is running. This is intended for scripts and GUI editors that want to avoid the old edit-file-and-restart workflow.
See Souvenir Packages for tournament attributes, examples
for different Major eras, manual inventory.txt editing, and an explanation of
how package loot lists differ from souvenir sticker metadata.
See Configuration for available options.
Supplemental server-only loot lists that are missing from the client schema are
stored in csgo_gc/gc_loot_lists.txt. An external
loot list can include an item_sets block to reuse collections from
items_game.txt without duplicating every item in the collection.
RCON is disabled by default and binds to localhost with the default configuration; the actual listen address is controlled by bind_address. It uses the Source RCON binary protocol, so existing Source RCON clients can be used.
See RCON user guide for protocol details, configuration, supported parameters and error formats.
See Building for building instructions.
This project is licensed under the 2-Clause BSD License. See LICENSE.md for details.
- Mikko Kokko - Original author
- Theeto - Code reused from the predecessor project, unusual loot lists
- GT610 (
GT-610) - Fork deveopment - Contributors who continued inventory, networking, diagnostics and RCON work after the original upstream changes