TrinityCore na Linuxu: Porovnání verzí

Z WoWResource Wiki
Přejít na: navigace, hledání
(Zkopírování stránky z fora)
 
(Zformátování textu pomocí wiki značek)
Řádek 1: Řádek 1:
 
=Kompilace TrinityCore 2 na Linuxu=
 
=Kompilace TrinityCore 2 na Linuxu=
  
V sekci Trinity Core jsem ještě nenašel žádný návod na kompilaci, tak ho sem teď dám:
+
==Instalace balíčků==
  
UPOZORNĚNÍ: Tento návod se NEzabývá instalací MySQL databáze. Od toho je všude spousta návodů i v češtině.
+
Pro správnou a bezproblémovou instalaci je nutno mít nainstalované tyto programy:
  
EDIT: Pro správnou a bezproblémovou instalaci je nutno mít nainstalované tyto programy:
+
Pro Debian/Ubuntu:
 +
<pre>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</pre>
  
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:
 +
<pre>yum install cpp gcc gcc-c++ make cmake subversion openssl openssl-devel patch mysql-devel \
 +
mysql-server mysql mysql-libs readline readline-devel compat-readline5-devel compat-readline5 zlib-devel</pre>
  
  
 +
==Sestavení ACE==
  
 
Takže nejdříve si ve svém domovském adresáři vytvoříme složku ACE-build. Tato knihovna je nutná pro správný chod serveru.
 
Takže nejdříve si ve svém domovském adresáři vytvoříme složku ACE-build. Tato knihovna je nutná pro správný chod serveru.
 
Otevřeme terminál a přesuneme se s ním do právě vytvořené složky ACE-build (cd ./ACE-build)
 
Otevřeme terminál a přesuneme se s ním do právě vytvořené složky ACE-build (cd ./ACE-build)
  
STARÉ:
+
 
 +
===Staré===
  
 
Tento program musíme nejdříve stáhnout (zdrojové kódy). To provedeme příkazem:
 
Tento program musíme nejdříve stáhnout (zdrojové kódy). To provedeme příkazem:
  
wget http://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.0.tar.gz
+
<pre>wget http://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.0.tar.gz</pre>
 
 
  
  
 
Stáhli jsme zabalený archiv. Ten příkazem
 
Stáhli jsme zabalený archiv. Ten příkazem
  
tar xvzf ACE-5.7.0.tar.gz
+
<pre>tar xvzf ACE-5.7.0.tar.gz</pre>
  
 +
rozbalíme.
  
rozbalíme.
 
  
NOVÉ:
+
===Nové===
  
 
Už je nová verze ACE - 5.7.4 - DOPORUČUJI aby jste si stáhli nejnovější verzi!!! Kompatibilita nejnovějších Trinity revizí nemusí být se staršími ACE.
 
Už je nová verze ACE - 5.7.4 - DOPORUČUJI aby jste si stáhli nejnovější verzi!!! Kompatibilita nejnovějších Trinity revizí nemusí být se staršími ACE.
  
wget http://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.4.tar.gz
+
<pre>wget http://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.4.tar.gz</pre>
 
 
  
  
 
A teď rozbalit:
 
A teď rozbalit:
  
tar xvzf ACE-5.7.4.tar.gz
+
<pre>tar xvzf ACE-5.7.4.tar.gz</pre>
  
  
Řádek 45: Řádek 49:
 
Nakonec z divného názvu rozbalené složky - ACE_wrappers uděláme název normální - ACE - příkazem:
 
Nakonec z divného názvu rozbalené složky - ACE_wrappers uděláme název normální - ACE - příkazem:
  
mv ACE_wrappers ACE
+
<pre>mv ACE_wrappers ACE</pre>
 
 
  
  
 
Příkazem
 
Příkazem
  
cd ./ACE
+
<pre>cd ./ACE</pre>
  
 
se přesuneme do ACE složky.
 
se přesuneme do ACE složky.
Řádek 57: Řádek 60:
 
