Публикация в каталоге

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

Каталог плагинов 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-подпись панелью не проверяется — она служит для самостоятельной проверки подлинности файла пользователями.