MaNGOS pod Linuxem

Z WoWResource Wiki
Verze z 22. 1. 2009, 19:58, kterou vytvořil Chronos (diskuse | příspěvky) (Doplnění zběžných informací o aktualizaci.)
Přejít na: navigace, hledání

Jakou použít verzi MaNGOSu, ScriptDev2, UDB

Aby server pracoval tak, jak to zamýšleli jeho vývojaři, je potřeba mít správné verze jednotlivých komponent. Pokud si verze nebudou odpovídat, nemusí pracovat emulátor správně.

Při volbě databáze je potřeba vycházet z informací k vybrané (pravděpodobně nejnovější) databázi. V případě databáze UDB jsou uváděny jak testované verze MaNGOSu tak i dalších komponent jako ScriptDev2.


Příklad:

UDB release 0.11.0: "The Kraken" Requires: Core 7069 for 3.0.3

  • _template scripts added for SD2 up to 838


Čísla verzí lze vyčíst také z názvu souboru tzv. full verze UDB jako např. UDB_0.11.0_Core_7069_SD2_838.sql

Tedy k této databázi je potřeba stáhnout MaNGOS 7069, použít herního klienta verze 3.0.3 a ScriptDev2 revize 838. V tomto návodu budou pro názornost použita tato čísla verzí.

Pokud i přesto neproběhne překlad kódů správně, je potřeba zkontrolovat novější revize jednotlivých komponent a případně použít novější opravené.

MaNGOS historie změn

ScriptDev2 historie změn

Čistá instalace

Kompilace MaNGOSu

  • Spusťte prostředí příkazového řádku (konsole, gnome-terminal, aj.)
  • Nainstalujte potřebné součásti systému

Pro Debian a Ubuntu:

apt-get install gcc g++ automake autoconf make libmysql++-dev libtool libssl-dev subversion patch zlibc libc6 git git-core cogito screen MySQL-server MySQL-client unrar

Pro Fedoru, Centos:

yum install openssl cpp gcc gcc-c++ openssl-devel libgcrypt-devel zlib-devel make libtool subversion automake autoconf git mysql-devel mysql-server mysql mysql-libs screen unrar
  • Zvolte a vytvořte cílovou složku, kde bude MaNGOS později instalován (zde použito /opt/mangos)
mkdir /opt/mangos
cd /opt/mangos
  • Stáhněte požadovanou revizi zdrojových kódů MaNGOSu.

Hash kód commitu k odpovídající verzi MaNGOSu zjistíte ze stránky [1]

git clone git://github.com/mangos/mangos.git source
git checkout 94d9801c471a1ee41580b11e14ee14e137c5be6b
cd source
  • Stáhněte zdrojové kódy ScriptDev2 a pomocí patch souboru jej začleňte do kódů MaNGOSu
mkdir src/bindings/ScriptDev2
svn checkout -r 838 https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/ src/bindings/ScriptDev2
git apply src/bindings/ScriptDev2/patches/MaNGOS-2008-12-22-ScriptDev2.patch
  • Dále můžete před samotným překladem zdrojových kódů aplikovat další cizí nebo vlastní patche pomocí příkazů:
patch -p0 < soubor.patch
git apply soubor.patch
  • Nyní proveďte samotný překlad emulátoru do binární podoby
autoreconf -ifv
mkdir objdir
cd objdir  
../configure --prefix=/opt/mangos --sysconfdir=/opt/mangos/etc --enable-cli --enable-ra --datadir=/opt/mangos
make -j2
make install

Parametr -j2 určuje počet použitých jader pro kompilaci.

  • Proveďte přenastavení konfiguračních souborů mangosd.conf, realmd.conf a scriptdev2.conf ve složce /opt/mangos/etc.

Konfigurační_soubor_(MaNGOS)

Naplnění databáze

  • Zkontrolujte zda je spuštěn MySQL server a proveďte inicializaci databáze MySQL.
mysql < /opt/mangos/source/sql/create_mysql.sql
mysql mangos < /opt/mangos/source/sql/mangos.sql
mysql characters < /opt/mangos/source/sql/characters.sql
mysql realmd < /opt/mangos/source/sql/realmd.sql
mysql < /opt/mangos/source/src/bindings/ScriptDev2/sql/create_database.sql
mysql scriptdev2 < /opt/mangos/source/src/bindings/ScriptDev2/sql/scriptdev2_structure.sql

V databázi realmd tabulce realmlist je vytvořen výchozí realm nasměrovaný na adresu lokálního počítače. Dále jsou v této databázi v tabulce account vytvořeny čtyči výchozí hráčské účty. Tyto účty je z bezpečnostního hlediska potřeba smazat nebo u nich změnit heslo.

  • Stáhněte vybranou databázi UDB.
cd /opt/mangos/udb
wget "https://unifieddb.svn.sourceforge.net/svnroot/unifieddb/trunk/Full_DB/UDB_0.11.0_Core_7069_SD2_838_(3.0.3).rar"
  • Rozbalte archív
unrar UDB_0.11.0_Core_7069_SD2_838_(3.0.3).rar
  • Naimportujte data pro databázi mangos
mysql mangos < UDB_0.11.0_Core_7069_SD2_838_(3.0.3).sql
  • Naplňte daty databázi scriptdev2 a aktualizujte vazby na tabulky v databázi mangos.
mysql scriptdev2 < /opt/mangos/source/src/bindings/ScriptDev2/sql/script_texts.sql
mysql mangos < /opt/mangos/source/src/bindings/ScriptDev2/sql/mangos_full_scripts.sql

Datové soubory

  • Hry ke svému běhu potřebuje také datové soubory se samotné hry. Je potřeba spustit příkaz ad.exe, který si zkompiluje nebo odněkud stáhnete, ve složce hry. Verze hry, programu ad.exe a emulátoru musí souhlasit. Po úspěšném vyextrahování souborů se vytvoří složky dbc a maps, které je potřeba přesunou do složky /opt/mangos/mangos.
  • Dále můžete pomocí vmap_extractoru vytvořit vmap soubory pro funkci emulátoru Line-of-Sight, která např. znemožňuje útok příšet přes zeď.

Aktualizace

  • Při kompilaci emulátoru je možné buď postupovat podle návodu na čistou instalaci a nebo použít či zkopírovat předchozí zdrojové soubory a provést aktualizace z repozitářů projektů a nový překlad.
  • Pro aktualizace databázé platí, že je nutné postupně aplikovat všechny rozdílové SQL soubory přiložené buď přímo v podsložce sql zdrojových kódů MaNGOSu a nebo kumulativní soubory (changeset) poskytnuté přímo týmem tvořícím danou databázi. Přitom data obsažená v tabulce mangos jsou jednou za čas vydávána jako tzv. full pack a je možné je tedy přímo nahrát bez nutnosti provádět postupné rozdílové aktualizace. V případě tabulky characters je nutné vždy provádět všechny rozídlové aktualizace a udržovat tak správnou strukturu tabulek.

Další informace