Source2Mod

Source 2 · C++ · SourcePawn

Direct access
to Source 2.
No compromises.

A plugin platform for Counter-Strike 2 that keeps you at engine level. Schema-based entities, game hooks, KHook detours and native events — in C++ or SourcePawn, on one API, with nothing between your code and the game.

Language
C++ & SourcePawn
Runs on
MetaMod:Source
Target
Counter-Strike 2
Overhead
Near-native
hello_world.cpp
… highlighting
schema systemgame hooksinline hooksvirtual hookspattern scanninggame eventsnet messagesconvarschat menuscustom hudschedulertracingsoundstransmitgameconfigmemory accesshttp & jsonsql & sqlitesourcepawntranslationstargetingclient preferencesgeoipmap listskeyvaluesnatives & forwardsdynamic libraries
schema systemgame hooksinline hooksvirtual hookspattern scanninggame eventsnet messagesconvarschat menuscustom hudschedulertracingsoundstransmitgameconfigmemory accesshttp & jsonsql & sqlitesourcepawntranslationstargetingclient preferencesgeoipmap listskeyvaluesnatives & forwardsdynamic libraries

01 — Capabilities

Built for engine-level development, not scripting

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.

02 — Documentation

Pick the part of the engine you are working on

Guides for every subsystem, a reference generated from the SDK headers, and the full schema of the game — each with a sidebar of its own. Below them, every guide sorted into the same groups as the capabilities, and the topics that explain how it all fits together.

By capability

Topics

How things work, rather than how to do one thing — worth a read before the guides.

03 — In practice

The same API you would have written yourself

Browse the full API

Work like you are inside the engine

Controllers, pawns and schema fields are generated from the game itself. Read and write them exactly like native code — with or without automatic SetStateChanged.

  • Schema-based access
  • Automatic networking
  • Zero wrappers
entities.cpp
… highlighting

04 — Quickstart

Three steps to a loaded plugin

  1. 01

    Install MetaMod:Source

    Source2Mod loads through MetaMod. Drop it into /game/csgo/ and register it in gameinfo.gi.

    Game csgo/addons/metamod
  2. 02

    Drop in Source2Mod

    Extract the release and copy the /addons directory into your server /game/csgo/ folder.

    /game/csgo/addons/source2mod
  3. 03

    Verify and build

    Restart the server, confirm Source2Mod and your plugins are loaded, then write against the API in C++ or SourcePawn.

    s2m list
Full installation guide
Source2Mod

Stop fighting the engine. Start using it.

Open source, actively developed, and built by people running real servers.