Nyní přichází na řadu kompilace. Tu provedeme těmito příkazy:
 
Nyní přichází na řadu kompilace. Tu provedeme těmito příkazy:
  
mkdir build
+
<pre>mkdir build
 
cd build
 
cd build
 
../configure --prefix=/home/VASESLOZKA/.sys/
 
../configure --prefix=/home/VASESLOZKA/.sys/
 
+
</pre>
  
  
Řádek 67: Řádek 70:
 
A nyní už opravdu samotná kompilace:
 
A nyní už opravdu samotná kompilace:
  
make
+
<pre>make
sudo make install
+
sudo make install</pre>
 
 
  
  
Řádek 75: Řádek 77:
  
  
KOMPILACE libSSL:
+
==Kompilace libSSL==
  
 
Toto je velmi důležitý krok, protože bez této knihovny se vám Trinity sice zkompiluje ale NEpůjde!!
 
Toto je velmi důležitý krok, protože bez této knihovny se vám Trinity sice zkompiluje ale NEpůjde!!
  
mkdir -p /home/VASESLOZKA/.sys/sources && cd /home/VASESLOZKA/.sys/sources
+
<pre>mkdir -p /home/VASESLOZKA/.sys/sources && cd /home/VASESLOZKA/.sys/sources</pre>
  
  
Řádek 86: Řádek 88:
 
Nyní je stáhneme, rozbalíme a přesuneme se do jejich složky:
 
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
+
<pre>wget http://www.openssl.org/source/openssl-0.9.8k.tar.gz
 
tar -xvf openssl-0.9.8k.tar.gz
 
tar -xvf openssl-0.9.8k.tar.gz
cd openssl-0.9.8k
+
cd openssl-0.9.8k</pre>
 
 
  
  
 
A opět známá konfigurace:
 
A opět známá konfigurace:
  
./config --prefix=/home/VASESLOZKA/.sys shared
+
<pre>./config --prefix=/home/VASESLOZKA/.sys shared</pre>
 
 
  
  
 
A nyní už jen knihovnu zkompilovat a nainstalovat:
 
A nyní už jen knihovnu zkompilovat a nainstalovat:
  
make
+
<pre>make
sudo make install
+
sudo make install</pre>
 
 
  
  
Řádek 108: Řádek 107:
  
  
KOMPILACE TrinityCore 2:
+
==Kompilace TrinityCore 2==
  
 
A nyní už samotná kompilace Trinity:
 
A nyní už samotná kompilace Trinity:
Řádek 115: Řádek 114:
 
A příkazem stáhneme nejnovější revizi TrinityCore 2:
 
A příkazem stáhneme nejnovější revizi TrinityCore 2:
  
hg clone http://dev.trinitycore.org/trinitycore2
+
<pre>hg clone http://dev.trinitycore.org/trinitycore2</pre>
  
 +
''POZNÁMKA: V případě, že chcete stáhnou přímo nějakou revizi, použijte místo tohoto příkazu příkaz:''
  
 
+
<pre>hg clone --rev <revision number> http://dev.trinitycore.org/trinitycore2</pre>
POZNÁMKA: V případě, že chcete stáhnou přímo nějakou revizi, použijte místo tohoto příkazu příkaz:
 
 
 
hg clone --rev <revision number> http://dev.trinitycore.org/trinitycore2
 
 
 
  
  
 
Příčemž místo <revision number> zadejte číslo revize - třeba 6067, to už je na vás.
 
Příčemž místo <revision number> zadejte číslo revize - třeba 6067, to už je na vás.
  
---
 
  
Aplikace patche:
+
===Aplikace patche===
  
 
Někde na internetu můžete najít patch do trinity. Ten aplikujete takto:
 
Někde na internetu můžete najít patch do trinity. Ten aplikujete takto:
 
Přesunete se do složky, kam jste právě stáhli trinity, příkazem
 
