Публикация в каталоге
Каталог плагинов
Каталог плагинов GameAP доступен по адресам plugins.gameap.ru (русская версия) и plugins.gameap.dev (английская версия). Публичная часть каталога включает:
- список плагинов с сортировкой (популярные, с высоким рейтингом, новые, недавно обновлённые);
- фильтрацию по категориям и меткам;
- страницу плагина: обзор, отзывы, история изменений по версиям, скриншоты, сведения о лицензии и ссылка на репозиторий.
Кнопки «Установить» на сайте нет: плагины устанавливаются из интерфейса панели (см. Установка и управление).
Личный кабинет разработчика находится по адресу plugins.gameap.dev/dashboard.
Регистрация
Регистрация — по email с указанием имени пользователя и пароля (не менее 8 символов) с подтверждением почты либо через OAuth (GitHub, Google).
Создание плагина в кабинете
В кабинете разработчика создайте плагин и заполните поля:
- название;
- краткое описание (не более 500 символов);
- описание;
- категория и метки;
- лицензия;
- ссылка на репозиторий;
- минимальные версии GameAP и Plugin API.
Иконка плагина загружается после создания, на странице редактирования.
Публикация версии
На странице плагина добавьте новую версию:
- версия — в формате семантического версионирования (например,
1.0.0); - файл плагина — только
.wasm; - GPG-подпись файла (
.asc, необязательно); - changelog («что нового в этой версии»);
- флаг «стабильный релиз» — отмечает версию как рекомендуемую для использования;
- скриншоты версии.
Описание, changelog и скриншоты можно переводить на другие языки.
Модерация
Новый плагин проходит модерацию: «черновик» → «на проверке» → «опубликован» или «отклонён». При отклонении плагина или версии модератор указывает причину, разработчик получает уведомление.
Публикация из CI/CD
Для автоматической публикации версий используются deploy-токены: они создаются на странице плагина в кабинете и показываются только один раз. Публикация выполняется запросом к эндпоинту https://plugins.gameap.dev/api/ci/plugins/{PLUGIN_ID}/versions:
POST /api/ci/plugins/{PLUGIN_ID}/versions
Authorization: Bearer <deploy token>
multipart-поля: version, file (файл .wasm), signature (файл .asc, необязательно), changelog, is_stable. Успешный ответ — HTTP 201.
GPG-подпись файла создаётся командой:
gpg --detach-sign --armor -o my-plugin.wasm.asc my-plugin.wasm
Готовый пример workflow публикации по тегу релиза (сборка, подпись, загрузка в каталог) смотрите в файле release.yml репозиториев plugin-minecraft-modrinth и plugin-hex-editor.
Требования к плагину
- Единый файл
.wasm(таргетwasm32-wasip1); фронтенд-часть встраивается в тот же файл. - Корректные метаданные
PluginInfo: обязательноapi_versionсо значением"1"и стабильныйid(см. требования к id в разделе Разработка плагинов). - Версии — в формате семантического версионирования.
При установке плагина из каталога панель проверяет SHA-256-хеш скачанного файла. GPG-подпись панелью не проверяется — она служит для самостоятельной проверки подлинности файла пользователями.