Плагины

Плагины расширяют функциональность панели GameAP: добавляют новые страницы, вкладки на странице игрового сервера, редакторы файлов, кнопки на главной странице и интеграции с внешними сервисами.

Плагин — это один файл .wasm (WASM-модуль, таргет wasm32-wasip1). Плагины можно писать на любом языке, компилируемом в WASM: для Rust есть готовый SDK, возможна разработка на AssemblyScript. Плагин может включать фронтенд-часть на Vue 3, встроенную в тот же файл .wasm — страницы и компоненты плагина работают прямо в интерфейсе панели.

Шестнадцатеричный редактор файлов игрового сервера — пример плагина GameAP

HEX-редактор файлов игрового сервера — пример работающего плагина.

Безопасность

Серверная часть плагина выполняется в изолированном окружении (WASM-рантайм): у неё нет прямого доступа к файловой системе и сети, все обращения идут через контролируемый интерфейс панели. Устанавливать и удалять плагины может только администратор панели. При установке из каталога панель проверяет SHA-256-хеш скачанного файла.

Изоляция распространяется только на WASM-часть. Фронтенд плагина песочницей не ограничен — это обычный JavaScript в том же источнике, что и панель, с доступом к странице и к API от имени текущего пользователя. Подробнее — Фронтенд плагина.

Отсюда главное правило: плагин получает столько же прав, сколько имеет установивший его администратор. Ставьте плагины только из источников, которым доверяете.

Каталог плагинов

Официальный каталог плагинов находится по адресу plugins.gameap.ru (английская версия — plugins.gameap.dev). В каталоге могут публиковаться как плагины команды GameAP, так и плагины сторонних разработчиков — любой желающий может зарегистрироваться и опубликовать свой плагин (см. Публикация в каталоге).

Плагины из каталога устанавливаются из интерфейса панели в несколько кликов (см. Установка и управление).

Официальные плагины

Плагин Описание Каталог Репозиторий
FTP (files) Управление FTP(S)/SFTP-сервером на выделенных серверах (нодах) plugins.gameap.ru/plugins/files github.com/gameap/plugin-files
HEX Редактор Просмотр и редактирование файлов игрового сервера в шестнадцатеричном виде plugins.gameap.ru/plugins/hexeditor4jm2 github.com/gameap/plugin-hex-editor
GoldSource Addons Управление плагинами Metamod и AMX Mod X на GoldSource-серверах (Half-Life, CS 1.6 и др.) plugins.gameap.ru/plugins/ezvdsxmlu6fbk github.com/gameap/plugin-goldsrc-addons
Minecraft Modrinth Поиск, установка и обновление модов и плагинов Minecraft с modrinth.com plugins.gameap.ru/plugins/dshdabjp2l73a github.com/gameap/plugin-minecraft-modrinth

В этом разделе

  • Установка и управление — установка плагинов из каталога и из файла, обновление, удаление, права доступа, переменные окружения.
  • Разработка плагинов — архитектура плагинной системы, интерфейс плагина, события, HTTP-маршруты, host-функции, сборка на Rust.
  • Фронтенд плагина — встраивание интерфейса плагина в панель, манифест PluginDefinition, слоты, SDK, локальная отладка.
  • Публикация в каталоге — регистрация в каталоге, публикация версий, модерация, публикация из CI/CD.