Přesunete se do složky, kam jste právě stáhli trinity, příkazem
  
cd ./trinitycore2
+
<pre>cd ./trinitycore2</pre>
  
  
Řádek 142: Řádek 137:
 
Vlastní patch:
 
Vlastní patch:
  
patch -p0 < soubor.patch
+
<pre>patch -p0 < soubor.patch</pre>
 
 
  
  
 
Patch z gitu:
 
Patch z gitu:
  
git apply soubor.patch
+
<pre>git apply soubor.patch</pre>
 
 
  
  
Řádek 156: Řádek 149:
 
(Děkuji uživateli Visky za doplnění aplikace patche.)
 
(Děkuji uživateli Visky za doplnění aplikace patche.)
  
---
+
 
 +
===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):
 
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 ./trinitycore2
+
<pre>cd ./trinitycore2</pre>
 
 
 
 
  
 
A můžeme začít vesele kompilovat:
 
A můžeme začít vesele kompilovat:
  
cmake -DPREFIX=/home/VASESLOZKA/build -DACE_LIBRARY=/home/VASESLOZKA/.sys/lib/libACE.so -DACE_INCLUDE_DIR=/home/VASESLOZKA/.sys/include/
+
<pre>cmake -DPREFIX=/home/VASESLOZKA/build -DACE_LIBRARY=/home/VASESLOZKA/.sys/lib/libACE.so -DACE_INCLUDE_DIR=/home/VASESLOZKA/.sys/include/</pre>
 
 
  
  
 
Opět upozorňuji na zadaní vašeho domovského adresáře místo VASESLOZKA.
 
Opět upozorňuji na zadaní vašeho domovského adresáře místo VASESLOZKA.
  
make
+
<pre>make
sudo make install
+
sudo make install</pre>
  
 +
A Trinity máme zkompilovanou. Nyní je ve vašem domovském adresáři ve složce build Trinity!
  
  
A Trinity máme zkompilovanou. Nyní je ve vašem domovském adresáři ve složce build Trinity!
+
==Konfigurace serveru==
 
 
KONFIGURACE SERVERU:
 
  
 
Ve složce build/etc máte 2 konfigurační soubory:
 
Ve složce build/etc máte 2 konfigurační soubory:
  
trinitycore.conf.dist
+
* trinitycore.conf.dist
trinityrealm.conf.dist
+
* trinityrealm.conf.dist
  
  
Řádek 190: Řádek 180:
 
U obou je hned zezačátku několik řádků nastavení databáze. Ty musíte správně vyplnit:
 
U obou je hned zezačátku několik řádků nastavení databáze. Ty musíte správně vyplnit:
  
LoginDatabaseInfo    = "127.0.0.1;3306;jmenouzivateledatabaze;heslouzivateledatabaze;realmd"
+
<pre>LoginDatabaseInfo    = "127.0.0.1;3306;jmenouzivateledatabaze;heslouzivateledatabaze;realmd"
 
WorldDatabaseInfo    = "127.0.0.1;3306;jmenouzivateledatabaze;heslouzivateledatabaze;world"
 
WorldDatabaseInfo    = "127.0.0.1;3306;jmenouzivateledatabaze;heslouzivateledatabaze;world"
CharacterDatabaseInfo = "127.0.0.1;3306;jmenouzivateledatabaze;heslouzivateledatabaze;characters"
+
CharacterDatabaseInfo = "127.0.0.1;3306;jmenouzivateledatabaze;heslouzivateledatabaze;characters"</pre>
  
  
Řádek 199: Řádek 189:
 
V souboru trinityrealm.conf je tento řádek:
 
V souboru trinityrealm.conf je tento řádek:
  
