Programmierprojekt: WoW-Addon-Updater

WoW-Addon-Updater-Logo

Sorry für die lange „Durststrecke“ im Blog, ich komme leider nur recht sporadisch zum Schreiben. Heute möchte ich für die Interessierten mein kleines Programmierprojekt vorstellen.

Vorweg: Wer mich kennt, sei es nun von meinem Blog oder persönlich, weiß das ich seit jeher Spaß am Programmieren habe. Meine ersten Gehversuche erfolgten bereits in den 90er-Jahren mit QBASIC unter DOS und VisualBasic unter Windows; ich hatte viel Spaß daran, die ersten eigenen kleinen Programme zu schreiben. Über die Jahre habe ich in diverse Programmiersprachen und deren Dialekte hinein geschnuppert, neben C/C++ sagt mir (Free-) Pascal am meisten zu, insbesondere in Verbindung mit der IDE Lazarus, dessen Plattformunabhängigkeit mir sehr gefällt und die ich zu schätzen gelernt habe.

Als erstes „größeres Projekt“ ist daraus mein „WoW-Addon-Updater“ entstanden, welchen ich an dieser Stelle gerne vorstellen möchte. Das Projekt ist auf GitHub zu finden, dort existiert auch eine Seite mit Screenshots und Binarys zum Download:

http://arndtb.github.io/WoW-Addon-Updater

Bevor es in die Details geht: Warum ausgerechnet „nur“ ein Addon-Updater für ein Spiel und keine Bildbearbeitung, Tabellenkalkulation oder Berechnungsprogramm für elliptische Satellitenbahnen? 😀

Nun, nachdem ich viele Tutorials und Übungen aus Delphi-Büchern durch hatte, musste etwas praktisches mit überschaubarer Komplexität her. Wer Über mich gelesen hat, weiß das ich zwischendurch gerne mit meiner Frau das MMORPG World of Warcraft spiele.

Die Entwickler erlauben die Anpassung des Spiele-Interfaces mittels einer LUA-API an eigene Bedürfnisse – mittlerweile gibt es kaum überschaubare Anzahl praktischer Interface-Anpassungen und Erweiterungen, hauptsächlich zu finden auf Curse.com. Die Entwickler dieser Erweiterungen sind sehr aktiv und arbeiten fleißig an Ihren Erweiterungen, was ein regelmäßiges Aktualisieren notwendig macht. Dies kann man entweder manuell über Websites oder auch via einer Software von Curse erledigen – welche leider ausschließlich für Windows zur Verfügung steht. Wer nicht unter Windows spielt, sondern wie ich unter OS X oder unter GNU/Linux hat leider Pech – hier gibt es keinen praktischen Updater. 🙁

Die Idee war also geboren – es sollte ein plattformunabhängiger Addon-Updater werden, der unter OS X, Linux und Windows läuft. Für dieses Vorhaben boten sich, wie Eingangs schon beschrieben, meine favorisierte Programmiersprache FreePascal und die Entwicklungsumgebung Lazarus an.

Nach einigen Wochen Entwicklungszeit, in welcher ich eine Menge dazugelernt habe und mich auch in Dinge wie Versionsverwaltung mittels Git ein wenig einarbeiten konnte, freue ich mich nun, Euch die Version 1.0.0 zu präsentieren. Ich stelle das Programm und dessen Sourcecode als Freie Software unter den Bedingungen der GNU General Public License (GPL) Version 3 zur Verfügung.

WAU_1.0.0_OSX-2

WoW-Addon-Updater 1.0 (Vivienna)
Copyright (C) 2016 Arndt Braier – dev@braier.net

Der WoW-Addon-Updater dient zur Installation und Aktualisierung von Interface-Erweiterungen (= Addons) des MMORPGs World of Warcraft. Dieses Programm dient als Alternative zur Applikation „Curse Client“, welche derzeit nur unter Microsoft Windows zur Verfügung steht.

Die Idee entstand als Hobby aus dem Wunsch heraus, eine plattformunabhängige grafische Lösung zur Aktualisierung eines Addon-Bestandes zu entwickeln, welche unter Microsoft Windows, GNU/Linux und Mac OS X lauffähig ist. Das Resultat wurde unter den 64 Bit-Versionen von Windows 7, Ubuntu 14.04 (LTS) „Trusty Tahr“, Kubuntu 15.10 „Wily Werewolf“, Arch Linux und Mac OS X El Capitan 10.11 erfolgreich getestet.

Das Programm unterstützt derzeit zwei Sprachen: Deutsch und Englisch.

Der Addon-Bestand wird in einer tabellarischen Übersicht verwaltet und in einer XML-basierten Textdatei neben den individuellen Einstellungen des Programms gespeichert. Von der Addon-Datenbank werden automatisch Backups erzeugt, um im Fehlerfall eine spätere Wiederherstellung zu ermöglichen.

Addon-Einträge können komfortabel hinzugefügt und entfernt werden. Bei der Überprüfung auf neue Versionen werden die neuen oder geänderten Versionen farblich hervorgehoben. Diese können im Anschluß installiert bzw. aktualisiert werden, einzelne Addons können zuvor per Selektion aus- oder abgewählt werden. Der Fortschritt einzelner Programmoperationen wird mittels einer Statuszeile angezeigt.

