Skip to content

mikkokko/csgo_gc

Repository files navigation

csgo_gc

What is this?

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, locally running implementation.

Why would you want this?

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.

Current features

  • Editable inventory (inventory.txt)
  • Item equipping
  • Opening cases (including sticker capsules, patch packs, graffiti boxes and music kit boxes)
  • Graffiti support
  • Weapon StatTrak support
  • Stickers and patches
  • Name tags
  • Works without full Steam API emulation
  • Full Windows, Linux and MacOS support
  • Functional lobbies
  • Dedicated server support
  • Networking using Steam's P2P interface

Planned features

  • Configurable probability distributions for case opening (all uniform currently)
  • Rest of the core features (trade ups, souvenirs, StatTrak swaps...)
  • In-game store
  • Graphical inventory editor
  • A tool to copy your CS2 inventory over

Not planned

  • Matchmaking (can't be implemented without a centralized server)

Installation

  • Download the last version of the game before CS2's release using depotdownloader:
731 718406683749122620
732 2224497558453288476
733 7173575548168592307
734 3106517550092294329
740 1512455234357538911
  • Download the latest artifacts for your platform from the actions page
  • Back up your existing launcher executables as they'll be overwritten (i.e. csgo.exe, srcds.exe, csgo_linux64, etc.)
  • Extract the contents of the downloaded archive to your game directory, replace the executables when prompted
  • Launch the game. If you get the annoying VAC message box, launch the game with the -steam argument.

Building

Requirements:

  • Git
  • CMake 3.20 or newer
  • C++ compiler with C++17 support (VS 2017 or later, Clang 5 or later, GCC 7 or later)

The game is 32-bit on Windows so you need to build as 32-bit:

cmake -A Win32 -B build

Linux dedicated servers are also 32-bit:

cmake -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32 -DCMAKE_ASM_FLAGS=-m32 -B build

On MacOS, you need to build for x86_64 instead of arm64:

cmake -DCMAKE_OSX_ARCHITECTURES=x86_64 -DFUNCHOOK_CPU=x86 -B build

For Linux clients you don't have to specify any additional options.

Third party dependencies

About

Intelligent Game Coordinator for CS:GO

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published