Commands

Server console commands for managing Plugify, its plugins, language modules and packages.

Plugify is managed from the server console with two commands: plg controls the plugin manager, and mamba installs, updates and removes packages.

Plugin manager: plg

plg has the aliases plugify and plug. Run plg --help for the list of subcommands and plg <subcommand> --help for the options of one of them.

CommandWhat it does
plg loadLoad the plugin manager with all language modules and plugins
plg unloadUnload the plugin manager, all plugins and language modules
plg reloadUnload and load everything again
plg pluginsList plugins with their state
plg modulesList language modules with their state
plg plugin <name>Show details of a plugin
plg module <name>Show details of a language module
plg healthShow the overall health of the system
plg tree <name>Show the dependency tree of a plugin or module
plg search <query>Search plugins and modules
plg validate <path>Check a manifest file
plg compare <a> <b>Compare two plugins or modules
plg --versionShow the Plugify version

load, unload and reload take effect on the next server frame. reload restarts all plugins and modules at once.

Lists

plg plugins and plg modules accept filters and sorting:

OptionMeaning
--filter-state <states>Show only the given states, comma separated
--filter-lang <languages>Show only the given languages, comma separated
-s, --sort <field>Sort by name, version, state, language or loadtime
-r, --reverseReverse the order
-f, --failedShow only the ones that failed to load
plg plugins --filter-lang cpp --sort loadtime
plg modules --failed

Details

plg plugin, plg module, plg tree and plg compare take a name. Add -u to pass the numeric id from the list instead.

plg plugin s2sdk
plg tree permissions_connector_s2

JSON output

The global flag -j, --json prints the result as JSON, which is handy for scripts and panels:

plg --json plugins

Packages: mamba

Plugins and language modules are distributed as conda packages. The server console has the mamba command (aliases conda and micromamba) that runs the bundled micromamba inside the Plugify folder.

Package operations run while Plugify is unloaded. Unload it first and load it back when you are done. Type the commands one by one, not as one pasted block: plg unload takes effect on the next server frame, so mamba typed in the same frame is refused:

plg unload
mamba install -n modules plugify-module-python3
plg load

Packages live in environments: modules for language modules and plugins for plugins. -n <environment> selects the one to work with.

CommandWhat it does
mamba list -n pluginsList installed packages
mamba install -n plugins <package>Install a package
mamba update -n plugins <package>Update a package
mamba update -n plugins --allUpdate everything in the environment
mamba remove -n plugins <package>Remove a package
mamba search <package>Find a package in the channels
mamba create -n <name>Create an environment of your own
mamba activate <name>Make an environment the current one, so -n can be left out

The Plugify Source 2 build ships a .condarc that lists the channels of its components, so packages are installed by name. To install from another channel, pass it with -c:

plg unload
mamba install -n plugins -c "https://untrustedmodders.github.io/plugify-plugin-polyhook/" plugify-plugin-polyhook
plg load