Ich hoffe, das Ihnen das Programm gefällt und Sie dieses nützlich finden. Für Ihre Vorschläge, Lob und Kritik sowie jeglicher Art von Feedback bin ich stets offen, bitte schreiben Sie mir einfach eine Email unter

Dieses Programm wurde in FreePascal 2.6.4 (http://www.freepascal.org) mit Unterstützung der Entwicklungsumgebung Lazarus 1.4.4 (http://www.lazarus-ide.org/) geschrieben und verwendet das Package „Internet Tools“ (http://www.benibela.de/sources_en.html#internettools) von Benito van der Zander.

Das Programm WoW-Addon-Updater ist freie Software. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 3 der Lizenz oder (nach Ihrer Option) jeder späteren Version.

Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.

Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls nicht, siehe .

Curse Client und curse.com sind Warenzeichen von Curse Inc.

World of Warcraft, Warcraft und Blizzard Entertainment sind Marken oder eingetragene Marken von Blizzard Entertainment, Inc. in den USA und/oder in anderen Ländern.

Vielleicht habt Ihr Lust, Euch das Ganze mal anzuschauen – über Feedback würde ich mich freuen 🙂

4 thoughts on “Programmierprojekt: WoW-Addon-Updater

  1. J. Franke

    Ich bin über einen Link in den Wow-Foren auf deinen Updater gestoßen. Sieht auch toll aus. Nur…wie installiere ich das Ganze als Nicht-Pc-Versteherin auf win 8?

    Reply
    1. Arndt Post author

      Hallo & vielen Dank für Dein Interesse.

      Die Installation ist auch für „Nicht-PC-Versteher“ (waren wir das nicht alle mal?) geeignet, keine Sorge ;). Klicke auf der Hauptseite http://arndtb.github.io/WoW-Addon-Updater/ einfach mal auf „Download Binarys“ (oder gehe direkt zu https://github.com/ArndtB/WoW-Addon-Updater/releases ). Hier findest Du die jeweils aktuelle Version zum Download – in Deinem Fall immer die, welche ein „Win“ für Windows im Namen hat, z.B. WoW-Addon-Updater_3.0.0_Win.zip. Lege Dir in der Zwischenzeit einen Ordner z.B. auf dem Desktop an. Sobald Du die ZIP-Datei heruntergeladen hast, kannst Du diese per Doppelklick öffnen und den Inhalt mit der Maus in den neu angelegten Ordner ziehen/kopieren. Fertig – jetzt doppelklicke die Datei addonupd.exe und folge den Anweisungen des Programms. Das wars 🙂 Wenn noch Rückfragen bestehen, einfach nochmal melden. Ansonsten wünsche ich Dir schon einmal viel Spaß mit dem WoW-Addon-Updater – Für Gnomeregan! 😉

      Viele Grüße Arndt

      Reply
  2. banang

    Moin ArndtB

    vielen Dank für deine Mühe so ein schönes Tool zu programmieren. Zwei Sachen, einerseits habe ich bemerkt, dass es bereits ein Tool gibt, das genauso heißt: https://github.com/kuhnerdm/wow-addon-updater, hast du mit dem Entwickler was zu tun?`

    Zweitens habe ich dein Updater probiert und habe Schwierigkeiten, dass es meine Addons überhaupt ndeckt. Ich habe das Addon-Dir definiert genau da, wo eben die addons sich befinden (…\interface\addons\) aber leider steht da, egal wie oft ich auf „update“ klicke, immer „addons total: 0“. Hast du eine Idee was ich noch versuchen könnte?

    Reply
    1. Arndt Post author

      Hallo & vielen Dank für Dein Feedback, was mich sehr gefreut hat. Zu Deiner ersten Frage: Nein, hierbei handelt es sich um ein anderes Tool auf Python-Basis von einem anderen Entwickler, mein Programm war/ist eine neue Entwicklung.

      Zur zweiten Frage: Keine Sorge, Du hast nichts falsch gemacht. Du musst Dir nur leider einmal die Arbeit machen, Deine Addons über „Neues Addon hinzufügen“ in den WoW-Addon-Updater einzutragen. Danach funktionieren Installation und Update auch ohne Probleme. Von einer automatischen Erkennung der installierten Addons (Scan) habe ich aus mehreren Gründen abgesehen. Ein Beispiel: DBM. DBM erstellt einen Haufen Verzeichnisse. Um diese korrekt zu erkennen und auch richtig zuzuordnen, müsste man eine Datenbank zur Erkennung von tausenden Addons erstellen (und auch pflegen). Der Aufwand dafür ist enorm und für ein „Ein-Mann-Projekt“ wie meines nicht zu stemmen. Ohne Datenbank führt das Ganze zwangsläufig zu Fehlern, was dazu führen kann, das ganze Addon-Bestände nicht mehr oder nicht mehr richtig funktionieren. Das einzugrenzen, ist für den Nutzer oft schwieriger, als diese einmalig im WoW-Addon-Updater einzurichten.

      Viele Grüße

      Arndt

      Reply

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert