VGKAMI
Advertise Get listed

Game Guides

How to Install Mods on a Counter-Strike Server (CS2 and CS:Source)

October 26, 2026 12 min read

Installing a mod on a Counter-Strike server depends on which game you run. Counter-Strike 2 uses Metamod:Source with CounterStrikeSharp, while Counter-Strike: Source uses Metamod:Source with SourceMod. The frameworks, folders, plugin formats, and console commands are different, so using SourceMod instructions on CS2—or vice versa—will fail. Stop the server, back up its configuration and existing addons folder, install the correct framework, copy the plugin without changing its supplied folder structure, restart, and verify it from the server console. This guide gives the exact layouts and checks for both games, plus recovery steps for broken installs and updates.

Which Counter-Strike game are you modding?

Identify the game before downloading anything. The two dedicated-server stacks are not interchangeable.

Game Framework stack Plugin format and location Verification command Update concern
Counter-Strike 2 Metamod:Source plus CounterStrikeSharp CounterStrikeSharp plugin folder copied to game/csgo/addons/counterstrikesharp/plugins/ meta list, then css_plugins list Game builds, Metamod, CounterStrikeSharp and plugins must remain compatible
Counter-Strike: Source Metamod:Source plus SourceMod SourceMod plugin .smx file in cstrike/addons/sourcemod/plugins meta list, then sm plugins list Valve updates can break SourceMod, Metamod or individual plugins

The instructions below assume a dedicated server that you can stop, start and restart, and whose server console you can access. A game client or listen server does not provide the same file and process controls.

What should you prepare before installing a mod?

Prepare the server and a rollback copy before changing framework files. A failed framework installation can prevent the server from starting, while a bad plugin can crash only after a map loads.

  • Confirm whether the server is CS2 or CS:Source and note its operating system.
  • Verify that you can stop and start the actual dedicated-server process and reach its server console.
  • Back up configuration files and the existing addons directory. Keep the backup outside the live game directory.
  • Download a Metamod:Source build and a framework release that explicitly supports your current game build.
  • Plan a private test run before enabling a new gameplay feature for public players.

Windows CS2 installations may require the Visual Studio Redistributables required by CounterStrikeSharp. Linux installations may need ICU or libicu packages. Install the prerequisites specified by the framework release for your operating system; a plugin cannot repair a missing runtime.

How do I install mods on a Counter-Strike 2 server?

Install Metamod:Source first, then CounterStrikeSharp, then the individual plugin. Complete each restart and console check before moving to the next layer.

1. Stop the server and locate game/csgo

Shut down the dedicated server cleanly. Work relative to its game/csgo/ directory; do not copy files into the Steam client’s installation unless that is also the directory used by the dedicated-server process.

Make a dated copy of the current configuration and game/csgo/addons folder. If the installation later fails, this copy lets you return to the last known-good state.

2. Install Metamod:Source for CS2

  1. Extract the Metamod package’s addons/ directory into game/csgo/. The result should include game/csgo/addons/metamod/, not game/csgo/addons/addons/metamod/.
  2. Open game/csgo/gameinfo.gi in a text editor and locate the SearchPaths section.
  3. Add this line directly beneath Game_LowViolence csgo_lv:
    Game csgo/addons/metamod
  4. Preserve the existing braces, indentation and syntax. Save a backup of the original file before saving the edit.
  5. Start or restart the dedicated server.
  6. In the server console, run meta list. A plugin list indicates that Metamod is responding.

If the console says the command is unknown, stop and fix Metamod before installing CounterStrikeSharp. A plugin copied into a non-working framework directory cannot load.

3. Install CounterStrikeSharp

  1. Download a CounterStrikeSharp release that supports the current CS2 server build.
  2. For a first installation, choose the with-runtime package. It contains the .NET runtime CounterStrikeSharp needs.
  3. Extract its addons/ directory into game/csgo/, merging with the existing directory rather than replacing unrelated files.
  4. Restart the server.
  5. Run meta list again. CounterStrikeSharp should appear in the Metamod list.

Use a non-runtime package for later upgrades only when the required .NET runtime is already installed and compatible. On Windows, install the Visual Studio Redistributables required by the release. On Linux, install the required ICU or libicu package. Check the server log for runtime, architecture or version errors if CounterStrikeSharp does not appear.

4. Add a CS2 plugin

  1. Read the plugin release notes and confirm support for your current Counter-Strike 2 build and CounterStrikeSharp version. Do not assume an older plugin remains compatible after a game update.
  2. Extract the release locally and inspect its top-level folders. Keep the supplied plugin folder intact.
  3. Copy that folder into game/csgo/addons/counterstrikesharp/plugins/.
  4. Check for documented dependencies, configuration files or permissions and install them exactly where the plugin author specifies.
  5. Confirm that you have not created an accidental double nesting such as plugins/PluginName/PluginName/..., and do not flatten files that were supplied inside subdirectories.
  6. Restart the server.
  7. Run css_plugins list in the server console. The plugin should be listed.
  8. Use the plugin’s documented command or feature on a private test instance before exposing it to players.