LoginDatabaseInfo = "127.0.0.1;3306;jmenouzivateledatabaze;heslouzivateledatabaze;realmd"
+
<pre>LoginDatabaseInfo = "127.0.0.1;3306;jmenouzivateledatabaze;heslouzivateledatabaze;realmd"</pre>
 
 
  
  
Řádek 208: Řádek 197:
  
  
Extrahování dbc a maps ze hry World of Warcraft:
+
==Extrahování DBC souborů a map z klienta==
  
 
Když teď zkusíme zapnout Trinity (jen tak mimochodem, binární soubory jsou ve složce build/bin), samozřejmě nebude fungovat. Chybí nám totiž vyextrahované soubory z WoW!
 
Když teď zkusíme zapnout Trinity (jen tak mimochodem, binární soubory jsou ve složce build/bin), samozřejmě nebude fungovat. Chybí nám totiž vyextrahované soubory z WoW!
 
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.
 
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.
  
POZNÁMKA: Mě nikdy ad nefungoval, a nechtěl jsem nic znovu kompilovat, takže jsem použil program ad.exe. Pokud vám ad také nefunguje, použijte ad.exe místo ad v následujících krocích:
+
''POZNÁMKA: Mě nikdy ad nefungoval, a nechtěl jsem nic znovu kompilovat, takže jsem použil program ad.exe. Pokud vám ad také nefunguje, použijte ad.exe místo ad v následujících krocích:''
  
 
Zkopírujeme ad do složky s WoW. Až tam budeme, spustíme program příkazem
 
Zkopírujeme ad do složky s WoW. Až tam budeme, spustíme program příkazem
  
./ad
+
<pre>./ad</pre>
  
  
 
V případě že používáte ad.exe, spusťte jej pomocí programu wine (
 
V případě že používáte ad.exe, spusťte jej pomocí programu wine (
  
sudo apt-get install wine
+
Pro Debian/Ubuntu: <pre>sudo apt-get install wine</pre>
 +
Pro Fedoru/Centos: <pre>yum install wine</pre>
  
 
) příkazem
 
) příkazem
  
wine ad.exe
+
<pre>wine ad.exe</pre>
  
  
 
Až program ad skončí (řád desítek minut), budete mít ve složce s WoW 2 nové složky: maps a dbc.
 
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. Nyní už KONEČNĚ náš vytoužený server funguje? Kdepak :whistling:
+
Obě tyto složky zkopírujeme do složky bin - build/bin. Nyní už KONEČNĚ náš vytoužený server funguje? Kdepak.
 
Ještě není nahraná databáze!
 
Ještě není nahraná databáze!
  
  
NAHRÁVÁNÍ DATABÁZE TDB
+
==Nahrání databáze TDB==
  
 
Trinity Core využívá vlastní databázi, podobnou (velmi) databázi udb.
 
Trinity Core využívá vlastní databázi, podobnou (velmi) databázi udb.
Řádek 249: Řádek 239:
 
Teď si poctivě stáhneme celou databázi world:
 
Teď si poctivě stáhneme celou databázi world:
  
http://svn.assembla.com/svn/trinitydatabase/trunk/full_db/
+
<pre>http://svn.assembla.com/svn/trinitydatabase/trunk/full_db/</pre>
 
 
  
  
Stahujeme vždy databázi s nejvyšším číslem! V době psaní tohoto článku byla nejvyšší databáze 0.0.5 - pro revize Trinity 5254.
+
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 (je možné že to bude chvíli trvat).
 
Až celý velký soubor stáhneme, rozbalíme ho. Poté celý soubor vložíme do databáze world (je možné že to bude chvíli trvat).
Řádek 268: Řádek 257:
  
  
Jak používat příkazy:
+
==Jak používat příkazy==
  
 
Vcelku jednoduše. 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.
 
Vcelku jednoduše. 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áže příkaz
 
Dostupné příkazy v konzoli vám ukáže příkaz
  
help
+
<pre>help</pre>
  
 
. Příkazy jsou téměř stejné jak na MaNGOSu.
 
. Příkazy jsou téměř stejné jak na MaNGOSu.
Řádek 280: Řádek 269:
 
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
 
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
+
<pre>.help</pre>
  
  
 +
