App & Framework Hosting is now generally available in all 30+ regions.

Game Servers

How to Install CounterStrikeSharp Plugins on a CS2 Server

Applies to: Counter-Strike 2 server hosting

If you ran CS:GO servers, forget what you know about SourceMod — SourceMod does not support CS2, and no port is coming. The CS2 plugin ecosystem is built on Metamod:Source 2.x (the low-level loader) with CounterStrikeSharp (a .NET/C# plugin framework) on top, and that stack now covers the familiar territory: admin systems, retakes and practice plugins, and match plugins like MatchZy. This guide installs the stack in the right order and covers the gameinfo.gi gotcha that breaks it after game updates.

01Understand the CS2 plugin stack

The load chain has three layers, installed in this order:

  • Metamod:Source 2.x — the loader that hooks the Source 2 engine. Nothing else loads without it. It must be a 2.x build; the 1.x series used for CS:GO does not work on CS2.
  • CounterStrikeSharp (CSS) — a Metamod plugin that embeds the .NET runtime and provides the C# API nearly all CS2 plugins are written against.
  • Plugins — individual C# plugins (MatchZy, CS2-SimpleAdmin, retakes, practice mode) that CounterStrikeSharp loads from its plugins folder.

Old SourceMod .smx plugins are not compatible in any form — look for a CounterStrikeSharp equivalent instead.

02Install Metamod:Source 2.x

Grab the latest 2.x dev build for Linux or Windows from the Metamod:Source download page and extract it into the server's game/csgo/ directory, so you end up with game/csgo/addons/metamod/. Then the step everyone forgets: CS2 will not load the addons folder until you add Metamod to the engine's search paths. Open game/csgo/gameinfo.gi and, inside the SearchPaths block, add this line directly below the Game_LowViolence entry:

SearchPaths
{
    Game_LowViolence    csgo_lv
    Game    csgo/addons/metamod    // ← add this line
    Game    csgo
    Game    core
}

Note this file gets reverted by CS2 updates — more on that in Troubleshooting, because it is the number-one cause of “my plugins vanished”.

03Install CounterStrikeSharp

From the CounterStrikeSharp GitHub releases page, download the build marked “with runtime” for your OS — it bundles the .NET runtime, which the plain build expects you to have installed system-wide. Extract it into the same game/csgo/ directory; it merges into addons/ next to Metamod:

game/csgo/addons/
├── metamod/
│   └── counterstrikesharp.vdf   ← tells Metamod to load CSS
└── counterstrikesharp/
    ├── api/
    ├── dotnet/                  ← bundled .NET runtime
    ├── configs/
    └── plugins/                 ← your plugins go here

04Verify the stack loads

Start the server and run this in the server console:

meta list

A healthy install lists CounterStrikeSharp as a loaded Metamod plugin. If meta is an unknown command, Metamod itself is not loading — go straight to the gameinfo.gi check. Then confirm the C# layer is alive:

css_plugins list

On a fresh install this reports zero plugins loaded, which is correct — the point is that the command exists and responds.

05Install plugins into the plugins folder

CounterStrikeSharp plugins ship as a folder whose name matches the DLL inside it. Extract each one into addons/counterstrikesharp/plugins/:

addons/counterstrikesharp/plugins/
└── MatchZy/
    ├── MatchZy.dll
    └── (dependencies, resources)

The folder name must match the DLL name (MatchZy/MatchZy.dll) or it will not load. Restart the server, run css_plugins list again, and the plugin should appear with its version. Most plugins generate a JSON config under addons/counterstrikesharp/configs/plugins/<PluginName>/ on first load; check each plugin's README, and check its stated CounterStrikeSharp version too — plugins built against a newer CSS API than you are running will fail to load until you update CSS.

Run it on HostPanel: our CS2 server hosting plans give you full file access for the Metamod and CounterStrikeSharp stack, with console access for css_plugins checks.

Troubleshooting

Plugins all vanished after a CS2 update

Game updates overwrite gameinfo.gi, removing the Metamod search path — the whole stack silently stops loading. Re-add the Game csgo/addons/metamod line from step 2 and restart. This happens after every significant update, so make it the first thing you check on update day.

meta list works but css_plugins is unknown

Metamod is fine but CounterStrikeSharp is not loading. Usual causes: you installed the build without the bundled runtime on a machine with no .NET installed (reinstall using the “with runtime” release), the wrong OS build, or the counterstrikesharp.vdf is missing from addons/metamod/.

A plugin shows as failed in css_plugins list

Version mismatch, almost always: the plugin was built for a newer or older CounterStrikeSharp API than yours. Update CounterStrikeSharp (and Metamod) to current, then grab the plugin's latest release. The server console log names the missing type or method if you want confirmation.