Преминете към основното съдържание

CounterStrikeSharp vs SwiftlyS2 – why you should use only one

CounterStrikeSharp and SwiftlyS2 are the two most popular plugin platforms for Counter-Strike 2 servers. Both let you run plugins written in C#. Many server owners install both, because they found one plugin for CounterStrikeSharp and another one for SwiftlyS2. It can work, but we do not recommend it.

Why running both is a problem​

ProblemExplanation
Two .NET runtimes in one processEach framework starts its own copy of .NET inside the game server. Two .NET runtimes in one process are not a configuration Microsoft supports. Both install their own crash handlers, garbage collector and JIT compiler, and they can get in each other's way. Crashes inside libcoreclr.so or libclrjit.so with no clear plugin in the error are a typical result.
More CPU and RAMTwo runtimes use roughly twice the memory and extra CPU, which leaves less for the game. See How to fix lag.
Double the work after every CS2 updateBoth frameworks hook the same game functions. After an update you have to wait for fixes for both of them.
Duplicate featuresIt is easy to end up with the same feature twice — for example a VIP system in both, or two map choosers — which leads to conflicts.

Which one should I choose?​

Choose the framework that has most of the plugins you use, and look for alternatives for the rest. Most popular plugins (admin systems, VIP, ranks, skins, map choosers, advertisements, reset score) exist for both platforms.

CounterStrikeSharpSwiftlyS2
Needs MetaMod:SourceYesNo
Plugin foldergame/csgo/addons/counterstrikesharp/pluginsgame/csgo/addons/swiftlys2/plugins
List plugins in consolecss_plugins listsw plugins list
Enable in panelSETTINGS > CounterStrikeSharpSETTINGS > SwiftlyS2

How to switch to one framework​

Step 1) Make a list of the plugins you use in the framework you want to remove, and find a replacement for each one for the other framework.

Step 2) Go to your console and stop your server using the "STOP" button.

Step 3) Upload the replacement plugins. For CounterStrikeSharp see How to upload a CounterStrikeSharp plugin.

Step 4) Go to "SETTINGS" and disable the framework you no longer need in the Variables section.

Step 5) Go to "FILE MANAGER" and move the folder of the old framework (for example game > csgo > addons > swiftlys2) to game > csgo > addons > disabled. Keep it there until you are sure everything works — you may need the old configs.

Step 6) Start the server and check that all plugins load with css_plugins list or sw plugins list.

TIP

Don't want to migrate yet? Move the folder of one framework to addons > disabled for a day or two and see if your crashes stop. That tells you if running both is the cause.