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

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

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

Ore requires any projects to be packaged with a mcmod.info descriptor file in the top-level of your JAR file. This file is used to automatically infer some important details about your project to make the upload process easier. Ore will reject your plugin if this file is missing from the JAR. Luckily, SpongeAPI has a built-in annotation processor that creates this file for you automatically, on compile, using the @Plugin annotation that you have likely already created in your plugin’s main class.

Примечание

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

Пример файла 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

You will then be prompted to enter your key into a text box. You must be sure to enter the key in its entirety or signature validation will fail.

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 a 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. После создания вашего проекта пользователи, которых вы пригласили, получат уведомление и смогут либо принять, либо отклонить ваше приглашение. Участники проекта будут невидимы для общественности до тех пор, пока приглашение не будет принято.

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

Владелец

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

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

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

Редактор

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

Поддержка

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

Documenting Your Project With Pages

To document your plugin Ore offers the creation of pages. By default, you get a „Home“ page when you create your new Project. To add new pages, you can click on the „+“ icon in the Pages bar on the right of the screen; doing so will open a pop-up where you can choose a name and the parent page (adding a page on the Home page is not possible). If you choose the „<None>“ option the page will become a root page where you can later add child pages on. If you choose to add it to another page the page will only show when the parent page is expanded. To document your pages, you can use CommonMark.

Linking Pages

If you have the following tree structure in your pages:

  • Home
  • Команды
    • Пользователь
    • Admin
  • Установка
    • Config
    • Разрешения

And you want to add a link from the home page to the Config page in Setup you can use WikiLinks. To add a WikiLink use the format [[Link]] so on the home page you can add [[Setup/Config]] and this will get be converted to a link that is guaranteed to work.

Примечание

You can also specify a title for the link and separate it with a Pipe symbol so [[Title|Link]] will become a link with the title

Примечание

WikiLinks are only supported in Ore so if you use them on the Home-page they will not be displayed correctly on the forums. However, we still recommend using WikiLinks instead of normal links to guarantee the future working of your wiki.

Project States

When creating a new project, a banner will appear telling you your project is in a „new“ state. The new state is intended to indicated to users and admins you are still working on the setup of your project. If you have finished documenting your plugin to make it comply with the guidelines, click the „publish“ button to complete the process. However, if you don’t publish it yourself then the project will be published automatically 24 hours after its creation.

Needs Changes

Ore staff can hide your project and request changes; the changes in question will be listed in the banner. This state will hide your project from the public; if you are done you can send your project for approval.

Needs Approval

In this state your project is still hidden from the public while waiting for a staff member to review and validate the changes that were requested. Please be patient, the staff members might be busy with other tasks. If the project gets approved it will automatically become visible again. Please make sure to actually fix the points that require changes.