Sarjuuk / aowow

logo

Build Status

fuck it ship it

Einleitung

AoWoW ist ein Datenbank-Tool für World of Warcraft v3.3.5 (build 12340)Es basiert auf dem anderen berühmten Datenbank-Tool für WoW, mit der rot lächelnden Rakete.Während die ersten Veröffentlichungen bereits 2008 zu finden sind, ist es heute unmöglich zu sagen, wer dieses Projekt erstellt hat.Dies ist ein komplettes Rewrite des serverseitigen php-Codes und ein Update der clientseitigen Javascripts von 2008 bis etwa 2013.

Ich selbst übernehme keine Verantwortung für die clientseitigen Skripte, das Design und das Layout, für das diese php-Skripte sorgen.

Anforderungen

  • Webserver mit PHP ≥ 7.1 inklusive Erweiterungen:
    • SimpleXML
    • GD
    • MySQL Improved
    • Multibyte String
    • File Information
    • GNU Multiple Precision (When using TrinityCore as auth source)
  • MySQL ≥ 5.5.30
  • TDB 335.21021
  • Tools benötigen cmake: Detaillierte Informationen finden Sie in den einzelnen Repositories
    • MPQExtractor / FFmpeg / (optional: BLPConverter)
    • WIN-Benutzer finden es vielleicht einfacher, diese Alternativen zu verwenden
      • MPQEditor / FFmpeg / (optional: BLPConverter)

Audiobearbeitung erfordert möglicherweise lame oder vorbis-tools (die möglicherweise libvorbis benötigen (die möglicherweise libogg benötigen))

Sehr empfohlen

  • Die Einstellung der folgenden Konfigurationswerte auf Ihrem TrinityCore-Server wird die Genauigkeit der Spawn-Punkte erheblich erhöhen

    Calculate.Creature.Zone.Area.Data = 1
    Calculate.Gameoject.Zone.Area.Data = 1

Installieren

1. Erwerben Sie die erforderlichen Repositories

git clone [email protected]:Sarjuuk/aowow.git aowow
git clone [email protected]:Sarjuuk/MPQExtractor.git MPQExtractor

2. Datenbank vorbereiten

Versichern Sie sich, dass der zu verwendende Account Vollzugriff auf die von AoWoW belegte Datenbank hat und idealerweise nur Lesezugriff auf die zu referenzierende Weltdatenbank.
Importieren Sie setup/db_structure.sql in die AoWoW-Datenbank mysql -p {your-db-here} < setup/db_structure.sql

3. Server erstellte Dateien

Sorgen Sie dafür, dass der Webserver in der Lage ist, die folgenden Verzeichnisse und deren Kinder zu schreiben. Falls sie fehlen, werden sie vom Setup mit entsprechenden Rechten angelegt

  • cache/
  • config/
  • static/download/
  • static/widgets/
  • static/js/
  • static/uploads/
  • static/images/wow/
  • datasets/

4. Extrahieren Sie die Client-Archive (MPQs)

Extrahieren Sie die folgenden Verzeichnisse aus den Client-Archiven nach setup/mpqdata/, wobei Sie die Patch-Reihenfolge beibehalten (base mpq -> patch-mpq: 1 -> 9 -> A -> Z). Die erforderlichen Pfade sind in den Archiven verstreut. Überschreiben Sie ältere Dateien, wenn Sie dazu aufgefordert werden.
.. für jedes Gebietsschema, das Sie verwenden werden:

<localeCode>/DBFilesClient/
<localeCode>/Interface/WorldMap/
<localeCode>/Interface/FrameXML/GlobalStrings.lua

.. einmal ist genug (trotzdem den localeCode anwenden):

<localeCode>/Interface/TalentFrame/
<localeCode>/Interface/Glues/Credits/
<localeCode>/Interface/Icons/
<localeCode>/Interface/Spellbook/
<localeCode>/Interface/PaperDoll/
<localeCode>/Interface/GLUES/CHARACTERCREATE/
<localeCode>/Interface/Pictures
<localeCode>/Interface/PvPRankBadges
<localeCode>/Interface/FlavorImages
<localeCode>/Interface/Calendar/Holidays/
<localeCode>/Sound/

.. optional (in AoWoW nicht verwendet):

<localeCode>/Interface/GLUES/LOADINGSCREENS/

