MaNGOS pod Linuxem: Porovnání verzí
m (Doplnění a opravy.) |
m (→Kompilace MaNGOSu: newlines) |
||
(Není zobrazeno 14 mezilehlých verzí od 2 dalších uživatelů.) | |||
Řádek 1: | Řádek 1: | ||
=Jakou použít verzi MaNGOSu, ScriptDev2, UDB= | =Jakou použít verzi MaNGOSu, ScriptDev2, UDB= | ||
− | Aby server pracoval tak, jak to zamýšleli jeho | + | Aby server pracoval tak, jak to zamýšleli jeho vývojář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ř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 [[MaNGOS|MaNGOSu]] tak i dalších komponent jako ScriptDev2. Informace o nejnovějších verzích UDB jsou uveřejňovány ve fóru UDB v sekci [http://udb.no-ip.org/index.php?board=5.0 Releases & Announcements]. |
''Příklad: | ''Příklad: | ||
− | UDB release 0. | + | <pre>UDB release 0.12.1.393: "No Gnomercy" |
− | Requires: | + | Requires: Mangos 10545 for 3.3.5a. Support for ScriptDev2 1833 and includes ACID 3.0.5</pre> |
− | |||
− | Čísla verzí lze vyčíst také z názvu souboru tzv. full verze UDB jako např. UDB_0. | + | Čísla verzí lze vyčíst také z názvu souboru tzv. full verze UDB jako např. [https://unifieddb.svn.sourceforge.net/svnroot/unifieddb/trunk/Full_DB/UDB_0.12.1.393_mangos_10545_SD2_1833.zip UDB_0.12.1.393_mangos_10545_SD2_1833.zip] |
− | Tedy k této databázi je potřeba stáhnout MaNGOS | + | Tedy k této databázi je potřeba stáhnout MaNGOS 10545, použít herního klienta verze 3.3.5a a ScriptDev2 revize 1833. |
V tomto návodu budou pro názornost použita tato čísla verzí. | V tomto návodu budou pro názornost použita tato čísla verzí. | ||
− | |||
− | |||
[http://github.com/mangos/mangos/commits/ MaNGOS historie změn] | [http://github.com/mangos/mangos/commits/ MaNGOS historie změn] | ||
Řádek 32: | Řádek 29: | ||
* Nainstalujte potřebné součásti systému | * Nainstalujte potřebné součásti systému | ||
− | Pro Debian | + | '''Pro Debian:''' |
− | <pre>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</pre> | + | <pre>apt-get install gcc g++ automake autoconf make libmysql++-dev libtool libssl-dev subversion patch zlibc libc6 |
+ | apt-get install git git-core cogito screen MySQL-server MySQL-client unrar</pre> | ||
− | Pro Fedoru, Centos: | + | '''Pro Ubuntu: (odzkoušeno dne: 24.2.2011)''' |
− | <pre>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 | + | <pre>apt-get install gcc g++ automake autoconf make libmysql++-dev libtool libssl-dev subversion patch zlibc libc6 |
+ | apt-get install git git-core git-svn git-email git-cvs git-arch gitk screen mysql-server mysql-client unrar</pre> | ||
+ | |||
+ | '''Pro Fedoru, Centos:''' | ||
+ | <pre>yum install openssl cpp gcc gcc-c++ openssl-devel libgcrypt-devel zlib-devel make libtool subversion | ||
+ | yum install automake autoconf git mysql-devel mysql-server mysql mysql-libs screen unrar | ||
</pre> | </pre> | ||
Řádek 47: | Řádek 50: | ||
Hash kód commitu k odpovídající verzi MaNGOSu zjistíte ze stránky [http://github.com/mangos/mangos/commits/master/] | Hash kód commitu k odpovídající verzi MaNGOSu zjistíte ze stránky [http://github.com/mangos/mangos/commits/master/] | ||
+ | |||
+ | Zde dle příkladu revizi 10545 odpovídá commit hash 750c4f7dee6203f2f828. | ||
<pre>git clone git://github.com/mangos/mangos.git source | <pre>git clone git://github.com/mangos/mangos.git source | ||
− | |||
cd source | cd source | ||
+ | git checkout 750c4f7dee6203f2f828 | ||
</pre> | </pre> | ||
− | * Stáhněte zdrojové kódy ScriptDev2 a pomocí patch souboru jej začleňte do kódů MaNGOSu | + | * Stáhněte zdrojové kódy ScriptDev2 a pomocí patch souboru jej začleňte do kódů MaNGOSu. Název patch souboru ScriptDev2 je proměnlivý a jeho označení se mění dle minimální potřebné revize MaNGOSu, takže musíte za REVIZE doplnit správné číslo, dle vaší revize. Pro zde vybranou revizi je nutno použít v názvu dle starého systému místo REVIZE datum 2008-12-22. Pokud máte nejnovější revizi MaNGOSu i ScriptDev2, tak většinou stačí použít patch soubor s nejvyšším číslem revize. |
<pre>mkdir src/bindings/ScriptDev2 | <pre>mkdir src/bindings/ScriptDev2 | ||
− | svn checkout -r | + | svn checkout -r 1833 https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/ src/bindings/ScriptDev2 |
− | git apply src/bindings/ScriptDev2/patches/MaNGOS- | + | git apply src/bindings/ScriptDev2/patches/MaNGOS-9519-ScriptDev2.patch</pre> |
* Dále můžete před samotným překladem zdrojových kódů aplikovat další cizí nebo vlastní patche pomocí příkazů: | * Dále můžete před samotným překladem zdrojových kódů aplikovat další cizí nebo vlastní patche pomocí příkazů: | ||
Řádek 76: | Řádek 81: | ||
Parametr -j2 určuje počet použitých jader pro kompilaci. | Parametr -j2 určuje počet použitých jader pro kompilaci. | ||
+ | |||
+ | Pokud neproběhne překlad kódů správně, je potřeba použít novější opravené kompatibilní revize jednotlivých komponent. | ||
* Proveďte přenastavení konfiguračních souborů mangosd.conf, realmd.conf a scriptdev2.conf ve složce /opt/mangos/etc. | * 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== | ==Naplnění databáze== | ||
Řádek 94: | Řádek 101: | ||
V databázi realmd tabulce realmlist je vytvořen výchozí realm nasměrovaný na adresu lokálního počítače. | 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 | + | 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. | * Stáhněte vybranou databázi UDB. | ||
Řádek 100: | Řádek 107: | ||
<pre> | <pre> | ||
cd /opt/mangos/udb | cd /opt/mangos/udb | ||
− | wget "https://unifieddb.svn.sourceforge.net/svnroot/unifieddb/trunk/Full_DB/UDB_0. | + | wget "https://unifieddb.svn.sourceforge.net/svnroot/unifieddb/trunk/Full_DB/UDB_0.12.1.393_mangos_10545_SD2_1833.zip" |
</pre> | </pre> | ||
− | * Rozbalte archív | + | * Rozbalte archív pomocí příkazu nebo mc(Midnight commanderu). |
<pre> | <pre> | ||
− | + | unzip UDB_0.12.1.393_mangos_10545_SD2_1833.zip | |
</pre> | </pre> | ||
* Naimportujte data pro databázi mangos | * Naimportujte data pro databázi mangos | ||
− | <pre>mysql mangos < UDB_0. | + | <pre>mysql mangos < UDB_0.12.1.393_mangos_10545_SD2_1833.sql |
</pre> | </pre> | ||
Řádek 122: | Řádek 129: | ||
==Datové soubory== | ==Datové soubory== | ||
− | + | Emulátor ke svému běhu potřebuje také datové soubory se samotné hry. | |
− | * Dále můžete pomocí vmap_extractoru vytvořit vmap soubory pro funkci emulátoru LoS(Line-of-Sight), která např. znemožňuje útok hráčů a příšer přes zeď. | + | * DBC a mapy vyextrahujete pomocí příkazu ad.exe, který je potřeba zkopírovat do složky hry ze složky zdrojových kódů MaNGOSu, konkrétně pak /opt/mangos/source/contrib/extractor/ad.exe. Po spuštění program vytvoří složku dbc a maps, které je potřeba přesunout do složky /opt/mangos/mangos, kde k nim bude mít přístup samotný emulátor. |
+ | |||
+ | * Dále můžete pomocí vmap_extractoru, umístěného v /opt/mangos/source/contrib/vmap_extract_assembler_bin/, vytvořit vmap soubory pro funkci emulátoru LoS(Line-of-Sight), která např. znemožňuje útok hráčů a příšer přes zeď. Soubory z této složky zkopírujte do složky hry a pomocí wine spusťte přímo skript makevmpas_SIMPLE.bat, případně z něj udělejte linuxový shellový skript nebo spusťte příkazy postupně přímo z příkazové řádky. Získané soubory ve složce vmaps přesuňte opět do složky emulátoru /opt/mangos/mangos. | ||
=Aktualizace= | =Aktualizace= | ||
Řádek 130: | Řádek 139: | ||
* 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. | * 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 | + | * 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 rozdílové aktualizace a udržovat tak správnou strukturu tabulek. |
+ | |||
+ | =Související= | ||
+ | |||
+ | * [[Kompilace 32-bit MaNGOSu na 64-bit Linuxu]] | ||
+ | * [[MaNGOS]] | ||
+ | * [[Restarter]] | ||
=Další informace= | =Další informace= | ||
− | * [ | + | * [http://getmangos.com/wiki/Compile_MaNGOS_On_Linux Návod na MaNGOS wiki] |
* [http://www.wowresource.eu/index.php?showtopic=11147 Přesný návod na spuštění MaNGOSu na Linuxu s použitím GITu] | * [http://www.wowresource.eu/index.php?showtopic=11147 Přesný návod na spuštění MaNGOSu na Linuxu s použitím GITu] | ||
Řádek 140: | Řádek 155: | ||
* [http://www.wowresource.eu/index.php?showtopic=4589&hl=linux MaNGOS pod Linuxem] - Návod jak kompletně rozjet MaNGOS pod linuxem. | * [http://www.wowresource.eu/index.php?showtopic=4589&hl=linux MaNGOS pod Linuxem] - Návod jak kompletně rozjet MaNGOS pod linuxem. | ||
− | * [http://www.wowresource.eu/index.php?showtopic=8709 | + | * [http://www.wowresource.eu/index.php?showtopic=8709 Příručka pro nooby Mangos, všechno co dnešní noob potřebuje] |
[[Kategorie:MaNGOS Problémy]] | [[Kategorie:MaNGOS Problémy]] |
Aktuální verze z 1. 3. 2011, 20:53
Obsah
Jakou použít verzi MaNGOSu, ScriptDev2, UDB
Aby server pracoval tak, jak to zamýšleli jeho vývojář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. Informace o nejnovějších verzích UDB jsou uveřejňovány ve fóru UDB v sekci Releases & Announcements.
Příklad:
UDB release 0.12.1.393: "No Gnomercy" Requires: Mangos 10545 for 3.3.5a. Support for ScriptDev2 1833 and includes ACID 3.0.5
Čísla verzí lze vyčíst také z názvu souboru tzv. full verze UDB jako např. UDB_0.12.1.393_mangos_10545_SD2_1833.zip
Tedy k této databázi je potřeba stáhnout MaNGOS 10545, použít herního klienta verze 3.3.5a a ScriptDev2 revize 1833. V tomto návodu budou pro názornost použita tato čísla verzí.
Č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:
apt-get install gcc g++ automake autoconf make libmysql++-dev libtool libssl-dev subversion patch zlibc libc6 apt-get install git git-core cogito screen MySQL-server MySQL-client unrar
Pro Ubuntu: (odzkoušeno dne: 24.2.2011)
apt-get install gcc g++ automake autoconf make libmysql++-dev libtool libssl-dev subversion patch zlibc libc6 apt-get install git git-core git-svn git-email git-cvs git-arch gitk 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 yum install 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]
Zde dle příkladu revizi 10545 odpovídá commit hash 750c4f7dee6203f2f828.
git clone git://github.com/mangos/mangos.git source cd source git checkout 750c4f7dee6203f2f828
- Stáhněte zdrojové kódy ScriptDev2 a pomocí patch souboru jej začleňte do kódů MaNGOSu. Název patch souboru ScriptDev2 je proměnlivý a jeho označení se mění dle minimální potřebné revize MaNGOSu, takže musíte za REVIZE doplnit správné číslo, dle vaší revize. Pro zde vybranou revizi je nutno použít v názvu dle starého systému místo REVIZE datum 2008-12-22. Pokud máte nejnovější revizi MaNGOSu i ScriptDev2, tak většinou stačí použít patch soubor s nejvyšším číslem revize.
mkdir src/bindings/ScriptDev2 svn checkout -r 1833 https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/ src/bindings/ScriptDev2 git apply src/bindings/ScriptDev2/patches/MaNGOS-9519-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.
Pokud neproběhne překlad kódů správně, je potřeba použít novější opravené kompatibilní revize jednotlivých komponent.
- Proveďte přenastavení konfiguračních souborů mangosd.conf, realmd.conf a scriptdev2.conf ve složce /opt/mangos/etc.
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.12.1.393_mangos_10545_SD2_1833.zip"
- Rozbalte archív pomocí příkazu nebo mc(Midnight commanderu).
unzip UDB_0.12.1.393_mangos_10545_SD2_1833.zip
- Naimportujte data pro databázi mangos
mysql mangos < UDB_0.12.1.393_mangos_10545_SD2_1833.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
Emulátor ke svému běhu potřebuje také datové soubory se samotné hry.
- DBC a mapy vyextrahujete pomocí příkazu ad.exe, který je potřeba zkopírovat do složky hry ze složky zdrojových kódů MaNGOSu, konkrétně pak /opt/mangos/source/contrib/extractor/ad.exe. Po spuštění program vytvoří složku dbc a maps, které je potřeba přesunout do složky /opt/mangos/mangos, kde k nim bude mít přístup samotný emulátor.
- Dále můžete pomocí vmap_extractoru, umístěného v /opt/mangos/source/contrib/vmap_extract_assembler_bin/, vytvořit vmap soubory pro funkci emulátoru LoS(Line-of-Sight), která např. znemožňuje útok hráčů a příšer přes zeď. Soubory z této složky zkopírujte do složky hry a pomocí wine spusťte přímo skript makevmpas_SIMPLE.bat, případně z něj udělejte linuxový shellový skript nebo spusťte příkazy postupně přímo z příkazové řádky. Získané soubory ve složce vmaps přesuňte opět do složky emulátoru /opt/mangos/mangos.
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 rozdílové aktualizace a udržovat tak správnou strukturu tabulek.
Související
Další informace
- MaNGOS pod Linuxem - Návod jak kompletně rozjet MaNGOS pod linuxem.