Published on · last updated on
Why Metamod and CounterStrikeSharp - and not SourceMod?
Under CS:GO, server-side plugins ran via Metamod:Source + SourceMod. With the switch to the Source 2 engine, SourceMod was not ported to CS2. Its place is taken by CounterStrikeSharp (CSSharp) - a modern plugin framework based on .NET. Metamod:Source remains as the loading layer and is the prerequisite for CSSharp.
In short: Metamod:Source hooks into the engine, CounterStrikeSharp builds on top of it and loads your actual plugins.
CS2 server hosting from €5.99 / month
Prepaid without a contract, DDoS protection up to 250 Gbit/s.
View plans & pricesInstall Metamod:Source
- Download the current CS2-compatible version of Metamod:Source (dev build) from the official site.
- Unpack the
addons/metamodfolder intogame/csgo/addons/on your server (via WebFTP or SFTP). - Open
game/csgo/gameinfo.giand add this line in theSearchPathssection:Game csgo/addons/metamod - Restart the server and check in the console with
meta listwhether Metamod is loaded.
Install CounterStrikeSharp
- Download the current CounterStrikeSharp release (the with runtime variant if .NET is not present) from the official repository.
- Unpack the content so that
addons/counterstrikesharpsits undergame/csgo/addons/. - Restart the server. In the console,
css_plugins listconfirms that CSSharp is active. - You then put plugins under
addons/counterstrikesharp/plugins/- after a restart orcss_plugins reload, they are loaded.
On a CS2 server at MainHoster.de, you do the uploading conveniently via the WebFTP file manager in the browser or with an SFTP client - you schedule restarts in the task scheduler.
The folder structure where it usually goes wrong
Almost every failed installation has the same cause: one level too many or too few when unpacking. This is what it has to look like in the end:
game/csgo/addons/metamod/
game/csgo/addons/counterstrikesharp/
game/csgo/addons/counterstrikesharp/plugins/
game/csgo/gameinfo.gi
If you have a folder such as addons/addons/counterstrikesharp instead, the archive brought an extra level when unpacking. The server then starts quite normally, but loads nothing - and reports no error either.
The second classic mistake concerns the gameinfo.gi: Metamod needs an additional entry there to be loaded at all. If a CS2 update replaces this file, the entry is gone and with it the entire plugin chain. After every larger update, a quick look at it is therefore worthwhile.
Checking that everything runs
Three commands via RCON or the server console clarify the state in a few seconds:
meta list- shows the loaded Metamod plugins. If CounterStrikeSharp is not listed here, it never gets as far as loading.css_plugins list- shows all loaded CSSharp plugins. If the command does not respond, CSSharp itself is not active.css_plugins reload- reloads plugins without stopping the server. Handy while setting up.
Work through this order from top to bottom. The first command that does not deliver what you expect shows the level at which things are stuck - that saves searching through the file tree.
After a CS2 update
This is the point every operator of a plugin server should know: every larger CS2 update temporarily disables Metamod and CounterStrikeSharp. Both reach deep into the game internals, and those change with every patch. The server then keeps running as a pure vanilla server - all plugins are silent.
That is not a malfunction, and it cannot be worked around either. Usually, updated versions are available within a few days. Until then: do not tinker with the configuration, but wait - and let the community know briefly so that nobody suspects a defect.
You can prepare in practice by taking a backup of the addons directory before every update. Backups are self-service throughout with us via WebFTP or SFTP. That way, a state that worked can be restored at any time. Which plugins build on it is shown in the overview under plugin frameworks.
Frequently asked questions
Rent your own CS2 server
Sub-tick optimized hardware, unlimited slots, Workshop maps, Metamod:Source & CounterStrikeSharp - prepaid, made in Germany.
View plans & pricesCS2 server hosting
from €5.99 / month
Prepaid without a contract, DDoS protection up to 250 Gbit/s, hosted in Frankfurt am Main.
View plans & pricesRead more
- CS2 server - overview
- Set up MatchZy (5v5)
- Set up a retake server
- Add Workshop maps
- Plugin frameworks compared
Discover more