CounterStrikeSharp uses Metamod:Source to communicate with the game server, so both frameworks must remain installed. Removing Metamod while leaving CounterStrikeSharp files in place will not produce a working CS2 plugin installation.

How do I install SourceMod mods on a Counter-Strike: Source server?

SourceMod also depends on Metamod:Source. Install both into the cstrike mod folder, then place each plugin’s .smx file and supporting files in their matching directories.

1. Stop the Source server and back it up

Stop the dedicated server completely. Back up the cstrike configuration and existing cstrike/addons directory. Keep the backup available while testing, because a plugin can fail only after a map change or a specific command.

2. Install Metamod:Source

  1. For a local Windows server, extract the Windows .zip package into the cstrike mod folder.
  2. For Linux, extract the .tar.gz package into cstrike.
  3. For a remote host, upload the extracted addons contents so the final path contains cstrike/addons/metamod.
  4. Restart the server fully rather than merely changing the map.
  5. Run meta list in the server console. Metamod must respond before SourceMod can load.

3. Install SourceMod

  1. Extract or upload SourceMod so the final layout contains cstrike/addons/sourcemod alongside cstrike/addons/metamod.
  2. Restart the dedicated server.
  3. Run sm plugins list. SourceMod’s core plugins should be listed.

If the command is unavailable, inspect the directory layout and Metamod installation instead of copying more plugin files. SourceMod requires Metamod:Source.

4. Install a SourceMod plugin

  1. Confirm that the plugin was built for the SourceMod version you installed.
  2. Copy its .smx file into cstrike/addons/sourcemod/plugins.
  3. Copy any supplied configuration files into the matching configuration directory and translation files into the matching translations directory. Preserve the package’s folder names.
  4. Restart the server, then run sm plugins list.
  5. For a controlled check, load it with sm plugins load plugin_name or unload it with sm plugins unload plugin_name, using the plugin name shown by SourceMod.

Add one plugin at a time while testing. That makes it possible to identify the file that causes a crash or silent failure.

Where do CounterStrikeSharp and SourceMod plugins go?

The framework determines the destination. Use the following paths as a quick check before restarting.

Server Framework directory Plugin destination Typical plugin file
CS2 game/csgo/addons/counterstrikesharp game/csgo/addons/counterstrikesharp/plugins/ Supplied CounterStrikeSharp plugin folder; preserve its structure
CS:Source cstrike/addons/sourcemod cstrike/addons/sourcemod/plugins/ .smx

Do not copy a CS:Source .smx file into a CS2 CounterStrikeSharp directory, and do not copy a CounterStrikeSharp release into SourceMod’s folders. A directory that merely “looks right” is not evidence that the framework can read the files inside it.

How do I verify that a mod loaded?

Use the server console, not only a file manager or the in-game client. A correct verification sequence confirms the framework first and the plugin second.

CS2 verification

  1. Run meta list and confirm Metamod and CounterStrikeSharp are present.
  2. Run css_plugins list and confirm the plugin is listed without an error state.
  3. Check the server log for missing dependencies or runtime errors.
  4. On a private instance, execute the plugin’s documented command or reproduce its feature.

CS:Source verification

  1. Run meta list and confirm Metamod responds.
  2. Run sm plugins list and confirm SourceMod’s core and added plugin entries.
  3. Check logs after a map change, when many plugins initialize.
  4. Use sm plugins load or sm plugins unload for an isolated test if needed.

Restart after correcting files. A console command from a previously running process cannot prove that newly copied files were discovered.

Why does meta list say “unknown command”?

The server has not loaded Metamod, or you are typing into the wrong console. Check the path, activation file and process before touching plugin files.

  • Confirm that addons/metamod is directly under the correct game directory: game/csgo for CS2 or cstrike for CS:Source.
  • For CS2, verify the Game csgo/addons/metamod line is in the SearchPaths section directly beneath Game_LowViolence csgo_lv.
  • For Source, verify the Metamod package’s required VDF files are present in the supplied locations.
  • Make sure you restarted the actual dedicated-server process, not only the client or a different server instance.
  • Restore the backup and reinstall one framework layer at a time if the layout is uncertain.

What should I do if CounterStrikeSharp does not appear?

Most failures are a missing runtime, an unsupported build, or a package copied one level too deep.

  • For a first installation, replace the package with CounterStrikeSharp’s with-runtime build.
  • Install the required Visual Studio Redistributables on Windows.
  • Install ICU or libicu on Linux when required by the release.
  • Confirm Metamod itself appears in meta list.
  • Read the server log for .NET runtime, operating-system architecture or game-version errors.
  • Check that the CounterStrikeSharp addons directory was merged into game/csgo, not nested as game/csgo/addons/addons.
  • Restart after each correction.

Why is the plugin folder present but the plugin does not load?

