Skip to content
View LalawalonaMC's full-sized avatar
🏠
Working from home
🏠
Working from home

Block or report LalawalonaMC

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
LalawalonaMC/README.md

csgo_gc

Caution

This project is incomplete and not ready for general use.

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, in-process 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
  • Music kits
  • In-game store
  • 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

Planned features

  • Rest of the core features (trade ups, souvenirs, storage units, StatTrak swaps...)

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!

Not planned

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

Installation

  • Download CS:GO from Steam
  • Download the latest release for your platform from the releases page
  • Navigate to the game's installation directory
  • 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
  • macOS users: The release binaries are not notarized, so if you're using them, you'll have to deal with that somehow

Inventory editing

For GUI inventory editors, see mikkokko/csgo_gc#82. For manual editing, there is a guide made by someone else here.

Configuration

See csgo_gc/config.txt for available options.

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.

License

This project is licensed under the 2-Clause BSD License. See LICENSE.md for details.

Credits

  • Mikko Kokko - Author
  • Theeto - Code reused from the predecessor project, unusual loot lists

Third party dependencies

Popular repositories Loading

  1. LalawalonaMC LalawalonaMC Public

    Config files for my GitHub profile.

    C++

  2. lalka.github.io lalka.github.io Public

    HTML

  3. ZTE-Band-Selector ZTE-Band-Selector Public

    A Pre-Made JS Code for use with ZTE Routers to select the most optimal Band which has the best speed.

    JavaScript

  4. GTX-970-3.5GB-Fix GTX-970-3.5GB-Fix Public

    Fixes game bug on VULKAN specifically so all games running on vulkan will think you got 3.5GB of VRAM instead to stop them from putting it into the slower 0.5GB.

    C++