MCPcopy Index your code
hub / github.com/a2x/cs2-dumper

github.com/a2x/cs2-dumper @0.1.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.1.3 ↗ · + Follow
4,099 symbols 4,183 edges 97 files 3,569 documented · 87%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

cs2-dumper

An external offset/interface dumper for Counter-Strike 2, with support for both Windows & Linux. Powered by memflow.

The native Linux version is available in the linux branch (currently outdated).

For a work-in-progress offline version, check out the cs2-analyzer repository or view its included web demo here.

Getting Started

You can download the latest release from Releases or compile it yourself. Note that compiling it yourself requires your Rust compiler version to be at least 1.74.0 or newer.

Usage

  1. Ensure the game is running (Being in the main menu should suffice).
  2. Run the cs2-dumper executable.

Note: If you run the executable without specifying an optional memflow connector name, it will automatically use the memflow-native OS layer to read the memory of the game process. If you wish to use an existing memflow connector instead, such as pcileech or kvm, you can pass the connector and optional connector-args arguments to the program. These connectors can be installed and managed using the memflowup tool.

E.g (for pcileech). cs2-dumper -c pcileech -a :device=FPGA -vv

Certain connectors, such as the kvm connector on Linux or the pcileech / winio connectors on Windows, require elevated privileges to work. So either run the cs2-dumper executable with sudo on Linux or as an administrator on Windows.

Available Arguments

  • -c, --connector <connector>: The name of the memflow connector to use.
  • -a, --connector-args <connector-args>: Additional arguments to pass to the memflow connector.
  • -f, --file-types <file-types>: The types of files to generate. Default: cs, hpp, json, rs.
  • -i, --indent-size <indent-size>: The number of spaces to use per indentation level. Default: 4.
  • -o, --output <output>: The output directory to write the generated files to. Default: output.
  • -p, --process-name <process-name>: The name of the game process. Default: cs2.exe.
  • -v...: Increase logging verbosity. Can be specified multiple times.
  • -h, --help: Print help.
  • -V, --version: Print version.

Running Tests

To run the few basic provided tests, use the following command: cargo test -- --nocapture.

License

Licensed under the MIT license (LICENSE).

Extension points exported contracts — how you extend this code

CodeWriter (Interface)
(no doc) [5 implementers]
src/output/mod.rs

Core symbols most depended-on inside this repo

block
called by 36
src/output/formatter.rs
slugify
called by 6
src/output/mod.rs
get_offset_value
called by 6
src/analysis/offsets.rs
setup
called by 5
src/analysis/offsets.rs
write_str
called by 4
src/output/formatter.rs
analyze
called by 4
src/analysis/mod.rs
write_metadata
called by 3
src/output/schemas.rs
get_class_field_value
called by 3
src/analysis/offsets.rs

Shape

Class 2,779
Enum 1,253
Method 39
Function 27
Interface 1

Languages

C#77%
Rust13%
C++10%

Modules by API surface

output/server_dll.cs869 symbols
output/animationsystem_dll.cs715 symbols
output/particles_dll.cs501 symbols
output/client_dll.cs499 symbols
output/server_dll.rs150 symbols
output/server_dll.hpp150 symbols
output/animationsystem_dll.rs131 symbols
output/animationsystem_dll.hpp131 symbols
output/pulse_system_dll.cs103 symbols
output/vphysics2_dll.cs101 symbols
output/soundsystem_dll.cs95 symbols
output/particles_dll.rs71 symbols

For agents

$ claude mcp add cs2-dumper \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page