Presence on disk does not establish compatibility or correct nesting. Work from the framework outward.

  1. Confirm the plugin is listed by the appropriate command: css_plugins list for CS2 or sm plugins list for Source.
  2. Compare the installed game build and framework versions with the plugin’s stated support range.
  3. Remove accidental double nesting and restore any supplied subdirectories.
  4. Install documented dependencies before loading the plugin.
  5. Inspect the server log for a missing library, permission error, parse failure or version mismatch.
  6. Restart and test the plugin alone on a private server.

If a CS:Source plugin crashes or silently fails, verify that it was compiled for the installed SourceMod version and add plugins one at a time. Use the controlled load and unload commands to isolate the failure.

How do I recover from a broken gameinfo.gi edit?

Restore the known-good file immediately, then reapply only the required line. Do not keep experimenting on a server that cannot start.

  1. Stop the server process.
  2. Replace game/csgo/gameinfo.gi with the backup made before the edit.
  3. Start the server using the last known-good framework files and confirm that it runs.
  4. Make one carefully placed change beneath Game_LowViolence csgo_lv: Game csgo/addons/metamod.
  5. Restart and run meta list before installing or updating anything else.

How should I update mods after a Counter-Strike update?

Treat updates as a staged change, not as a routine file overwrite. Valve updates can break Metamod, SourceMod, CounterStrikeSharp and individual plugins.

  1. Record the current game build, framework versions and plugin versions.
  2. Read the release notes for the game, Metamod, CounterStrikeSharp or SourceMod, and each affected plugin.
  3. Back up configuration files and the entire working addons tree.
  4. Keep the previous working framework and plugin set available for rollback.
  5. Update one layer at a time: game-compatible Metamod first, then CounterStrikeSharp or SourceMod, then plugins.
  6. Restart after each layer and verify with meta list plus css_plugins list or sm plugins list.
  7. Test commands and gameplay on a private instance before reopening the public server.

If the update breaks the server, stop it, restore the previous known-good set, and wait for compatible framework or plugin releases rather than mixing old and new files.

Does installing a plugin configure the rest of the server?

No. Plugin installation and network administration are separate tasks. A correctly loaded mod does not configure the UDP port, player limit, RCON credentials, VAC settings, firewall rules, or public reachability. Configure and test those controls independently, following the requirements of your host and operating system.

Should I self-host or use managed hosting for mods?

Self-hosting gives you direct control, while managed hosting can be simpler when you lack filesystem or restart access. Choose based on operational control rather than on the plugin framework itself.

Consideration Self-hosted server Managed host
Filesystem access Full access to game directories and backups Depends on the provider’s file manager or SFTP access
Restart control You schedule and perform restarts Usually supplied through a panel, subject to provider limits
Updates You track game, framework and plugin compatibility Provider may offer images or assistance, but responsibility varies
Rollback You retain and restore your own known-good files Depends on the provider’s backup and snapshot policy
Operating-system prerequisites You install Windows redistributables or Linux ICU packages Host may provide the operating system, but verify runtime support
Support and protection You handle troubleshooting, firewall and DDoS arrangements Support and DDoS protection vary by plan and provider
Recurring cost Hardware, bandwidth and administration are your responsibility Recurring hosting charge; exact pricing depends on provider and region

Whichever model you choose, insist on the ability to upload the correct files, restart the server, view the console and restore a backup. Without those four controls, diagnosing a failed mod is unnecessarily difficult.

What is the safest testing routine for a new mod?

Use a repeatable isolation routine so a bad plugin does not become a public outage.

  1. Clone or back up the working server files.
  2. Install only the required framework layer and verify it.
  3. Add one plugin and its documented dependencies.
  4. Restart and check the framework and plugin list.
  5. Run the plugin’s commands on a private server through a complete map load.
  6. Review logs for warnings that do not appear in the console.
  7. Open the public server only after the feature works and the rollback copy is still available.

Frequently Asked Questions

Can I install CS2 and CS:Source mods in the same server folder?

No. CS2 uses the game/csgo tree and CounterStrikeSharp, while CS:Source uses the cstrike tree and SourceMod. Keep each game’s dedicated server and addons directory separate.

Do I need to recompile every SourceMod plugin after a game update?

Not necessarily, but you must confirm compatibility with the updated SourceMod and game build. A plugin that loads can still malfunction, so check its release notes and test it after the update.

Can I load a CounterStrikeSharp plugin without restarting the server?

A restart is the reliable discovery method after copying framework or plugin files. Some releases expose reload features, but use the documented mechanism for that plugin and still perform a full restart when troubleshooting.

Where can I find the reason a plugin failed when the console is quiet?

Inspect the dedicated-server logs generated during startup and map changes. Runtime, dependency, permissions and version errors are often recorded there even when the interactive console shows only a generic failure.

What should I keep in a rollback backup?

Keep the configuration files, the complete working addons directory and a note of the game, framework and plugin versions. Store it outside the live game directory so an update cannot overwrite the recovery copy.