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 here04Verify the stack loads
Start the server and run this in the server console:
meta listA 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 listOn 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.
