Publikowanie Twojego Pluginu

Sponge’s official plugin / mod repository, Ore, is a free and open-source project that anyone may publish their Sponge plugins or Forge mods on.

Pakowanie Twojego Pluginu

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.

Informacja

W celu uzyskania większej ilości informacji na temat tworzenia i kompilacji twojego pierwszego pluginu, zobacz Główna Klasa Pluginu

For reference, here is a sample mcmod.info file:

[
    {
        "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"
        ]
    }
]

At the very least, each Ore project must have the modid, name and, version fields completed.

Signing your Plugin

Ze względów bezpieczeństwa, baza danych pluginów wymaga, aby każdy plik pluginu (ZIP albo JAR) został przesłany z osobnym podpisem Pretty Good Privacy (PGP) dla publicznego klucza, który jest powiązany z e-mailem, przez, którego zarejestrowałeś się do serwisu Sponge. Ten cyfrowy podpis gwarantuje, że każdy plik przesłany przez użytkownika został celowo przesłany przez rzeczywistego posiadacza konta.

Informacja

Podpis cyfrowy certyfikuje i wskazuje czas dokumentu. Jeśli dokument zostanie później w jakikolwiek sposób zmodyfikowany, weryfikacja podpisu zakończy się niepowodzeniem. Podpis cyfrowy może służyć temu samemu celowi, co odręczny podpis z dodatkową korzyścią, że jest odporny na manipulacje. Na przykład dystrybucja źródeł GnuPG jest podpisywana, aby użytkownicy mogli zweryfikować, czy kod źródłowy nie został zmodyfikowany, ponieważ został spakowany.

In order to sign your plugin, you must first download a PGP compliant software program, such as GnuPG (GPG). GPG is available for all major platforms and the binaries can be downloaded here.

Po zainstalowaniu GPG i wygenerowaniu pierwszego klucza publicznego, musisz dodać klucz do swojego konta. Aby to zrobić, możesz przejść do swojego profilu i kliknąć symbol klucza obok swojego awatara.

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

Na koniec musisz podpisać swoją wbudowaną wtyczkę swoim prywatnym kluczem przesłanego klucza publicznego. Musisz tylko podpisać plik, który przesyłasz: na przykład, jeśli przesyłasz ZIP z załączonym JAR wtyczki, wtedy tylko ZIP musi (i powinien być) podpisany. Najprostszym sposobem podpisania pliku, który zamierzasz przesłać, jest wykonanie następującego polecenia GPG.

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

Informacja

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.

Przesyłanie Twojego Pluginu

Gdy plik JAR wtyczki jest spakowany z plikiem deskryptora `` mcmod.info` w najwyższym poziomie i podpisany kluczem prywatnym PGP, twoja wtyczka jest gotowa do wgrania! Aby utworzyć projekt w Ore, musisz mieć aktywne konto Sponge. Naciśnięcie przycisku „Zarejestruj się” w prawym górnym rogu przeniesie Cię do odpowiedniej strony, aby ją utworzyć. Jeśli masz już konto, po prostu naciśnij przycisk „Zaloguj się” w prawym górnym rogu, aby zalogować się do Ore.

Po zalogowaniu przejdź do swojego awatara i wybierz opcję „Nowy” w rozwijanym menu lub naciśnij klawisz „C”.

Podczas przesyłania kreator tworzenia najpierw poprosi o przesłanie głównego pliku do przesłania, a następnie o oddzielny podpis.

Konfigurowanie twojego projektu na Ore

Po przesłaniu wtyczki otrzymasz kilka ustawień, które pozwolą Ci skonfigurować twój projekt. Nie martw się, wszystko to można później zmienić w panelu ustawień. Po skonfigurowaniu projektu będziesz mógł zaprosić użytkowników Sponge do udziału w projekcie. Każdy użytkownik zarejestrowany na forum może zostać zaproszony do projektu, nawet jeśli nigdy nie zalogował się do Ore. Po utworzeniu projektu zaproszeni użytkownicy otrzymają powiadomienie i będą mogli zaakceptować lub odrzucić zaproszenie. Członkowie projektu nie będą widoczni publicznie, dopóki zaproszenie nie zostanie zaakceptowane.

Istnieją obecnie trzy grupy, które możesz przypisać do członków projektu: Deweloper,` Edytor` i Wsparcie. Użytkownikowi, który utworzył projekt, zostanie przypisany „Właściciel”, który ma nieograniczony dostęp do projektu. Oto krótki opis tego, co każda grupa może zrobić w ramach projektu.

Właściciel

Maksymalnie jeden właściciel do projektu jest niezbywalny (na razie) i jest jedyną grupą, która może przydzielać role innym członkom.

Deweloperzy

Deweloperzy mogą tworzyć/edytować kanały zwolnień, strony i tworzyć/edytować wersje.

Redaktor

Edytorzy mogą edytować strony.

Wsparcie

Wsparcie nie może nic zrobić, tylko sposób pokazania, że członek jest częścią projektu.

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
  • Komendy
    • Użytkownik
    • Admin
  • Ustawienia
    • Config
    • Zezwolenia

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.

Informacja

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

Informacja

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.