==Restartér==
  
KONEC :nw2_guitar:
+
Dovolil jsem si vzít několik let starý bash kód, který zde někde napsal uživatel Charlie, a trochu ho upravil:
  
Kdyžtak mi to trochu zkritizujte je to můj první návod ;)
+
<pre>#!/bin/sh
 
 
 
 
RESTARTÉR - Update:
 
 
 
Dovolil jsem si vzít několik let starý bash kód, který zde někde napsal uživatel charlie, a trochu ho upravil:
 
 
 
#!/bin/sh
 
  
 
while true
 
while true
Řádek 320: Řádek 303:
 
    
 
    
  
done
+
done</pre>
 
 
 
 
  
 
Vytvořte si v té samé složce, jako máte server (trinity-core a trinity-realm), soubor
 
Vytvořte si v té samé složce, jako máte server (trinity-core a trinity-realm), soubor
  
restarter.sh
+
<pre>restarter.sh</pre>
 
 
  
 
Tento soubor si otevřete (třeba v programu gedit), a zkopírujte do něj výše uvedený kód.
 
Tento soubor si otevřete (třeba v programu gedit), a zkopírujte do něj výše uvedený kód.
 
Pak soubor vklidu uložte a zavřete.
 
Pak soubor vklidu uložte a zavřete.
  
O co se jedná?
+
 
 +
'''O co se jedná?'''
 +
 
 
Je to restartér - program, který každých 10 sekund zkontroluje, jestli trinity server a trinity realm běží. Pokud ne, zapne je (zapnout se do programu screen).
 
Je to restartér - program, který každých 10 sekund zkontroluje, jestli trinity server a trinity realm běží. Pokud ne, zapne je (zapnout se do programu screen).
 
Screen je taková zvláštní aplikace, která umožňuje běh různých takovýchto daemonů na pozadí. Zkrátka nám jde o to že server se sám nahodí do 10ti sekund :)
 
Screen je taková zvláštní aplikace, která umožňuje běh různých takovýchto daemonů na pozadí. Zkrátka nám jde o to že server se sám nahodí do 10ti sekund :)
  
Jak program použít?
+
 
 +
'''Jak program použít?'''
  
 
Jděte do složky s vaším trinity serverem (a restartérem), otevřete v ní terminál (příkazový řádek), a zadejte:
 
Jděte do složky s vaším trinity serverem (a restartérem), otevřete v ní terminál (příkazový řádek), a zadejte:
  
bash restarter.sh
+
<pre>bash restarter.sh</pre>
 
 
 
 
  
 
Nyní vám v tomto okně běží restartér, který vás při pádu trinity upozorní (vypíše text), a sám server nahodí!
 
Nyní vám v tomto okně běží restartér, který vás při pádu trinity upozorní (vypíše text), a sám server nahodí!
  
POZOR: V případě že máte konfigurační soubory umístěny jinak než je standartní po instalaci serveru, upravte cesty ve vašem restartéru, jinak vám nebude fungovat!
 
 
Tento příspěvek byl upraven uživatelem mimars: 17.listopad 2009, 14:25
 
Kompilace TrinityCore 2 na Linuxu + Restartér
 
  
Kompletní Jail systém pro Trinity Core 1 a 2 (ve vývoji)!  
+
'''POZOR:''' V případě že máte konfigurační soubory umístěny jinak než je standartní po instalaci serveru, upravte cesty ve vašem restartéru, jinak vám nebude fungovat!
  
  

Verze z 2. 1. 2010, 15:44

Kompilace TrinityCore 2 na Linuxu

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 openssl openssl-devel patch mysql-devel \
mysql-server mysql mysql-libs readline readline-devel compat-readline5-devel compat-readline5 zlib-devel


Sestavení ACE

Takže nejdříve si ve svém domovském adresáři vytvoříme složku ACE-build. Tato knihovna je nutná pro správný chod serveru. Otevřeme terminál a přesuneme se s ním do právě vytvořené složky ACE-build (cd ./ACE-build)


