Ich habe ein kleines WoW-Addon – Dungeon Locations – geschrieben und wollte es gerne mit der Welt teilen. Da ich selbst seit Jahren den Curse-Client (inzwischen Twitch-Client) verwende, war für mich natürlich sofort die Wahl der Plattform getroffen. Mein Addon soll also auf Curse (inzwischen CurseForge) veröffentlicht werden.
Prima, was also tun?
Projekt bei CurseForge erstellen
Zunächst benötigt man einen Account bei CurseForge. Hat man diesen angelegt und bestätigt, kann man sich anmelden und den Developer-Bereich von CurseForge über https://authors.curseforge.com betreten.
Wenn man nun dort auf „World of Warcraft“ klickt, kann man ein neues Projekt über den Button „Start Your Project“ anlegen.
Man braucht einen Namen, eine Kurzzusammenfassung und eine Beschreibung. Danach sollte man sich Gedanken machen, unter welcher Lizenz man das Addon veröffentlichen möchte. Dabei hat mir der Wikipedia-Artikel Comparison of free and Open-Source software licenses geholfen.
Dann wählt man noch eine Haupt- und bis zu vier Unterkategorien, in denen das Addon auf https://wow.curse.com auftauchen soll.
Wenn ihr möchtet, dass andere Curse-Benutzer euer Addon in andere Sprachen übersetzen, könnt ihr dies hier aktivieren. Das Thema werde ich aber hier nicht behandeln, dazu gibt es später einen weiteren Artikel.
Wenn ihr alles eingegeben habt, könnt ihr euer Projekt mit Klick auf den Button „Start Project“ starten.
Ihr landet nun auf eurer Projektseite und habt die Möglichkeit weitere Einstellungen vorzunehmen.
Wichtig: Solange ihr keine Dateien hochladet, wird das Addon nur für euch sichtbar sein.
Weitere Einstellungen vornehmen
Nachdem euer Addon-Projekt angelegt wurde, könnt ihr noch weitere Einstellungen dazu tätigen. Dazu geht ihr im oberen Reiter auf „Settings“.
Ich gehe hier kurz durch die Einstellungen. Bei den meisten ist klar, was sich dahinter verbirgt. Andere beschreibe ich dann ein wenig ausführlicher.
General
Die meisten Infos hier habt ihr bei der Projekt-Anlage schon angegeben. Ihr könnt hier aber vor allem ein Logo zum Addon hochladen. Dieses muss quadratisch sein und mindestens 400×400 Pixel groß sein.
Ihr könnt hier auch steuern, ob und auf welchen Seiten (wow.curse.com oder curseforge.com) ihr Kommentare von Benutzern zulassen möchtet.
Über den Punkt Donation könnt ihr Spenden sammeln. Dazu stehen Paypal und Pledgie zur Verfügung.
Ist euer Addon umfangreicher, könnt ihr dazu auch ausführliche Beschreibungen erstellen und entweder direkt in den Projekt Pages erfassen oder einen Link zu einem externen Wiki-System hinterlegen.
Description und License
Wollt ihr eure bei der Projektanlage angegebene Beschreibung oder die verwendete Lizenz überarbeiten, sind dies die Orte dafür.
Issues
CurseForge bietet ein kleines, übersichtliches Tool zur Verwaltung von Fehlermeldungen oder Verbesserungsvorschlägen. Diesen könnt ihr hier als „Internal“ aktivieren. Habt ihr ein eigenes Verwaltungssystem dafür (etwa wenn ihr euren Addon-Code auf GitHub veröffentlicht und deren Tracker verwenden wollt), könnt ihr stattdessen „External“ auswählen und eine URL angeben.
Die Issue Tags und die Vorlage für neue Issues gelten nur für den internen Tracker.
Members
Ihr arbeitet in einem Team an dem Addon? Dann könnt ihr eure Mitentwickler hier verwalten.
Source
Wenn ihr ein Quellcodeverwaltungssystem nutzt (VCS), könnt ihr dies hier angeben. Wenn ihr das tut, muss ich dazu nicht mehr erklären, den Rest versteht ihr dann schon selbst.
Bei kleineren Addons oder wenn man alleine an einem Addon arbeitet, ist das in der Regel nicht erforderlich, da LUA-Code ohnehin als Quelle ausgeliefert wird. Bei größeren Addons oder insbesondere, wenn man zu Mehreren daran arbeitet, macht es aber sicherlich Sinn über eine Verwendung nachzudenken.
Default Relations, Client Exclusions
Verwendet ihr Bibliotheken, könnt ihr diese hier angeben. Da mein Addon keine verwendet, weiß darüber nicht mehr. Es könnte sein, dass es reine Dokumentation ist. Vielleicht verwaltet der CurseClient (Twitch-Client) darüber aber die konfigurierbare Bibliotheksverwendung. Auch zu den Client Exclusions kann ich nichts sagen.
Delete Project
Wenn ihr euch entscheidet, das Projekt nicht weiterzuführen, könnt ihr es löschen. Einmal gelöscht, kann es nicht mehr zur Veröffentlichung verwendet werden. Das Löschen kann man nicht rückgängig machen.
Das Projekt ist aber nicht sofort weg. Vielmehr ist es auf wow.curse.com nicht mehr sichtbar und auf CurseForge könnt nur noch ihr auf das Projekt zugreifen.
Wollt ihr ein Projekt unter gleichem Namen noch einmal erstellen, müsst ihr unter General die beiden Werte „Name“ und „Slug“ anpassen (z.B. indem ihr „-deleted“ hinten anhängt). Danach kann ein neues Projekt wieder den gleichen Namen tragen.
Addon-Dateien veröffentlichen
Ihr habt euer Addon fertig entwickelt und getestet und könnt es kaum erwarten, es den anderen Wow-Spielern zur Verfügung zu stellen? Na dann, stellen wir mal ein Release zusammen.
Release zusammenstellen
Die Dateien für das Addon müssen zum Hochladen einem speziellen Ordner-Aufbau folgen:
/AddonName
AddonFile1.lua
AddonFile2.lua
AddonFile3.toc
/Art
/Libs
/Localization
Weitere Details, was gültig ist und was nicht, ist in folgendem Knowledgebase-Artikel zu finden: https://authors.curseforge.com/knowledge-base/projects/174-file-status-info
Dieser Aufbau wird anschließend in eine ZIP-Datei gepackt, die im Anschluss hochgeladen werden kann.
Zum Zusammenstellen der ZIP-Datei habe ich eine Windows-Batch-Datei erstellt. Mein Addon verwendet neben Lua-Dateien und der Toc-Datei noch einen Verweis auf die Lizenz und zwei Unterordner (Art und Localization). Zum einpacken verwende ich 7-Zip.
Das zugehörige Script sieht folgendermaßen aus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
@echo off set /p release="Enter Release: " :: Delete old build folder with all contents (/S), silently (/Q) rd ADDON_NAME /S /Q :: Re-Create folder md ADDON_NAME :: Copy Files over xcopy Art\*.* ADDON_NAME\Art /i xcopy Localization\*.* ADDON_NAME\Localization /i xcopy *.lua ADDON_NAME xcopy *.toc ADDON_NAME xcopy License.url ADDON_NAME "C:\Program Files\7-Zip\7z.exe" a -tzip ADDON_NAME-%release%.zip ADDON_NAME pause |
Hier wird zunächst die zu erstellende Release-Version abgefragt. Diese wird für den Namen der ZIP-Datei verwendet. Weitere / andere Ordner oder Dateien lassen sich hier einfach ergänzen.
Abgelegt und aufgerufen wird das Script einfach im Ordner, in dem das Addon liegt, also etwa ../World of Warcraft\Interface\AddOns\ADDON_NAME. Anschließend findet ihr dort die entsprechende ZIP-Datei mit eurem Addon drin verpackt.
Addon hochladen
Auf der CurseFore-Projektseite könnt ihr über den grünen Button „File“ mit dem vorgestellten Pfeil nach oben eurem Addon die ZIP-Datei hinzufügen.
Wählt die Datei einfach aus und gebt ihr unter „Display Name“ einen Namen, der später auf Curse angezeigt werden soll. Dabei solltet ihr die Versionsnummer mit in dem Namen unterbringen.
Entscheidet euch für einen Release-Typen (Alpha, Beta, Release). Beachtet, dass Alpha- und Beta-Versionen über den Twitch-Client nur dann auffindbar und installierbar sind, wenn der Benutzer explizit Alpha- und Beta-Release aktiviert hat. Auf wow.curse.com sind alle Arten manuell herunterlad- und installierbar.
Nun gebt ihr noch eine aussagekräftige Beschreibung an. Dies ist insbesondere bei Updates wichtig, damit jeder weiß, was sich denn geändert hat.
Zum Schluss wählt ihr aus, unter welcher WoW-Version das Addon lauffähig ist und schon könnt ihr die Datei über den Button „Submit File“ am unteren Ende der Seite übermitteln.
Geduld!
Nun ist Geduld gefragt. CurseForge prüft eure Dateien, bevor diese der Öffentlichkeit zugänglich gemacht werden. Dazu wird in der Übersicht der Dateien ein Status angezeigt. Hier sind diejenigen, die mir bislang begegnet sind:
Processing
Die Datei wird verarbeitet. Meine Vermutung ist, dass in diesem Schritt eine automatische Prüfung stattfindet, in der die Datei auf Viren gescannt wird und überprüft wird, ob der generelle Aufbau dem geforderten entspricht. Ist dies nicht der Fall, wird die Datei rejected. In diesem Fall erhaltet ihr – recht schnell – eine automatisierte Private Message, in der beschrieben steht, wo das Problem liegt und wie ihr es beheben könnt.
Under Review
Ist die automatische Prüfung erfolgreich, wird in diesen Status gewechselt. Hier vermute ich eine manuelle Prüfung auf seiten von CurseForge. Die Wartezeit auf das Ergebnis dieses Schritts schwankt stark. Von wenigen Minuten bis zu ein paar Stunden. Gibt es in diesem Schritt noch ein Problem, wird die Datei ebenfalls rejected und ihr erhaltet eine Private Message.
Rejected
Ist die Datei in diesem Status, müsst ihr den Hinweisen in der Private Message, die ihr erhalten habt folgen und eine neue Datei hochladen. Dabei ist der gesamte Prozess noch einmal von vorne zu durchlaufen.
Approved
Wurde eure Datei erfolgreich geprüft, wird der Status in approved geändert und ihr dürft euch freuen. Die Datei steht auf wow.curse.com zum Download und im CurseClient (Twitch-Client) zur Verfügung. Glückwunsch!
Aktualisierung
Wollt ihr eine neue Version eures Addons bereitstellen, folgt einfach mit der geänderten Version den Schritten, die in Addon-Dateien veröffentlichen beschrieben sind. Achtet hierbei insbesondere darauf, dass ihr in der Beschreibung eure Änderungen dokumentiert.
Viel Spaß bei der Addon-Entwicklung und dem Veröffentlichen eurer Addons. Vielleicht verwende ich ja auch eins eurer Addons? Wer weiß 😉