Configuration

Where plugin settings, translations and package channels live on a server, and how to change them so updates keep your edits.

Everything you configure lives in game/csgo/addons/plugify/. Plugify itself needs no configuration file on a server: the host sets its folders, and the plugins bring their own settings.

Plugin settings

A plugin's files are loaded from three places, in this order:

OrderWhereWhat it holds
1envs/<environment>/<name>.<kind>.jsoncDefaults that come with the package. Replaced on every update
2configs/<name>/<name>.<kind>.jsoncYour edits. Kept on updates
3data/<name>/<name>.<kind>.jsoncTranslations and the plugin's saved state

<name> is the plugin name shown by plg plugins, and <kind> is settings, gamedata or translations. A later file overrides the keys of an earlier one.

To change a setting, do not edit the file in envs/. Create a file with the same name in configs/<name>/ and put only the keys you change into it:

envs/plugins/s2sdk.settings.jsonc
configs/s2sdk/s2sdk.settings.jsonc
{
  // defaults from the package
  "ServerLanguage": "en",
  "FollowCS2ServerGuidelines": true
}

Files are merged one level deep: a top-level key from your file replaces the whole value of that key. To change one field inside a nested section, copy the whole section into your file.

Changes are picked up when the plugin starts. Run plg reload, or restart the server.

Translations

Translations use the same three places with the translations kind. To change or add phrases, edit the file in data/<name>/. The full archive of the build already puts the translations of the base plugins there, and updates don't touch them:

data/s2sdk/s2sdk.translations.jsonc
{
  "S2SDK.Menu.Prev": {
    "en": "Back",
    "ru": "Назад"
  }
}

Temporary files

Plugins keep downloaded and generated files in pkgs/<name>/. This folder can be deleted at any time: the plugin creates it again.

Permissions

The permission plugins keep their files in a shared permissions folder:

FilePurpose
configs/permissions/permissions_storage.settings.yamlDatabase for groups and permissions
configs/permissions/permissions_connector_s2.settings.yamlNotifications and command settings
data/permissions/permissions_connector_s2.translations.yamlPhrases shown to players
data/permissions/permissions.dbSQLite database, used by default

Package channels

addons/plugify/.condarc lists the conda channels that mamba installs and updates packages from. The build's own channel goes first, then the channels of its components and of every language module. Add a channel here to install your own packages by name. The host-only archive replaces this file, so keep a copy of your changes:

.condarc
channel_priority: strict
channels:
  - https://untrustedmodders.github.io/plugify-builds/source2/
  - https://example.github.io/my-plugin/

Host options

S2-Launcher accepts these arguments on the command line:

ArgumentMeaning
--verbosity=<level>Log level of Plugify
--profilerTurn on the profiler, see Profiling

Crash reporting of S2-Launcher is configured in game/bin/<platform>/sentry.jsonc, see Crash Detection.