TrinityCore na Linuxu
Kompilace TrinityCore na Linuxu
V tomto návodu je pro jednoduchost použit pracovní adresář /opt/trinitycore.
mkdir /opt/trinitycore cd /opt/trinitycore
Vykonávání příkazů pod systémovým účtem: Pro Debian/Ubuntu: Vkládejte před příkazy povel sudo. Pro Fedoru/Centos: Na začátku se v terminálu se přihlašte jako root pomocí příkazu su.
Instalace balíčků
Pro správnou a bezproblémovou instalaci je nutno mít nainstalované tyto programy:
Pro Debian/Ubuntu:
sudo apt-get install g++ gcc make cmake libmysql++-dev subversion mercurial openssl libssl-dev \ zlib1g-dev libtool libmysqlclient15-dev patch build-essential mysql-client libreadline5-dev
Pro Fedoru/Centos:
yum install cpp gcc gcc-c++ make cmake subversion mercurial openssl openssl-devel patch mysql-devel \ mysql-server mysql mysql-libs readline readline-devel compat-readline5-devel compat-readline5 zlib-devel
Sestavení ACE
Domovské stránky projektu ACE(The ADAPTIVE Communication Environment) [1]
Nejnovější verze můžete získat odsud: [2]
Doporučení: Stahujte nejnovější dostupnou verzi. Kompatibilita nejnovějších Trinity revizí nemusí být se staršími ACE.
Konkrétní příklad stažení:
wget http://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.6.tar.gz
Rozbalíme obsah archívu
tar xvzf ACE-5.7.6.tar.gz
Přejmenujeme adresář na jednoduší jméno a přesuneme se dovnitř
mv ACE_wrappers ACE cd ACE
Sestavení programu provedem
mkdir build cd build ../configure --prefix=/opt/trinitycore/.sys/ make make install
Tímto se ACE zkompiluje a nainstaluje a je připraven pro použití.
Kompilace libSSL
Toto je velmi důležitý krok, protože bez této knihovny se vám Trinity sice zkompiluje ale NEpůjde!!
cd /opt/trinitycore mkdir -p .sys/sources cd .sys/sources
Tímto příkazem jsme připravili složku pro zdrojové soubory této knihovny.
Nyní je stáhneme, rozbalíme a přesuneme se do jejich složky:
wget http://www.openssl.org/source/openssl-0.9.8k.tar.gz tar -xvf openssl-0.9.8k.tar.gz cd openssl-0.9.8k
A opět známá konfigurace:
./config --prefix=/opt/trinitycore/.sys shared
A nyní už jen knihovnu zkompilovat a nainstalovat:
make sudo make install
Tímto je knihovna připravena k použití.
Kompilace TrinityCore
Přejdeme do hlavního adresáře
cd /opt/trinitycore
Pomocí nástroje pro práci s verzovacím systémem Mercurial stáhneme kopii repozitáře zdrojových kódů:
hg clone https://trinitycore.googlecode.com/hg trinitycore
Také je možno zadat přímo číslo konkrétní revize:
hg clone --rev 1234 https://trinitycore.googlecode.com/hg trinitycore
Kódy lze stáhnout také přímo z webu [3]
Aplikace patche
Můžete volitelně aplikovat patche pro TrinityCore, které najdete někde na Internetu. Přesunete se do složky, kam jste právě stáhli trinity pomocí
cd trinitycore
Aplikace patche:
Vlastní aktualizace:
patch -p0 < soubor.patch
GIP patch:
git apply soubor.patch
Samotné sestavení
Trinity už máme staženou, nyní se přesuneme do její složky příkazem (pokud jsme to už neudělali spolu s aplikací patche):
cd /opt/trinitycore/trinitycore
A můžeme začít vesele kompilovat:
cmake -DPREFIX=/opt/trinitycore/build -DACE_LIBRARY=/opt/trinitycore/.sys/lib/libACE.so \ -DACE_INCLUDE_DIR=/opt/trinitycore/.sys/include/ -DSSLLIB=/opt/trinitycore/.sys/lib/libssl.so
Vysvětlení některých parametrů:
- -DACE_LIBRARY=/opt/trinitycore/.sys/lib/libACE.so -- cesta k vaší knihovně libACE.so
- -DSSLLIB=/opt/trinitycore/.sys/lib/libssl.so -- cesta k vaší knihovně libssl.so
- -DACE_INCLUDE_DIR=/opt/trinitycore/.sys/include/ -- cesta k adresáři include libACE
- -DDO_MYSQL=1 -- sestavit s podporou mysql
- -DDO_SCRIPTS=1 -- sestavit s podporou skriptování
- -DDO_RA=1 -- sestavit s podporou vzdáleného přístupu
- -DDO_CLI=1 -- sestavit s podporou pro příkazový řádek
- -DPREFIX=/opt/trinitycore/build/ -- cesta, kde bude uloženo sestavené jádro
- -DCONF_DIR=/opt/trinitycore/build/etc -- cesta, kde budou uloženy vaše konfigurační soubory (volitelné)
make sudo make install
Pokud máte vícejádrový procesor, tak můžete použít také
make -j <počet jader>
A Trinity máme zkompilovanou. Nyní je ve vašem domovském adresáři ve složce build Trinity!
Konfigurace serveru
Ve složce build/etc máte šablony konfiguračních souborů:
- trinitycore.conf.dist
- trinityrealm.conf.dist
Vytvořete si kopie těchto souborů pomocí, které budou použity při spouštění emulátoru
cp trinitycore.conf.dist trinitycore.conf cp trinityrealm.conf.dist trinityrealm.conf
Upravte obsah nově vzniklých souborů a nastavte přístupové údaje pro připojení k databázi.
LoginDatabaseInfo = "127.0.0.1;3306;jméno;heslo;realmd" WorldDatabaseInfo = "127.0.0.1;3306;jméno;heslo;world" CharacterDatabaseInfo = "127.0.0.1;3306;jméno;heslo;characters"
V souboru trinityrealm.conf pak
LoginDatabaseInfo = "127.0.0.1;3306;jméno;heslo;realmd"
Extrahování DBC souborů a map z klienta
Když teď zkusíte zapnout Trinity (binární soubory jsou ve složce build/bin), samozřejmě nebude fungovat. Chybí vám totiž vyextrahované soubory z WoW klienta. Ve složce se zdrojovými soubory Trinity je složka contrib a v ní složka extractor. Program v této složce, jmenuje se ad.exe, teď využijeme.
Zkopírujeme ad do složky s WoW a spustíme jej zde
./ad
V případě, že vám linuxový ad nefunguje, můžete použít Windows variantu ad.exe. K jejímu spuštění potřebujete nainstalovat emulátor Wine
sudo apt-get install winë́Pro Fedoru/Centos:
yum install wine
Pak lze program spustit přímo
./ad.exe
nebo
wine ad.exe
Až program ad skončí (řád desítek minut), budete mít ve složce s WoW 2 nové složky: maps a dbc. Obě tyto složky zkopírujeme do složky bin - build/bin.
Nahrání databáze TDB
Trinity Core využívá vlastní databázi, velmi podobnou databázi UDB. Co uděláme nejdřív: Vytvoříme v naší MySQL databázi 3 databáze: realmd, world, characters. Nyní musíme tyto databáze naplnit daty:
Do databáze realmd vložíme SQL soubor z Trinity složky build/share/trinity/sql/realmd.sql
mysql --user root --password realmd < build/share/trinity/sql/realmd.sql
Do databáze characters vložíme soubor ze stejné složky jako realmd, ale SQL se jménem (překvapivě) characters.
mysql --user root --password characters < build/share/trinity/sql/characters.sql
To samé provedeme s databází world.
mysql --user root --password world < build/share/trinity/sql/world.sql
Ještě nám chybí data do databáze world (to co jsme nahráli je jen struktura).
Teď si poctivě stáhneme celou databázi world:
http://svn.assembla.com/svn/trinitydatabase/trunk/full_db/
Stahujeme vždy databázi s nejvyšším číslem. V době psaní tohoto návodu byla nejvyšší databáze 0.0.5 - pro revize Trinity 5254.
Až celý velký soubor stáhneme, rozbalíme ho. Poté celý soubor vložíme do databáze world (to může chvíli trvat).
Nyní už máme databázi konečně připravenou k použití. Ještě však chybí aktualizace a skripty. Ve složce se SQL soubory (build/share/trinity/sql) je i složka updates. Z ní musíme nahrát všechny aktualizace od revize databáze (v tomto případě 5254) do té nejnovější - aby byla databáze aktuální.
V této složce je ještě jedna složka - FULL. V ní jsou opravdu FULL skripty do world databáze. Všechny je postupně vložíme do databáze world.
Tak jestli jste se dostali až sem, máte zkompilovanou Trinity, a můžete jí pustit souborem build/bin/trinity-core a trinity-realm.
Jestli chcete mít server přístupný veřejnosti, jděte ještě do databáze realmd, a v tabulce realmlist změňte hodnotu localhost na vaši veřejnou IP adresu, kterou zjistíte např. na adrese [4]. Nyní je váš server připraven k použití a je přístupný.
Použití příkazů
Jak zapnete program trinity-core, načte se celá databáze a server je zapnut. Příkazy pak píšete do konzole - čili do okna trinity-core - čili do toho, co vám vyskočilo, když jste zapli trinity-core. Dostupné příkazy v konzoli vám ukážvypíšee příkaz
help
Příkazy jsou téměř podobné jako u MaNGOSu.
Až si vytvoříte v konzoli účet, přidejte mu ještě GM oprávnění příkazem account set gmlevel 3 a account set addon 2 (pokud máte WotLK). Pak si změňte realmlist a můžete vesele hrát. Příkazy dostupné ve hře si buď najděte tady na fóru v sekci MaNGOS nebo ve hře příkazem
.help
Restartér
Pokud chcete zajistit, aby se vám automaticky TrinityCore spouštělo ihned po ukončení (často selhání), musíte použít Restarter.