How to Install CS2 Plugins: Metamod and CounterStrikeSharp Guide
Counter-Strike 2 has no built-in plugin system for community servers. Admin tools, retake and practice modes, match managers and map voting are all added by third-party, open-source projects: Metamod:Source loads native add-ons into the server, and CounterStrikeSharp sits on top of it so plugins can be written in C#. Neither is made or supported by Valve, and the plugins you load through them are user-installed software.
This guide covers the install order, the panel's Updates, CS2 and Configs tabs, the folders plugins live in, the gameinfo.gi line Metamod relies on, how to confirm everything loaded, why a CS2 game update can break plugins until the frameworks catch up, and what to check when something does not start. It was checked against the Metamod:Source and CounterStrikeSharp documentation in November 2026. Both projects change quickly, so treat their own documentation as the final word for your build.
- Install order: Metamod:Source first, then CounterStrikeSharp, then individual plugins. On ChicagoServers, install the first two from the Updates tab (Metamod:Source 2.0 and CounterStrikeSharp) instead of copying files by hand.
- Behind the scenes, Metamod is loaded by one line in
game/csgo/gameinfo.gi, and CounterStrikeSharp runs on top of Metamod. Know this so you can diagnose a server that stops loading plugins after a game update. - Plugins go in
game/csgo/addons/counterstrikesharp/plugins/<PluginName>/, one folder per plugin, with the plugin DLL inside. Upload them on the Files tab. - Verify on the Console tab with
meta list(Metamod and CounterStrikeSharp) andcss_plugins list(your plugins). - A CS2 update can overwrite
gameinfo.gior break the frameworks. Update the game, then Metamod, CounterStrikeSharp and your plugins, in that order, and contact support if plugins still do not load.
On this page
- What Metamod:Source and CounterStrikeSharp are
- Before you start: back up and plan the order
- How to install Metamod and CounterStrikeSharp on a ChicagoServers server
- How the install works underneath, and installing by hand
- Step 3: install and configure a plugin
- Verify the install with console commands
- Game updates and version compatibility
- Valve's rules, safety and what to trust
- Troubleshooting
- Frequently asked questions
What Metamod:Source and CounterStrikeSharp are
Metamod:Source is a long-running open-source project from the AlliedModders community. Source 1 games could load it as a Valve server plugin, but Source 2 has no server-plugin mechanism, so on CS2 it is loaded by an entry in gameinfo.gi instead. On its own it does nothing visible; it is the layer that lets other native add-ons attach to the game.
CounterStrikeSharp is an open-source Metamod add-on that exposes server events, chat and console commands, timers and game data to plugins written in C# on .NET. Most "CS2 plugins" you will find, such as admin tools, match managers, retakes and map-vote plugins, are CounterStrikeSharp plugins. Some other projects are standalone Metamod add-ons instead; check each project's own instructions to see which kind it is.
| Layer | What it is | Where it lives |
|---|---|---|
| Valve's CS2 server | The game itself, kept up to date from the panel (Update now) | game/csgo/ |
| Metamod:Source | Loader for native add-ons, enabled through gameinfo.gi | game/csgo/addons/metamod/ |
| CounterStrikeSharp | C# plugin framework that runs as a Metamod add-on | game/csgo/addons/counterstrikesharp/ |
| Your plugins | Admin, practice, retakes, match tools and so on | game/csgo/addons/counterstrikesharp/plugins/ |
Before you start: back up and plan the order
Plugin installs add files and change how the game loads, so they are easy to reverse if you prepare. Do these first:
- Make a backup. Open the Backups tab, choose Whole server (it includes the game files, and Metamod changes one of them) and click Back up now. If something breaks, Restore under Your backups puts it back.
- Stop the server before you add files by hand. Both Metamod and CounterStrikeSharp load when the process starts, and replacing files under a running server is a common cause of "it did nothing".
- Give co-admins their own logins instead of sharing yours: under Sub-users in the left menu, tick the server and the permissions. The CS2 tab needs the Console or Mods permission, and uploading plugin files needs the Files permission.
- Download plugins from the official project pages and release listings, not from reposted archives. Check that the build matches your server.
The order matters: Metamod first, then CounterStrikeSharp, then plugins. Each layer depends on the one beneath it.
How to install Metamod and CounterStrikeSharp on a ChicagoServers server
The CS2 tab covers Metamod and CounterStrikeSharp plugins, and the Updates tab does the one-click installs and updates for both. Use it instead of unpacking archives yourself.
- Make a backup
Follow the steps above.
- Open the Updates tab
Open your server in the panel, then the Updates tab.
- Install Metamod:Source
Run the Metamod:Source 2.0 install first.
- Install CounterStrikeSharp
Then run the CounterStrikeSharp install from the same tab.
- Restart and verify
Click Restart at the top of the page, open the Console tab, type
meta listand press Send. It should list CounterStrikeSharp. The verification section below explains the output.
CounterStrikeSharp's documentation asks for a recent Metamod:Source 2.x development build (build 1467 or newer at the time of writing). If meta version shows something older, run the Metamod:Source 2.0 update again from the Updates tab.
On upgrades, the documentation states your configuration files are not overwritten, but make a backup before a major version jump anyway.
How the install works underneath, and installing by hand
It helps to know what the one-click installs set up, because the same pieces are what you check when something stops loading. Metamod:Source files live in game/csgo/addons/metamod/, and the game finds them through one extra line in game/csgo/gameinfo.gi, in the SearchPaths block directly beneath Game_LowViolence and above the other Game entries. The line has to be in the copy inside game/csgo/, not the one under csgo_core.
Game_LowViolence csgo_lv // Perfect World content override
Game csgo/addons/metamod
Game csgoCounterStrikeSharp goes in game/csgo/addons/counterstrikesharp/ and needs no further gameinfo.gi edit; Metamod picks it up from its own files. Its documentation tells you to use the with-runtime build for a first install, because it contains the .NET runtime the framework needs. The folder layout after both installs looks like this:
game/csgo/addons/
counterstrikesharp/
api/
bin/
dotnet/
gamedata/
plugins/ <- your plugins go here
metamod/
bin/
counterstrikesharp.vdf
metaplugins.ini
metamod.vdf
metamod_x64.vdfIf you ever need a specific build that the Updates tab does not offer, you can install by hand on the Files tab: stop the server, upload the extracted addons folder into game/csgo/ (merging it if addons exists; a .zip can be unpacked with Extract here), and for Metamod add the line above to gameinfo.gi after saving a copy of the original. Contact support first if you are unsure, since a wrong edit to gameinfo.gi stops the whole server loading Metamod.
CounterStrikeSharp also needs runtime libraries on the machine: the Visual C++ redistributable on Windows, or the ICU library on Linux. On ChicagoServers you cannot install system packages yourself, so if CounterStrikeSharp is present on disk but not loading, contact support.
Step 3: install and configure a plugin
A CounterStrikeSharp plugin is normally a release archive containing a folder named after the plugin, with the compiled DLL inside it. The folder name and the DLL name should match.
- Read the plugin's own instructions
Check its requirements. Some plugins need extra frameworks, shared libraries or a database, and some conflict with each other (for example two game-mode plugins that both take over round logic). A MySQL database can be created on the Databases tab when your plan includes one.
- Upload to the plugins folder
Open the Files tab and go to
game/csgo/addons/counterstrikesharp/plugins/. Click Upload (or drag the folder onto the page), givingplugins/MyPlugin/MyPlugin.dll. For a.zip, right-click it, choose Extract here, then delete the.zip. If the archive contains extra wrapper folders, flatten them so the DLL sits directly in the plugin's folder. Use SFTP from the blue SFTP bar for big uploads. - Restart or load it
Click Restart, or load the plugin on the running server from the Console tab with the CounterStrikeSharp load command listed below.
- Edit its configuration
Many plugins generate a config the first time they run, commonly under
addons/counterstrikesharp/configs/plugins/<PluginName>/. Open it on the Files tab and click Save. Where a plugin stores settings is up to its author, so follow its documentation.
CounterStrikeSharp also has its own optional admin framework, configured through JSON files in its configs folder (community documentation names admins.json and admin_groups.json). On ChicagoServers the Configs tab lists CounterStrikeSharp admins, CounterStrikeSharp core settings and Metamod plugins, so you can edit those in the Settings view or as Text, then Save and Restart. Installing the framework does not by itself give you chat commands like !kick or !ban; those come from an admin plugin. For the native commands the game already has, see the RCON and admin commands guide.
Common plugin categories are admin and moderation tools, match and scrim managers, practice tools, retake and deathmatch modes, and map-vote helpers. Judge whether a plugin is maintained by its recent releases and open issues, not by popularity alone.
Verify the install with console commands
Run these on the Console tab: type the command and press Send (RCON is handled for you). The expected output is the part to compare.
| Command | What it shows | If it fails |
|---|---|---|
meta list | Metamod's loaded add-ons; with CounterStrikeSharp installed it should list it, for example "CounterStrikeSharp (version) by Roflmuffin" | "Unknown command" means Metamod is not loaded: check the addons location and the gameinfo.gi line on the Files tab, or run the Metamod:Source 2.0 install on the Updates tab again |
meta version | Metamod:Source version string | Same as above |
css_plugins list | Plugins CounterStrikeSharp has loaded, and a reason for any that failed | Empty list: plugin folder or DLL name is wrong, or it targets a different API version |
css_plugins load <name>, css_plugins unload <name>, css_plugins reload <name> | Community documentation lists these to control a single plugin without a restart | Some plugins do not support hot reload; restart the server instead |
Game updates and version compatibility
This is the part that surprises new server owners. Metamod and CounterStrikeSharp hook into the game's internal memory layout and data structures. When Valve updates CS2, that layout can move, and the frameworks must be rebuilt against the new game version. Until their authors publish a fix, a server may fail to start, crash when a player spawns, or load without plugins.
There are two separate failure modes after a Valve update:
- The loader line disappears. The update rewrites
gameinfo.gi, removing yourGame csgo/addons/metamodline. Metamod's own documentation says to reapply the edit after any update that changes the file. On ChicagoServers, run the Metamod:Source 2.0 install on the Updates tab again, and contact support ifmeta listis still an unknown command. Symptom: plugins worked yesterday andmeta listis now an unknown command. - The frameworks are out of date. The line is still there but the Metamod or CounterStrikeSharp build no longer matches the game. Symptoms range from a boot crash to plugins quietly not loading.
For example, CounterStrikeSharp's release list includes a release made specifically for a late-August 2026 CS2 game update, and a public issue report from a match-server project describes servers crashing on boot or on player spawn after the 23 October 2026 update until CounterStrikeSharp and Metamod were moved to newer builds. Treat these as illustrations of the pattern, not a status report.
A safe post-update routine:
- Let the CS2 update finish: click Update now on the Steam update bar.
- Run
meta liston the Console tab. If it is an unknown command, re-add the Metamod line (see above) or run the Metamod install again from Updates. - Update to the newest Metamod:Source 2.x dev build from the Updates tab.
- Update CounterStrikeSharp from the Updates tab, then individual plugins.
- Run
meta listandcss_plugins listbefore opening the server to players.
If the server will not boot at all, stop it, use the Files tab to rename or move the addons folder aside, and start the server unmodified. If it starts, the problem is in the add-on layer and not in the base install. For the base server and its updates, see the CS2 dedicated server setup guide. The Troubleshoot tab lists failed starts and crashes with likely causes.
Valve's rules, safety and what to trust
Server-side plugins run on your machine; they are not client cheats and VAC is not what governs them. The risk that Valve has acted on historically is aimed at the server operator's Game Server Login Token: in 2015 and 2016 Valve told CS:GO server operators to stop offering services that falsify a player's profile or inventory, such as temporary ownership of skins or knives the player does not own, and disabled login tokens of operators who did not comply. Press coverage of the time reports a Valve representative saying almost every other kind of mod is fine.
Valve's server guidelines post on the Counter-Strike blog is the policy that CounterStrikeSharp's own documentation points to for CS2, and CounterStrikeSharp has a core setting (in CounterStrikeSharp core settings on the Configs tab), FollowCS2ServerGuidelines, that is on by default and blocks plugin functionality known to put tokens at risk. It does not guarantee you cannot be banned, and Valve has not published a complete list of allowed and disallowed plugins. Be cautious with anything that changes what players appear to own or what rank they appear to have, read Valve's current server operator terms yourself, and remember that your token is your responsibility. The GSLT token guide covers how tokens are tied to your Steam account.
- Install only from the project's official release page or repository, and prefer plugins with recent releases and open source code you or someone you trust can review.
- A plugin runs with the server process's permissions. A malicious one can read your files, including config files that hold your RCON password, so do not install unknown binaries.
- Make a backup on the Backups tab before each change, and change one thing at a time so you know what broke.
- Keep the framework and plugin versions you tested together. Do not auto-update plugins on a live server without a rollback plan.
Plugins are your own choice: ChicagoServers does not support individual plugins. If you are choosing a host, see Counter-Strike 2 server hosting.
Troubleshooting
| Symptom | Likely cause | What to do |
|---|---|---|
meta list is an unknown command | Metamod not loaded | On the Files tab confirm game/csgo/addons/metamod/ exists and the gameinfo.gi line is present above the other Game entries in game/csgo/; otherwise run the install on the Updates tab again |
| Worked before an update, nothing loads now | Update rewrote gameinfo.gi | Re-add the Metamod line or run the Metamod install on the Updates tab again, restart, run meta list |
meta list works but CounterStrikeSharp is not listed | CounterStrikeSharp files missing or a runtime dependency absent | Check addons/counterstrikesharp/ exists on the Files tab and run the CounterStrikeSharp install again; if it is there but still not listed, contact support (a runtime library may be missing) |
Plugin missing from css_plugins list | Wrong folder or DLL name, or wrong depth | Use plugins/Name/Name.dll; remove extra wrapper folders |
| Plugin listed but reports an error | Missing dependency or API mismatch | Read the console message; update the plugin or CounterStrikeSharp |
| Server crashes on boot or when a player spawns after an update | Frameworks older than the game build | Update Metamod, CounterStrikeSharp and plugins from Updates; if still failing, move addons aside to confirm the base server is fine |
| Config edits are ignored | Edited while running, or wrong file | Stop the server, edit and Save, start again; confirm the file path from the plugin's docs |
Frequently asked questions
Are Metamod and CounterStrikeSharp made by Valve?
No. Both are independent open-source projects. Valve does not make, endorse or support them, and plugins are third-party software you install at your own risk.
Where do I put CS2 plugins?
For CounterStrikeSharp plugins, put each plugin in its own folder under game/csgo/addons/counterstrikesharp/plugins/, for example plugins/MyPlugin/MyPlugin.dll. On ChicagoServers, upload it on the Files tab, then restart the server or load it from the Console tab with the css_plugins load command.
Why did my plugins stop working after a CS2 update?
Two usual causes: the update rewrote gameinfo.gi and removed the Metamod line, or the game changed in a way that needs newer Metamod and CounterStrikeSharp builds. Re-add the line, update the frameworks from the Updates tab, then update plugins, and check with meta list and css_plugins list.
How do I check that Metamod loaded?
Run meta list on the Console tab. If it works and lists CounterStrikeSharp, Metamod is loaded. If it says unknown command, check the addons folder location and the gameinfo.gi line on the Files tab, or run the Metamod:Source 2.0 install again on the Updates tab.
Can plugins get my server or token banned?
Server plugins are not VAC cheats, but Valve has historically taken action against server operators whose plugins falsify players' inventories or ranks, by disabling their Game Server Login Tokens. Avoid such plugins and read Valve's current rules.
Does my host install plugins for me?
The panel gives you one-click installs for Metamod:Source 2.0 and CounterStrikeSharp on the Updates tab, plus the Files tab and SFTP for adding plugins. ChicagoServers does not support individual plugins, so you choose and maintain them yourself.