Sarjuuk / aowow

logo

Build Status

fuck it ship it

Introduction

AoWoW is een Database tool voor World of Warcraft v3.3.5 (build 12340)Het is gebaseerd op de andere beroemde Database tool voor WoW, met de rode lachende raket.Hoewel de eerste versies al in 2008 te vinden zijn, is het vandaag de dag onmogelijk te zeggen wie dit project heeft gemaakt.Dit is een complete herschrijving van de serverside php code en update van de clientside javascripts van 2008 tot iets 2013-achtigs.

Ik zelf neem geen credit voor de clientside scripting, ontwerp en lay-out dat deze php-scripts tegemoet te komen.Ook is dit project niet bedoeld om te worden gebruikt voor commerciële puposes van welke aard dan ook!

Eisen

  • Webserver draait PHP ≥ 7.1 inclusief extensies:
    • SimpleXML
    • GD
    • MySQL Improved
    • Multibyte String
    • File Information
    • GNU Multiple Precision (Bij gebruik van TrinityCore als auth bron)
  • MySQL ≥ 5.30
  • MySQL ≥ 5.30
  • MySQL ≥ 5.30
  • 5.30

  • TDB 335.21021
  • Tools vereisen cmake: Zie de individuele repositories voor gedetailleerde informatie
    • MPQExtractor / FFmpeg / (optioneel: BLPConverter)
    • WIN gebruikers vinden het wellicht eenvoudiger om deze alternatieven te gebruiken
      • MPQEditor / FFmpeg / (optioneel: BLPConverter)

    audioverwerking kan lame of vorbis-tools vereisen (die libvorbis kunnen vereisen (die libogg kunnen vereisen))

    Ten zeerste aanbevolen

    • Als u de volgende configuratiewaarden op uw TrinityCore-server instelt, wordt de nauwkeurigheid van de spawnpunten aanzienlijk verbeterd

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

    Installeren

    1. Verwerf de vereiste opslagplaatsen

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

    2. Bereid de database voor

    Zorg ervoor dat de account die u gaat gebruiken volledige toegang heeft tot de database die AoWoW gaat gebruiken en idealiter alleen leestoegang tot de werelddatabase waarnaar u gaat verwijzen.
    Importeer setup/db_structure.sql in de AoWoW database mysql -p {your-db-here} < setup/db_structure.sql

    3. Door de server aangemaakte bestanden

    Zorg ervoor dat de webserver in staat is om de volgende directories en hun kinderen te schrijven. Als deze ontbreken, maakt de setup ze aan met de juiste permissies

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

    4. Extraheer de client archieven (MPQs)

    Uitpakken van de volgende directories van de client archieven in setup/mpqdata/, met behoud van patch volgorde (basis mpq -> patch-mpq: 1 -> 9 -> A -> Z). De benodigde paden zijn verspreid over de archieven. Overschrijf oudere bestanden indien gevraagd.
    .. voor elke locale die u gaat gebruiken:

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

    . één keer is genoeg (maar pas nog steeds de localeCode toe):

    <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/

    .. optioneel (niet gebruikt in AoWoW):

    <localeCode>/Interface/GLUES/LOADINGSCREENS/

    5. 5. Hercodeer de audio bestanden

    WAV-bestanden moeten gehercodeerd worden als ogg/vorbis en sommige MP3’s kunnen zichzelf identificeren als application/octet-stream in plaats van audio/mpeg.

    • voorbeeld voor WIN
    • voorbeeld voor *nix

    6. Voer de initiële setup uit vanuit de CLI

    php aowow --setup.
    Dit zou u er doorheen moeten leiden met minimale input van uw kant, maar het zal wel wat tijd in beslag nemen, vooral het compileren van de zone-images. Gebruik het om jezelf vertrouwd te maken met de andere functies die deze setup heeft. Ja, ik ben bloedserieus: Ga de code lezen! Het zal u helpen te begrijpen hoe u AoWoW moet configureren en het synchroon moet houden met uw wereld database.
    Wanneer u uw admin account heeft aangemaakt bent u klaar.

    Problemen oplossen

    Q: De pagina verschijnt wit, zonder enige stijlen.
    A: De statische inhoud wordt niet weergegeven. U gebruikt SSL en AoWoW is niet in staat dit te detecteren of STATIC_HOST is niet poperly gedefinieerd. In beide gevallen kan dit worden verholpen via config php aowow --siteconfig

    Q: Fatale fout: Kan abstracte functie <functionName> niet erven (eerder abstract verklaard in <className>) in <path>
    A: U gebruikt cache optimalisatie modules voor php, die met elkaar in conflict zijn. (Zend OPcache, XCache, …) Schakel ze allemaal uit, op een na.

    Q: Sommige gegenereerde afbeeldingen zijn vervormd of hebben problemen met alfakanalen.
    A: Beeldcompressie gaat mijn begrip te boven, dus ik kan deze problemen niet oplossen in de blpReader.MAAR je kunt het betreffende blp bestand converteren naar een png bestand in dezelfde directory, met de bijgeleverde BLPConverter.AoWoW zal png bestanden voorrang geven boven blp bestanden.

    Q: Hoe krijg ik de modelviewer aan de praat?
    A: Dat kan niet meer. Wowhead is overgestapt van Flash naar WebGL (zoals het hoort) en heeft daarbij de oude bestanden verplaatst of verwijderd.

    Q: Ik krijg willekeurige javascript fouten!
    A: Sommige server configuraties of externe services (zoals Cloudflare) komen met modules, die automatisch js en css bestanden minifieren. Soms breken ze tijdens dit proces. Schakel in dit geval de module uit.

    Q: Sommige zoekresultaten in de profiler doen nogal vreemd. Hoe werkt dat?
    A: Wanneer je een nieuw teken probeert te bekijken, moet AoWoW dit eerst ophalen. Omdat de gegevens gestructureerd zijn voor de behoeften van TrinityCore en niet om ze gemakkelijk te kunnen bekijken, moet AoWoW ze lokaal opslaan en herstructureren. Daartoe wordt elk char verzoek in een wachtrij geplaatst. Zolang de wachtrij niet leeg is, wordt een enkele instantie van prQueue op de achtergrond uitgevoerd om de personagedatabase niet te overspoelen met verzoeken. Dit betekent ook dat sommige meer exotische zoekopdrachten niet opnieuw kunnen worden uitgevoerd op de karakters database en gebruik moeten maken van de incomplete/verouderde cache profielen van AoWoW.

    Met dank

    @mix: voor het leveren van het php-script om .blp en .dbc in bruikbare afbeeldingen en tabellen
    @LordJZ: de wrapper-klasse voor DBSimple; het basisidee voor de user-klasse
    @kliver: basisimplementatie van screenshot uploads
    @Sarjuuk: onderhouder van het project

    Speciale dank

    Die website met de rode lachende raket, voor het leveren van deze prachtige website!Beschouw dit project alstublieft niet als een schaamteloze rip-off, maar eerder als “Wij vonden uw presentatie erg goed, maar sinds de tijd en de inhoud vordert, levert u helaas niet langer de gegevens die wij nodig hebben”.

    gebruikt badges