Sarjuuk / aowow

logo

Stav sestavení

fuck it ship it

Úvod

AoWoW je databázový nástroj pro World of Warcraft v3.3.5 (sestavení 12340)Je založen na jiném známém Databázovém nástroji pro WoW s červenou usměvavou raketou. zatímco první verze lze nalézt již v roce 2008, dnes již nelze říci, kdo tento projekt vytvořil. jedná se o kompletní přepsání php kódu na straně serveru a aktualizaci javascriptů na straně klienta z roku 2008 na něco kolem roku 2013.

Já sám si nepřivlastňuji žádné zásluhy za skriptování na straně klienta, design a vzhled, který tyto php-skripty obstarávají. tento projekt také není určen k jakémukoli komerčnímu využití!

Požadavky

  • Webserver s PHP ≥ 7. V tomto případě se jedná o projekt, který je určen pro komerční účely.1 včetně rozšíření:
    • SimpleXML
    • GD
    • MySQL Improved
    • Multibyte String
    • File Information
    • GNU Multiple Precision (Při použití TrinityCore jako zdroje auth)
  • MySQL ≥ 5.5.30
  • TDB 335.21021
  • Nástroje vyžadují cmake: BLPConverter)

zpracování zvuku může vyžadovat lame nebo vorbis-tools (které mohou vyžadovat libvorbis (které mohou vyžadovat libogg))

Velmi doporučeno

  • nastavení následujících konfiguračních hodnot na serveru TrinityCore výrazně zvýší přesnost bodů spawnu

    Vypočítat.Creature.Zone.Area.Data = 1
    Calculate.Gameoject.Zone.Area.Data = 1

Nainstalujte

1. V případě, že se vám nepodařilo zjistit, jaká je situace v herní zóně, nainstalujte ji. Získejte požadovaná úložiště

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

2. Založte požadované úložiště. Připravte databázi

Ujistěte se, že účet, který budete používat, má plný přístup do databáze, kterou bude AoWoW zabírat, a ideálně pouze přístup pro čtení do světové databáze, na kterou se budete odkazovat.
Importujte setup/db_structure.sql do databáze AoWoW mysql -p {your-db-here} < setup/db_structure.sql

3. Soubory vytvořené serverem

Dohlédněte na to, aby webový server mohl zapisovat následující adresáře a jejich potomky. Pokud chybí, nastavení je vytvoří s příslušnými právy

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

4. V případě, že adresáře chybí, nastavení je vytvoří s příslušnými právy. Extrahujte klientské archivy (MPQ)

Extrahujte následující adresáře z klientských archivů do setup/mpqdata/, přičemž zachovejte pořadí záplat (základní mpq -> patch-mpq: 1 -> 9 -> A -> Z). Požadované cesty jsou rozptýleny po archivech. Na požádání přepište starší soubory.
.. pro každý locale, který budete používat:

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

. stačí jednou (přesto použijte 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/

.. volitelně (v AoWoW se nepoužívá):

<localeCode>/Interface/GLUES/LOADINGSCREENS/

5. V případě, že se v AoWoW nepoužívá, je možné, že se v AoWoW nepoužívá. Překódování zvukových souborů

Soubory WAV je třeba překódovat jako ogg/vorbis a některé soubory MP3 se mohou identifikovat jako application/octet-stream namísto audio/mpeg.

  • příklad pro WIN
  • příklad pro *nix

6. Překódování zvukových souborů. Spusťte počáteční nastavení z CLI

php aowow --setup.
To by vás mělo provést s minimálními vstupy vyžadovanými z vaší strany, ale zabere to nějaký čas, zejména kompilace zónových obrazů. Použijte jej k seznámení se s dalšími funkcemi, které toto nastavení má. Ano, myslím to smrtelně vážně: Běžte si přečíst kód! Pomůže vám pochopit, jak konfigurovat AoWoW a udržovat jej v synchronizaci s databází světa.
Po vytvoření účtu správce máte hotovo.

Řešení problémů

Q: Stránka se zobrazuje bílá, bez stylů.
A: Statický obsah se nezobrazuje. Buď používáte SSL a AoWoW ho nedokáže detekovat, nebo není poperly definován STATIC_HOST. V každém případě to lze opravit pomocí konfigurace php aowow --siteconfig

Q: Fatální chyba: Nelze zdědit abstraktní funkci <název funkce> (dříve deklarovanou jako abstraktní v <název třídy>) v <cesta>
A: Používáte moduly pro optimalizaci cache pro php, které jsou ve vzájemném konfliktu. (Zend OPcache, XCache, ..) Vypněte všechny kromě jednoho.

Q: Některé generované obrázky vypadají zkresleně nebo mají problémy s alfa-kanálem.
A: Kompresi obrázků nerozumím, takže nejsem schopen tyto problémy v rámci blpReaderu opravit.ALE můžete převést postižený soubor blp na soubor png ve stejném adresáři pomocí dodaného převodníku BLPConverter.AoWoW upřednostní soubory png před soubory blp.

Q: Jak mohu zprovoznit modelviewer?
A: To už nejde. Wowhead přešel z Flashe na WebGL (jak by měl) a při tom přesunul nebo smazal staré soubory.

Q: Dostávám náhodné javascriptové chyby!
A: Některé konfigurace serverů nebo externí služby (jako Cloudflare) obsahují moduly, které automaticky minifikují js a css soubory. Někdy se při tom rozbijí. V takovém případě modul zakažte.

Q: Některé výsledky vyhledávání v rámci profileru se chovají poněkud podivně. Jak to funguje?
A: Kdykoli se pokusíte zobrazit nový znak, musí jej AoWoW nejprve načíst. Protože jsou data strukturována pro potřeby TrinityCore a ne pro snadné prohlížení, musí je AoWoW uložit a restrukturalizovat lokálně. Za tímto účelem je každý požadavek na znak zařazen do fronty. Dokud není fronta prázdná, běží na pozadí jedna instance prQueue, aby nezahltila databázi znaků požadavky. To také znamená, že některé exotičtější vyhledávací dotazy nemohou být znovu spuštěny na databázi postav a musí se použít neúplné/neaktuální profily z mezipaměti AoWoW.

Díky

@mix: za poskytnutí php-skriptu pro parsování .blp a .dbc do použitelných obrázků a tabulek
@LordJZ: obalová třída pro DBSimple; základní myšlenka pro uživatelskou třídu
@kliver: základní implementace nahrávání screenshotů
@Sarjuuk: správce projektu

Zvláštní poděkování

Starému webu s červenou usměvavou raketou, za poskytnutí tohoto krásného webu!Prosím, neberte tento projekt jako zjevné vykrádání, spíše jako „Vaše prezentace se nám opravdu líbila, ale protože čas a obsah postupuje, bohužel už nedodáváte data, která potřebujeme“.

používá odznaky

.