Staré

Tento program musíme nejdříve stáhnout (zdrojové kódy). To provedeme příkazem:

wget http://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.0.tar.gz


Stáhli jsme zabalený archiv. Ten příkazem

tar xvzf ACE-5.7.0.tar.gz

rozbalíme.


Nové

Už je nová verze ACE - 5.7.4 - DOPORUČUJI aby jste si stáhli nejnovější verzi!!! Kompatibilita nejnovějších Trinity revizí nemusí být se staršími ACE.

wget http://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.4.tar.gz


A teď rozbalit:

tar xvzf ACE-5.7.4.tar.gz


Nakonec z divného názvu rozbalené složky - ACE_wrappers uděláme název normální - ACE - příkazem:

mv ACE_wrappers ACE


Příkazem

cd ./ACE

se přesuneme do ACE složky.

Nyní přichází na řadu kompilace. Tu provedeme těmito příkazy:

mkdir build
cd build
../configure --prefix=/home/VASESLOZKA/.sys/


POZOR: Do příkazu konfigurace vyplňte jméno vašeho domovského adresáře!!

A nyní už opravdu samotná kompilace:

make
sudo 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!!

mkdir -p /home/VASESLOZKA/.sys/sources && cd /home/VASESLOZKA/.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=/home/VASESLOZKA/.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 2

A nyní už samotná kompilace Trinity:

Vytvoříme si v domovském adresáři složku Trinity2-build. Do této složky se ihned přesuneme. A příkazem stáhneme nejnovější revizi TrinityCore 2:

hg clone http://dev.trinitycore.org/trinitycore2

POZNÁMKA: V případě, že chcete stáhnou přímo nějakou revizi, použijte místo tohoto příkazu příkaz:

hg clone --rev <revision number> http://dev.trinitycore.org/trinitycore2


Příčemž místo <revision number> zadejte číslo revize - třeba 6067, to už je na vás.


Aplikace patche

Někde na internetu můžete najít patch do trinity. Ten aplikujete takto: Přesunete se do složky, kam jste právě stáhli trinity, příkazem

cd ./trinitycore2


Aplikace patche:

Vlastní patch:

patch -p0 < soubor.patch


Patch z gitu:

git apply soubor.patch


Případné nejasnosti pište do komentářů.

(Děkuji uživateli Visky za doplnění aplikace patche.)


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 ./trinitycore2

A můžeme začít vesele kompilovat:

cmake -DPREFIX=/home/VASESLOZKA/build -DACE_LIBRARY=/home/VASESLOZKA/.sys/lib/libACE.so -DACE_INCLUDE_DIR=/home/VASESLOZKA/.sys/include/


Opět upozorňuji na zadaní vašeho domovského adresáře místo VASESLOZKA.

make
sudo make install

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 2 konfigurační soubory:

  • trinitycore.conf.dist
  • trinityrealm.conf.dist


Tyto soubory nejprve příkazem sudo chmod 777 * udělejte zapisovatelnými, poté je přejmenujte - smažte .dist a poté je otevřete. U obou je hned zezačátku několik řádků nastavení databáze. Ty musíte správně vyplnit:

LoginDatabaseInfo     = "127.0.0.1;3306;jmenouzivateledatabaze;heslouzivateledatabaze;realmd"
WorldDatabaseInfo     = "127.0.0.1;3306;jmenouzivateledatabaze;heslouzivateledatabaze;world"
CharacterDatabaseInfo = "127.0.0.1;3306;jmenouzivateledatabaze;heslouzivateledatabaze;characters"


Tyto hodnoty pravdivě vyplňte.

V souboru trinityrealm.conf je tento řádek:

LoginDatabaseInfo = "127.0.0.1;3306;jmenouzivateledatabaze;heslouzivateledatabaze;realmd"


Tyto údaje vyplňte pravdivě.

