Directory Structure
Where Plugify, its packages, your settings, plugin data and logs live on a Counter-Strike 2 server.
Everything Plugify uses lives in one folder of the server: game/csgo/addons/plugify/.
- game/csgo/addons/plugify/
- bin/
- linuxsteamrt64/
- micromamba
- envs/
- modules/
- bin/
- conda-meta/
- plugify-module-cpp.pmodule
- plugify-module-golang.pmodule
- plugins/
- bin/
- conda-meta/
- plugify-plugin-s2sdk.pplugin
- s2sdk.settings.jsonc
- s2sdk.gamedata.jsonc
- s2sdk.translations.jsonc
- my_plugin/
- bin/
- my_plugin.pplugin
- logs/
- pkgs/
- .condarc
- build.json
Folders
| Folder | What it holds | Who writes it |
|---|---|---|
bin/ | The package manager micromamba. With the Metamod host, the Plugify library is here as well | The host |
envs/ | Language modules and plugins. Each subfolder is searched for manifests (*.pmodule, *.pplugin) | mamba and you |
configs/ | Your settings, one folder per plugin | You |
data/ | Translations and saved state of plugins, one folder per plugin | Plugins and you |
logs/ | Log files. Plugify itself writes to the server console | Plugins, and the crash reporting of S2-Launcher |
pkgs/ | Downloaded packages and temporary files of plugins. Safe to delete | mamba and plugins |
The envs folder
Each folder inside envs/ is one place where Plugify looks for modules and plugins:
envs/modulesandenvs/pluginsare conda environments.mambainstalls packages into them, and one environment holds many plugins side by side. Theconda-meta/folder inside records what is installed.- Any other folder works too. A plugin without a package goes into a folder of its own, for example
envs/my_plugin/, with its manifest in the root of that folder.
Manifests are found in the root of each folder in envs/, not deeper. Folders named disabled, temp and tmp are skipped, so moving a plugin into envs/disabled/ turns it off without deleting it.
Files of a plugin
A plugin named <name> keeps its files in fixed places:
| Path | Purpose | On update |
|---|---|---|
envs/<environment>/<name>.<kind>.jsonc | Defaults from the package | Replaced |
configs/<name>/<name>.<kind>.jsonc | Your edits | Kept |
data/<name>/<name>.<kind>.jsonc | Translations and saved state | Kept |
pkgs/<name>/ | Temporary files | May be deleted |
<kind> is settings, gamedata or translations. How these files override each other is described on the Configuration page.
Files in the root
.condarc: the channelsmambainstalls and updates packages from.build.json: which build the host came with, and the host and core versions.
Outside the Plugify folder
The host itself lives next to the game binaries, and its place depends on the host:
| Host | Files |
|---|---|
| Launcher | game/bin/<platform>/s2launcher and libplugify |
| Runtime | game/csgo/bin/linuxsteamrt64/libserver_valve.so, game/bin/linuxsteamrt64/libplugify.so |
| Metamod | game/csgo/addons/metamod/plugify.vdf, the library in addons/plugify/bin/<platform>/ |
Read more at Contents of the build