Installation

Install S2-Launcher on its own, as the Launcher or the Runtime library, and add language modules and plugins with mamba.

Download

Download the archive from the S2-Launcher releases:

ArchiveFormPlatform
plugify-source2-launcher-build-linuxsteamrt64-<commit>.tar.bz2LauncherLinux
plugify-source2-launcher-build-win64-<commit>.tar.bz2LauncherWindows
plugify-source2-runtime-build-linuxsteamrt64-<commit>.tar.bz2RuntimeLinux

Installation

Extract into game/

The archive holds the bin/ and csgo/ folders. Extract it into the game/ folder of the server or the game, so they merge with the folders of the same name:

tar -xjf plugify-source2-launcher-build-linuxsteamrt64-<commit>.tar.bz2 -C /path/to/server/game

On Windows, extract it with any archiver that opens .tar.bz2, for example 7-Zip.

The Launcher on Linux adds these files:

On Windows the files are in bin/win64/ (s2launcher.exe, plugify.dll, sentry.dll, crashpad_handler.exe, sentry.jsonc) and csgo/addons/plugify/bin/win64/micromamba.exe. The Runtime archive has csgo/bin/linuxsteamrt64/libserver_valve.so instead of s2launcher.

Start the game

Launcher: start s2launcher instead of cs2, with the same arguments:

# Linux
./game/bin/linuxsteamrt64/s2launcher -dedicated +map de_dust2

# Windows
game\bin\win64\s2launcher.exe -dedicated +map de_dust2

Runtime: start cs2 as usual, and the game loads Plugify by itself.

To run the game client instead of a dedicated server, add -insecure. Without -dedicated or -insecure the launcher doesn't start.

On first start Plugify creates envs/, configs/, data/, logs/ and pkgs/ in csgo/addons/plugify/.

Check

In the console:

plg --version

The command prints the Plugify version.

Language modules and plugins

The host comes without language modules and plugins. Install them with mamba into the modules and plugins environments. Without a build there is no .condarc with channels, so pass the channel of each package with -c.

The base Source 2 plugins and the C++ module they need:

plg unload
mamba create -n modules
mamba install -n modules -c "https://untrustedmodders.github.io/plugify-module-cpp/" plugify-module-cpp
mamba create -n plugins
mamba install -n plugins -c "https://untrustedmodders.github.io/plugify-plugin-configs/" plugify-plugin-configs
mamba install -n plugins -c "https://untrustedmodders.github.io/plugify-plugin-polyhook/" plugify-plugin-polyhook
mamba install -n plugins -c "https://untrustedmodders.github.io/plugify-plugin-s2sdk/" plugify-plugin-s2sdk
plg load
  • plugify-module-cpp: runs plugins written in C++;
  • plugify-plugin-configs: configuration files for plugins;
  • plugify-plugin-polyhook: function hooking;
  • plugify-plugin-s2sdk: the Source 2 SDK, the game functions for plugins.

Modules for other languages, only the ones you need:

plg unload
# C#
mamba install -n modules -c "https://untrustedmodders.github.io/plugify-module-dotnet/" plugify-module-dotnet
# Python
mamba install -n modules -c "https://untrustedmodders.github.io/plugify-module-python3/" plugify-module-python3
# JavaScript
mamba install -n modules -c "https://untrustedmodders.github.io/plugify-module-v8/" plugify-module-v8
# Go
mamba install -n modules -c "https://untrustedmodders.github.io/plugify-module-golang/" plugify-module-golang
# Lua
mamba install -n modules -c "https://untrustedmodders.github.io/plugify-module-lua/" plugify-module-lua
# Rust
mamba install -n modules -c "https://untrustedmodders.github.io/plugify-module-rust/" plugify-module-rust
plg load

Check what is loaded:

plg modules
plg plugins

Troubleshooting

  • The game doesn't start. Check that s2launcher is in the same folder as cs2, that it may be executed, and that the arguments include -dedicated (server) or -insecure (client).
  • plg is not a known command. Plugify didn't load. Check the console output at start, and that the files are where the tree above shows them.
  • mamba refuses to run. Package operations work only while Plugify is unloaded: run plg unload first.