5. Kodieren Sie die Audiodateien neu

WAV-Dateien müssen als ogg/vorbis neu kodiert werden und einige MP3s können sich als application/octet-stream anstelle von audio/mpeg identifizieren.

  • Beispiel für WIN
  • Beispiel für *nix

6. Führen Sie das anfängliche Setup von der CLI aus

php aowow --setup.
Dies sollte Sie mit minimalen Eingaben Ihrerseits durch die Installation führen, wird aber einige Zeit in Anspruch nehmen, vor allem beim Kompilieren der Zonenbilder. Nutzen Sie es, um sich mit den anderen Funktionen dieser Einrichtung vertraut zu machen. Ja, ich meine es todernst: Lesen Sie den Code! Es wird dir helfen zu verstehen, wie du AoWoW konfigurierst und mit deiner Weltdatenbank synchronisierst.
Wenn du deinen Admin-Account erstellt hast, bist du fertig.

Fehlerbehebung

Q: Die Seite erscheint weiß, ohne jegliche Stile.
A: Der statische Inhalt wird nicht angezeigt. Entweder verwenden Sie SSL und AoWoW kann es nicht erkennen oder STATIC_HOST ist nicht poperl definiert. In jedem Fall kann dies über die Konfiguration behoben werden php aowow --siteconfig

Q: Fataler Fehler: Can’t inherit abstract function <functionName> (previously declared abstract in <className>) in <path>
A: Sie verwenden Cache-Optimierungsmodule für php, die miteinander in Konflikt stehen. (Zend OPcache, XCache, ..) Deaktivieren Sie alle bis auf eines.

Q: Einige generierte Bilder erscheinen verzerrt oder haben Probleme mit dem Alphakanal.
A: Die Bildkomprimierung übersteigt mein Verständnis, daher kann ich diese Probleme nicht im blpReader beheben.ABER du kannst die betroffene blp Datei in eine png Datei im selben Verzeichnis konvertieren, indem du den mitgelieferten BLPConverter benutzt.

Q: Wie kann ich den Modelviewer zum Laufen bringen?
A: Das kannst du nicht mehr. Wowhead hat von Flash auf WebGL umgestellt (wie es sich gehört) und dabei die alten Dateien verschoben oder gelöscht.

Q: Ich erhalte zufällige Javascript-Fehler!
A: Einige Serverkonfigurationen oder externe Dienste (wie Cloudflare) enthalten Module, die js und css Dateien automatisch minifizieren. Manchmal gehen sie dabei kaputt. Deaktivieren Sie in diesem Fall das Modul.

Q: Einige Suchergebnisse im Profiler verhalten sich ziemlich seltsam. Wie funktioniert das?
A: Immer wenn Sie versuchen, ein neues Zeichen anzuzeigen, muss AoWoW es zuerst holen. Da die Daten für die Bedürfnisse von TrinityCore strukturiert sind und nicht für eine einfache Anzeige, muss AoWoW sie lokal speichern und umstrukturieren. Zu diesem Zweck wird jede Zeichenanforderung in eine Warteschlange gestellt. Solange die Warteschlange nicht leer ist, wird eine einzelne Instanz von prQueue im Hintergrund ausgeführt, um die Zeichendatenbank nicht mit Anfragen zu überschwemmen. Das bedeutet auch, dass einige exotischere Suchanfragen nicht mehr in der Zeichendatenbank ausgeführt werden können und die unvollständigen/veralteten Cache-Profile von AoWoW verwenden müssen.

Danke

@mix: für die Bereitstellung des php-Skripts zum Parsen von .blp und .dbc in brauchbare Bilder und Tabellen umzuwandeln
@LordJZ: die Wrapper-Klasse für DBSimple; die Grundidee für die User-Klasse
@kliver: grundlegende Implementierung von Screenshot-Uploads
@Sarjuuk: Betreuer des Projekts

Besonderen Dank

Said website with the red smiling rocket, for providing this beautifull website!Bitte betrachten Sie dieses Projekt nicht als eklatante Abzocke, sondern eher als „Ihre Präsentation hat uns sehr gut gefallen, aber da die Zeit und der Inhalt fortschreiten, liefern Sie leider nicht mehr die Daten, die wir brauchen“.

Verwendet Abzeichen