Sarjuuk / aowowow

logo

Build Status

fuck it ship it

Introduktion

AoWoW er et databaseværktøj til World of Warcraft v3.3.5 (build 12340)Det er baseret på det andet berømte Database værktøj til WoW, med den røde smilende raket.Mens de første udgivelser kan findes så tidligt som 2008, er det i dag umuligt at sige hvem der har skabt dette projekt.Dette er en komplet omskrivning af serverside php koden og opdatering af clientside javascripts fra 2008 til noget i retning af 2013.

Jeg tager ikke selv æren for den klientside scripting, design og layout som disse php-scripts tilgodeser. også er dette projekt ikke beregnet til at blive brugt til kommercielle puposer af nogen art!

Krav

  • Webserver der kører PHP ≥ 7.1 inklusive udvidelser:
    • SimpleXML
    • GD
    • MySQL Improved
    • Multibyte String
    • File Information
    • GNU Multiple Precision (Når TrinityCore bruges som auth-kilde)
  • MySQL ≥ 5.5.30
  • TDB 335.21021
  • Tools kræver cmake: Se venligst de enkelte repositories for detaljerede oplysninger
    • MPQExtractor / FFmpeg / (valgfrit: BLPConverter)
    • WIN-brugere kan finde det lettere at bruge disse alternativer
      • MPQEditor / FFmpeg / (valgfrit: BLPConverter)
      • WIN-brugere kan finde det lettere at bruge disse alternativer
        • MPQEditor / FFmpeg / (valgfrit: BLPConverter)

lydbehandling kan kræve lame eller vorbis-tools (som kan kræve libvorbis (som kan kræve libogg))

Anbefales stærkt

  • indstilling af følgende konfigurationsværdier på din TrinityCore-server vil i høj grad øge nøjagtigheden af spawn-punkter

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

Installér

1. Anskaf de nødvendige repositories

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

2. Forbered databasen

Sørg for, at den konto, du skal bruge, har fuld adgang til den database, som AoWoW skal fylde, og helst kun læseadgang til den verdensdatabase, du skal referere til.
Import setup/db_structure.sql til AoWoW-databasen mysql -p {your-db-here} < setup/db_structure.sql

3. Serveroprettede filer

Sørg for, at webserveren er i stand til at skrive følgende mapper og deres underordnede mapper. Hvis de mangler, vil opsætningen oprette dem med passende tilladelser

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

4. Udpak klientarkiverne (MPQ’er)

Udpak følgende mapper fra klientarkiverne til setup/mpqdata/, samtidig med at patch-rækkefølgen bibeholdes (base mpq -> patch-mpq: 1 -> 9 -> A -> Z). De nødvendige stier er spredt ud over arkiverne. Overskriv ældre filer, hvis du bliver bedt om det.
… for hver lokalitet, du vil bruge:

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

… én gang er nok (men du skal stadig anvende localeCode):

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

.. valgfrit (bruges ikke i AoWoW):

<localeCode>/Interface/GLUES/LOADINGSCREENS/

5. Omkodning af lydfiler

WAV-filer skal omkodes som ogg/vorbis, og nogle MP3-filer kan identificere sig selv som application/octet-stream i stedet for audio/mpeg.

  • eksempel for WIN
  • eksempel for *nix

6. Kør den indledende opsætning fra CLI

php aowow --setup.
Dette skulle guide dig igennem med minimal input påkrævet fra din side, men det vil dog tage lidt tid, især kompilering af zone-images. Brug den til at gøre dig bekendt med de andre funktioner, som denne opsætning har. Ja, jeg mener det helt alvorligt: Gå ud og læs koden! Det vil hjælpe dig med at forstå, hvordan du konfigurerer AoWoW og holder den synkroniseret med din verdensdatabase.
Når du har oprettet din administratorkonto, er du færdig.

Fejlfinding

Q: Siden vises hvid, uden nogen stilarter.
A: Det statiske indhold vises ikke. Du bruger enten SSL, og AoWoW er ikke i stand til at registrere det, eller STATIC_HOST er ikke defineret poperly. Uanset hvad kan dette løses via config php aowow --siteconfig

Q: Fatal error: Can’t inherit abstract function <functionName> (previously declared abstract in <className>) in <path>
A: Du bruger cache-optimeringsmoduler til php, som er i konflikt med hinanden. (Zend OPcache, XCache, …) Deaktiver alle undtagen en.

Q: Nogle genererede billeder ser forvrængede ud eller har problemer med alfakanaler.
A: Billedkomprimering er uden for min forståelse, så jeg er ikke i stand til at løse disse problemer i blpReader.MEN du kan konvertere den berørte blp-fil til en png-fil i samme mappe ved hjælp af den medfølgende BLPConverter.AoWoW vil prioritere png-filer frem for blp-filer.

Q: Hvordan kan jeg få modelvieweren til at virke?
A: Det kan du ikke længere. Wowhead skiftede fra Flash til WebGL (som de burde) og flyttede eller slettede de gamle filer i processen.

Q: Jeg får tilfældige javascript-fejl!
A: Nogle serverkonfigurationer eller eksterne tjenester (som Cloudflare) kommer med moduler, der automatisk minificerer js og css-filer. Nogle gange går de i stykker i processen. Deaktiver modulet i dette tilfælde.

Q: Nogle søgeresultater i profileringen opfører sig ret mærkeligt. Hvordan virker det?
A: Når du forsøger at få vist en ny karakter, skal AoWoW først hente den. Da dataene er struktureret til TrinityCore’s behov og ikke til nem visning, er AoWoW nødt til at gemme og omstrukturere dem lokalt. Til dette formål placeres hver char-anmodning i en kø. Mens køen ikke er tom, køres en enkelt instans af prQueue i baggrunden for ikke at oversvømme karakterdatabasen med forespørgsler. Det betyder også, at nogle mere eksotiske søgeforespørgsler ikke kan køres igen på karakterdatabasen og må bruge de ufuldstændige/forældede cachede profiler fra AoWoW.

Tak

@mix: for at levere php-scriptet til at parse .blp og .dbc til brugbare billeder og tabeller
@LordJZ: wrapper-klassen til DBSimple; den grundlæggende idé til brugerklassen
@kliver: grundlæggende implementering af opload af skærmbilleder
@Sarjuuk: vedligeholder af projektet

Særlig tak

Siddende hjemmeside med den røde smilende raket, for at have leveret denne smukke hjemmeside!Vær venlig ikke at betragte dette projekt som et åbenlyst rip-off, snarere som “Vi kunne virkelig godt lide jeres præsentation, men da tiden og indholdet skrider fremad, leverer I desværre ikke længere de data, vi har brug for”.

bruger badges