Публикация плагина

Официальное хранилище Sponge для модов и плагинов, Ore, — это проект с открытым исходным кодом, в котором каждый может опубликовать свои Sponge-плагины и Forge-моды.

Упаковка плагина

Ore требует, чтобы любые проекты были упакованы с файлом дескриптора mcmod.info на верхнем уровне Вашего JAR-файла. Этот файл используется для автоматического определения некоторых важных деталей о Вашем проекте, чтобы упростить процесс загрузки. Ore отклонит Ваш плагин, если этот файл отсутствует в JAR. К счастью, Sponge API имеет встроенный обработчик аннотаций, который автоматически создает этот файл при компиляции с использованием аннотации @Plugin, которую Вы, вероятно, уже создали в основном классе Вашего плагина.

Примечание

Если Вы хотите информацию о создании и компиляции первого плагина, см. Основной класс плагина

Пример файла mcmod.info:

[
    {
        "modid": "my-plugin",
        "name": "MyPlugin",
        "version": "1.0.0",
        "description": "My first plugin!",
        "url": "https://spongepowered.org",
        "authorList": [
            "windy",
            "Zidane",
            "gabizou"
        ],
        "requiredMods": [
            "bookotd@1.0.0",
            "ore-test@1.0.0",
            "worldedit@1.0.0"
        ],
        "dependencies": [
            "bookotd@1.0.0",
            "ore-test@1.0.0",
            "worldedit@1.0.0"
        ]
    }
]

По крайней мере, каждый проект Ore должен содержать заполненные поля modid, name и version.

Подписывание плагина

Из соображений безопасности Ore требует, чтобы каждый файл плагина (ZIP или JAR) загружался с отдельной Pretty Good Privacy (PGP) подписью для открытого ключа, который связан с электронной почтой, с которой вы подписались на Sponge. Эта цифровая подпись гарантирует, что любой файл, загруженный пользователем, должен быть загружен фактическим владельцем учётной записи.

Примечание

Цифровая подпись удостоверяет и маркирует документ. Если документ впоследствии будет изменен каким-либо образом, проверка подписи не удастся. Цифровая подпись используется с той же целью, что и подпись, написанная от руки, с дополнительным преимуществом — защищенность от несанкционированного доступа. Например, исходный дистрибутив GnuPG подписывается, чтобы пользователи могли проверить, что исходный код не был изменён, поскольку он был упакован.

Чтобы подписать ваш плагин, вы должны сначала загрузить программное обеспечение, совместимое с PGP, например GnuPG (GPG). GPG доступен для всех основных платформ, и бинарные файлы можно загрузить здесь.

После того, как Вы установили GPG и создали свой первый открытый ключ, Вам необходимо добавить его в свою учетную запись. Для этого Вы можете перейти к своему профилю и щелкнуть символ ключа рядом с вашим аватаром.

PGP public key 1

Затем вам будет предложено ввести ваш ключ в текстовое поле. Убедитесь в том, что ключ введён полностью, иначе проверка подписи не удастся.

PGP public key 2

Наконец, вы должны подписать свой собранный плагин с помощью ключа private открытого ключа, который вы загрузили. Вам нужно только подписать файл, который вы загружаете: например, если вы загружаете ZIP-архив с включенным JAR-плагином, только ZIP-архив (и никакой другой файл) должен быть подписан. Самый простой способ подписать файл, который вы собираетесь загрузить, можно при помощи данной команды GPG.

gpg --output myplugin-1.0.0.jar.sig --detach-sig myplugin-1.0.0.jar

Примечание

If you’re using build manager such as Gradle or Maven, there are plugins you can apply to your build script that can sign built artifacts and automate this laborious process for you. For more information, please refer to Gradle’s documentation or Maven’s documentation.

Загрузка плагина

После того, как JAR-файл вашего плагина упакован с файлом дескриптора mcmod.info на верхнем уровне и подписан с закрытым ключом PGP, ваш плагин готов к загрузке! Для создания проекта Ore у вас должна быть активная учетная запись Sponge. Нажав кнопку «Sign Up» в правом верхнем углу, вы попадете на соответствующую страницу регистрации. Если у вас уже есть учетная запись, просто нажмите кнопку «Log In» в правом верхнем углу.

После входа в систему перейдите к вашему аватару и выберите «New» в раскрывающемся меню или нажмите клавишу «C».

Во время загрузки мастер создания сначала запросит файл загрузки, а затем вашу подпись.

Настройка вашего проекта на Ore

После загрузки вашего плагина вам будут предложены некоторые параметры для настройки вашего проекта по своему усмотрению. Не беспокойтесь, все они могут быть изменены позже на панели настроек. После настройки вашего проекта вы сможете пригласить пользователей Sponge стать частью вашего проекта. Любой пользователь, зарегистрированный на форумах, может быть приглашен в проект, даже если он никогда не регистрировался в Ore. После создания вашего проекта пользователи, которых вы пригласили, получат уведомление и смогут либо принять, либо отклонить ваше приглашение. Участники проекта будут невидимы для общественности до тех пор, пока приглашение не будет принято.

На данный момент существует три группы, которые можно назначить участникам проекта: Разработчик, Редактор и Поддержка. Пользователь, создавший проект, назначается Владельцем, имеющим неограниченный доступ к проекту. Далее идёт быстрое описание о том, что может делать каждая группа в проекте.

Владелец

Единственная группа, которая может назначать роли другим участникам. Права владельца могут быть только на одном участнике, а также их нельзя передавать другим (пока что).

Разработчики

Разработчики могут создавать/редактировать каналы выпуска, страницы и создавать/редактировать версии.

Редактор

Редакторы могут изменять страницы.

Поддержка

Поддержка ничего не может. Это способ показать, что участник является частью проекта.