Nyní následuje jedna z neojtravnějších pasáží :D


Extrahování DBC souborů a map z klienta

Když teď zkusíme zapnout Trinity (jen tak mimochodem, binární soubory jsou ve složce build/bin), samozřejmě nebude fungovat. Chybí nám totiž vyextrahované soubory z WoW! 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.

POZNÁMKA: Mě nikdy ad nefungoval, a nechtěl jsem nic znovu kompilovat, takže jsem použil program ad.exe. Pokud vám ad také nefunguje, použijte ad.exe místo ad v následujících krocích:

Zkopírujeme ad do složky s WoW. Až tam budeme, spustíme program příkazem

./ad


V případě že používáte ad.exe, spusťte jej pomocí programu wine (

Pro Debian/Ubuntu:
sudo apt-get install wine
Pro Fedoru/Centos:
yum install wine

) příkazem

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. Nyní už KONEČNĚ náš vytoužený server funguje? Kdepak. Ještě není nahraná databáze!


Nahrání databáze TDB

Trinity Core využívá vlastní databázi, podobnou (velmi) 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 Pokud vám to nepůjde, opět celé složce změňte práva na 777 - viz. výše. Do databáze characters vložíme soubor ze stejné složky jako realmd, ale SQL se jménem (překvapivě) characters. To samé provedeme s databází world.

Ale ještě stále nejsme u konce! Ještě nám chybí data do databáze world (to co jsme nahráli byla 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 (je možné že to bude chvíli trvat).

Nyní už máme databázi konečně připravenou k použití. Noo, ne tak docela. Ještě chybí update a scripty. Ve složce se SQL soubory (build/share/trinity/sql - opět připomínám) je i složka updates. Z ní musíme nahrát všechny update 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 scripty do world databáze. Tak je všechny postupně vložíme do world databáze.


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ěnte localhost na vaši veřejnou IP adresu. Nyní je váš server připraven k použití a je přístupný.


Jak používat příkazy

Vcelku jednoduše. 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áže příkaz

help

. Příkazy jsou téměř stejné jak na 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

Dovolil jsem si vzít několik let starý bash kód, který zde někde napsal uživatel Charlie, a trochu ho upravil:

#!/bin/sh

while true
do
  PID1=$(pidof trinity-core)
  if (( PID1 < 1 ))
  then
      
        screen -A -m -d -S trinity-core ./trinity-core -c ../etc/trinitycore.conf

        echo Trinity core daemon je offline. Probíhá opětovný start daemona.
  fi

  PID2=$(pidof trinity-realm)
  if (( PID2 < 1 ))
  then
        
       screen -A -m -d -S trinity-realm ./trinity-realm -c ../etc/trinityrealm.conf

       echo Trinity realm daemon je offline. Probíhá opětovný start daemona.

  fi

  sleep 10
  
  

done

Vytvořte si v té samé složce, jako máte server (trinity-core a trinity-realm), soubor

restarter.sh

Tento soubor si otevřete (třeba v programu gedit), a zkopírujte do něj výše uvedený kód. Pak soubor vklidu uložte a zavřete.


O co se jedná?

Je to restartér - program, který každých 10 sekund zkontroluje, jestli trinity server a trinity realm běží. Pokud ne, zapne je (zapnout se do programu screen). Screen je taková zvláštní aplikace, která umožňuje běh různých takovýchto daemonů na pozadí. Zkrátka nám jde o to že server se sám nahodí do 10ti sekund :)


Jak program použít?

Jděte do složky s vaším trinity serverem (a restartérem), otevřete v ní terminál (příkazový řádek), a zadejte:

bash restarter.sh

Nyní vám v tomto okně běží restartér, který vás při pádu trinity upozorní (vypíše text), a sám server nahodí!


POZOR: V případě že máte konfigurační soubory umístěny jinak než je standartní po instalaci serveru, upravte cesty ve vašem restartéru, jinak vám nebude fungovat!


Související