Sarjuuk / aowow

logo

Build Status

fuck it ship it

Introducere

AoWoW este un instrument de baze de date pentru World of Warcraft v3.3.5 (build 12340)Se bazează pe celălalt celebru instrument de baze de date pentru WoW, care prezintă racheta roșie zâmbitoare. în timp ce primele versiuni pot fi găsite încă din 2008, astăzi este imposibil de spus cine a creat acest proiect. acesta este o rescriere completă a codului php de pe partea serverelor și o actualizare a javascriptelor de pe partea clienților din 2008 la ceva de genul 2013ish.

Eu însumi nu-mi asum nici un merit pentru scriptingul, designul și layout-ul de pe partea de client pe care aceste scripturi php le satisfac. de asemenea, acest proiect nu este menit să fie folosit în scopuri comerciale de nici un fel!

Cerințe

  • Webserver care rulează PHP ≥ 7.1, inclusiv extensiile:
    • SimpleXML
    • GD
    • MySQL Improved
    • Multibyte String
    • File Information
    • GNU Multiple Precision (Când se folosește TrinityCore ca sursă de autentificare)
  • MySQL ≥ 5.5.30
  • TDB 335.21021
  • Uneltele necesită cmake: Vă rugăm să consultați depozitele individuale pentru informații detaliate
    • MPQExtractor / FFmpeg / (opțional: BLPConverter)
    • Utilizatorii WIN ar putea găsi mai ușor să folosească aceste alternative
      • MPQEditor / FFmpeg / (opțional: BLPConverter)

Procesarea audio poate necesita lame sau vorbis-tools (care poate necesita libvorbis (care poate necesita libogg))

Foarte recomandat

  • Setarea următoarelor valori de configurare pe serverul TrinityCore va crește foarte mult acuratețea punctelor de spawn

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

Instalează

1. Achiziționați depozitele necesare

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

2. Pregătiți baza de date

Asigurați-vă că contul pe care îl veți folosi are acces total la baza de date pe care AoWoW o va ocupa și, în mod ideal, doar acces de citire la baza de date mondială la care veți face referire.
Importați setup/db_structure.sql în baza de date AoWoW mysql -p {your-db-here} < setup/db_structure.sql

3. Fișiere create de server

Vegheați ca serverul web să fie capabil să scrie următoarele directoare și copiii lor. Dacă acestea lipsesc, configurarea le va crea cu permisiunile corespunzătoare

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

4. Extrageți arhivele client (MPQ-uri)

Extrageți următoarele directoare din arhivele client în setup/mpqdata/, păstrând ordinea patch-urilor (base mpq -> patch-mpq: 1 -> 9 -> A -> Z). Căile necesare sunt împrăștiate în arhive. Suprascrieți fișierele mai vechi dacă vi se cere acest lucru.
… pentru fiecare locație pe care o veți folosi:

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

… o dată este suficient (totuși, aplicați în continuare 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/

.. opțional (nu este utilizat în AoWoW):

<localeCode>/Interface/GLUES/LOADINGSCREENS/

5. Recodificați fișierele audio

Filele WAV trebuie recodificate ca ogg/vorbis, iar unele MP3-uri se pot identifica ca application/octet-stream în loc de audio/mpeg.

  • exemplu pentru WIN
  • exemplu pentru *nix

6. Rulați configurarea inițială din CLI

php aowow --setup.
Acest lucru ar trebui să vă ghideze cu un minim de informații necesare din partea dumneavoastră, dar va dura ceva timp totuși, în special compilarea imaginilor de zonă. Folosiți-o pentru a vă familiariza cu celelalte funcții pe care le are această configurație. Da, vorbesc foarte serios: mergeți să citiți codul! Vă va ajuta să înțelegeți cum să configurați AoWoW și să îl mențineți sincronizat cu baza de date a lumii voastre.
După ce v-ați creat contul de administrator ați terminat.

Depanare

Q: Pagina apare albă, fără niciun stil.
A: Conținutul static nu este afișat. Fie folosiți SSL și AoWoW nu reușește să îl detecteze, fie STATIC_HOST nu este definit poperly. Oricum ar fi, acest lucru poate fi rezolvat prin configurare php aowow --siteconfig

Q: Eroare fatală: Nu poate moșteni funcția abstractă <functionName> (declarată anterior abstractă în <className>) în <path>
A: Folosiți module de optimizare a memoriei cache pentru php, care sunt în conflict între ele. (Zend OPcache, XCache, …) Dezactivați-le pe toate, cu excepția unuia.

Q: Unele imagini generate apar distorsionate sau au probleme legate de canalul alfa.
A: Compresia imaginilor este dincolo de înțelegerea mea, așa că nu sunt în măsură să rezolv aceste probleme în cadrul blpReader.DAR puteți converti fișierul blp afectat într-un fișier png în același director, folosind BLPConverter-ul furnizat. AoWoW va acorda prioritate fișierelor png față de fișierele blp.

Q: Cum pot face să funcționeze modelviewer-ul?
A: Nu mai puteți. Wowhead a trecut de la Flash la WebGL (așa cum ar fi trebuit) și a mutat sau a șters vechile fișiere în acest proces.

Q: Primesc erori javascript aleatorii!
A: Unele configurații de server sau servicii externe (cum ar fi Cloudflare) vin cu module, care minifică automat fișierele js și css. Uneori acestea se strică în acest proces. Dezactivați modulul în acest caz.

Q: Unele rezultate ale căutării în cadrul profilerului se comportă destul de ciudat. Cum funcționează?
A: Ori de câte ori încercați să vizualizați un nou caracter, AoWoW trebuie să îl preia mai întâi. Deoarece datele sunt structurate pentru nevoile TrinityCore și nu pentru o vizualizare ușoară, AoWoW trebuie să le salveze și să le restructureze local. În acest scop, fiecare solicitare de caractere este plasată într-o coadă. Cât timp coada nu este goală, o singură instanță a prQueue este rulată în fundal pentru a nu copleși baza de date a caracterelor cu cereri. Acest lucru înseamnă, de asemenea, că unele interogări de căutare mai exotice nu pot fi rulate din nou în baza de date de caractere și trebuie să folosească profilurile cache incomplete/neactualizate din AoWoW.

Mulțumiri

@mix: pentru că a furnizat scriptul php pentru a analiza .blp și .dbc în imagini și tabele utilizabile
@LordJZ: clasa wrapper pentru DBSimple; ideea de bază pentru clasa utilizator
@kliver: implementarea de bază a încărcărilor de capturi de ecran
@Sarjuuk: întreținătorul proiectului

Mulțumiri speciale

Site-ul cu racheta roșie care zâmbește, pentru că a furnizat acest site frumos!Vă rugăm să nu considerați acest proiect ca fiind o rip-off flagrantă, ci mai degrabă ca fiind „Ne-a plăcut foarte mult prezentarea dumneavoastră, dar cum timpul și conținutul progresează, din păcate nu ne mai furnizați datele de care avem nevoie”.

folosește insignele

.