Schema system
Entities, offsets and fields resolved through the schema the game itself ships — not through headers that rot on the next update.
Source 2 · C++ · Server side
A plugin framework for Counter-Strike 2 that keeps you at engine level. Schema-based entities, KHook detours and native events — in C++, with nothing between your code and the game.
01 — Capabilities
Every subsystem is a thin, deliberate layer over the engine, and all of them ship in the box. Use the high-level API where it saves you time, and drop straight to memory where it does not.
Entities, offsets and fields resolved through the schema the game itself ships — not through headers that rot on the next update.
Virtual, vtable and function detours on the one KHook engine Metamod runs, so the core, every plugin and Metamod itself compose correctly.
Console and chat commands, listeners on commands the game already owns, typed ConVar refs with replication.
A fully typed game event system on top of engine-level events, hooked pre or post with the usual KHook::Action vocabulary.
Raw pointers, module handles, GameConfig signatures and resolved engine functions like spawn, set model and take damage.
Timers, next-frame execution, and ray and collision trace utilities shipped with the toolkit.
Chat menus with options, titles and per-player state, plus click callbacks on custom HUD layout entities.
Allocate, send and hook Source 2 net messages by numeric ID or by partial name — protobuf included.
Async requests through Steam, a JSON value API and typed MySQL result sets, so you do not vendor three libraries first.
02 — In practice
Controllers, pawns and schema fields are generated from the game itself. Read and write them exactly like native code — with or without automatic SetStateChanged.
03 — Quickstart
Source2Toolkit loads through MetaMod. Drop it into /game/csgo/ and register it in gameinfo.gi.
Game csgo/addons/metamodExtract the release and copy the /addons directory into your server /game/csgo/ folder.
/game/csgo/addons/source2toolkitRestart the server, confirm the plugin is loaded, then start writing against the API.
meta listOpen source, actively developed, and built by people running real servers.