Команды

Команды консоли сервера для управления Plugify, плагинами, языковыми модулями и пакетами.

Plugify управляется из консоли сервера двумя командами: plg управляет менеджером плагинов, а mamba ставит, обновляет и удаляет пакеты.

Менеджер плагинов: plg

У plg есть алиасы plugify и plug. Список подкоманд показывает plg --help, опции одной подкоманды показывает plg <подкоманда> --help.

КомандаЧто делает
plg loadЗагрузить менеджер плагинов со всеми языковыми модулями и плагинами
plg unloadВыгрузить менеджер плагинов, все плагины и языковые модули
plg reloadВыгрузить и загрузить всё заново
plg pluginsСписок плагинов с их состоянием
plg modulesСписок языковых модулей с их состоянием
plg plugin <имя>Подробности о плагине
plg module <имя>Подробности о языковом модуле
plg healthОбщее состояние системы
plg tree <имя>Дерево зависимостей плагина или модуля
plg search <запрос>Поиск по плагинам и модулям
plg validate <путь>Проверить файл манифеста
plg compare <a> <b>Сравнить два плагина или модуля
plg --versionВерсия Plugify

load, unload и reload выполняются на следующем кадре сервера. reload перезапускает сразу все плагины и модули.

Списки

plg plugins и plg modules принимают фильтры и сортировку:

ОпцияЗначение
--filter-state <состояния>Показать только указанные состояния, через запятую
--filter-lang <языки>Показать только указанные языки, через запятую
-s, --sort <поле>Сортировать по name, version, state, language или loadtime
-r, --reverseОбратный порядок
-f, --failedПоказать только те, что не загрузились
plg plugins --filter-lang cpp --sort loadtime
plg modules --failed

Подробности

plg plugin, plg module, plg tree и plg compare принимают имя. С флагом -u вместо имени передаётся числовой id из списка.

plg plugin s2sdk
plg tree permissions_connector_s2

Вывод в JSON

Глобальный флаг -j, --json печатает результат в JSON, это удобно для скриптов и панелей:

plg --json plugins

Пакеты: mamba

Плагины и языковые модули распространяются как conda-пакеты. В консоли сервера есть команда mamba (алиасы conda и micromamba), которая запускает встроенную micromamba в папке Plugify.

Операции с пакетами выполняются, пока Plugify выгружен. Сначала выгрузите его, а после операций загрузите обратно. Вводите команды по одной, а не вставляйте блоком: plg unload срабатывает на следующем кадре сервера, и mamba, введённая в том же кадре, получит отказ:

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

Пакеты лежат в окружениях: modules для языковых модулей и plugins для плагинов. Нужное окружение выбирает -n <окружение>.

КомандаЧто делает
mamba list -n pluginsСписок установленных пакетов
mamba install -n plugins <пакет>Установить пакет
mamba update -n plugins <пакет>Обновить пакет
mamba update -n plugins --allОбновить всё в окружении
mamba remove -n plugins <пакет>Удалить пакет
mamba search <пакет>Найти пакет в каналах
mamba create -n <имя>Создать своё окружение
mamba activate <имя>Сделать окружение текущим, тогда -n можно не писать

В билде Plugify Source 2 есть .condarc со списком каналов его компонентов, поэтому пакеты ставятся по имени. Чтобы поставить пакет из другого канала, передайте канал через -c:

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