TrinityCore na Linuxu: Porovnání verzí

Z WoWResource Wiki
Přejít na: navigace, hledání
(Odkaz na restarter.)
(další pročištění)
Řádek 4: Řádek 4:
 
<pre>mkdir /opt/trinitycore
 
<pre>mkdir /opt/trinitycore
 
cd /opt/trinitycore</pre>
 
cd /opt/trinitycore</pre>
 +
 +
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ů==
 
==Instalace balíčků==
Řádek 53: Řádek 58:
 
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!!
  
<pre>mkdir -p /opt/trinitycore/.sys/sources && cd /opt/trinitycore/.sys/sources</pre>
+
<pre>cd /opt/trinitycore
 +
mkdir -p .sys/sources  
 +
cd .sys/sources</pre>
  
  
Řádek 59: Řádek 66:
 
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:
  
<pre>cd /opt/trinitycore
+
<pre>wget http://www.openssl.org/source/openssl-0.9.8k.tar.gz
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</pre>
 
cd openssl-0.9.8k</pre>
Řádek 147: Řádek 153:
 
* trinityrealm.conf.dist
 
* trinityrealm.conf.dist
  
 +
Vytvořete si pracovní kopie těchto souborů pomocí
 +
<pre>cp trinitycore.conf.dist trinitycore.conf
 +
cp trinityrealm.conf.dist trinityrealm.conf</pre>
  
Tyto soubory nejprve příkazem sudo chmod 777 * udělejte zapisovatelnými, poté je přejmenujte - smažte .dist a poté je otevřete.
+
Upravte jejich obsah a nastavte přísupové údaje pro připojení k databázi.
U obou je hned zezačátku několik řádků nastavení databáze. Ty musíte správně vyplnit:
 
 
 
<pre>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"</pre>
 
 
 
 
 
Tyto hodnoty pravdivě vyplňte.
 
 
 
V souboru trinityrealm.conf je tento řádek:
 
 
 
<pre>LoginDatabaseInfo = "127.0.0.1;3306;jmenouzivateledatabaze;heslouzivateledatabaze;realmd"</pre>
 
  
 +
<pre>LoginDatabaseInfo    = "127.0.0.1;3306;jmeno;heslo;realmd"
 +
WorldDatabaseInfo    = "127.0.0.1;3306;jmeno;heslo;world"
 +
CharacterDatabaseInfo = "127.0.0.1;3306;jmeno;heslo;characters"</pre>
  
Tyto údaje vyplňte pravdivě.
+
V souboru trinityrealm.conf pak
  
Nyní následuje jedna z neojtravnějších pasáží :D
+
<pre>LoginDatabaseInfo = "127.0.0.1;3306;jmeno;heslo;realmd"</pre>
  
 
==Extrahování DBC souborů a map z klienta==
 
==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í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.
 
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 spustíme jej zde
 
 
Zkopírujeme ad do složky s WoW. Až tam budeme, spustíme program příkazem
 
  
 
<pre>./ad</pre>
 
<pre>./ad</pre>
  
 
+
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
V případě že používáte ad.exe, spusťte jej pomocí programu wine (
 
  
 
Pro Debian/Ubuntu: <pre>sudo apt-get install wine</pre>
 
Pro Debian/Ubuntu: <pre>sudo apt-get install wine</pre>
 
Pro Fedoru/Centos: <pre>yum install wine</pre>
 
Pro Fedoru/Centos: <pre>yum install wine</pre>
  
) příkazem
+
Pak lze program spustit přímo
 
+
<pre>./ad.exe</pre>
 +
nebo
 
<pre>wine ad.exe</pre>
 
<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.
+
Obě tyto složky zkopírujeme do složky bin - build/bin.  
Ještě není nahraná databáze!
 
  
 
==Nahrání databáze TDB==
 
==Nahrání databáze TDB==

Verze z 2. 3. 2010, 09:21

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

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

Vytvořete si pracovní kopie těchto souborů pomocí

cp trinitycore.conf.dist trinitycore.conf
cp trinityrealm.conf.dist trinityrealm.conf

Upravte jejich obsah a nastavte přísupové údaje pro připojení k databázi.

LoginDatabaseInfo     = "127.0.0.1;3306;jmeno;heslo;realmd"
WorldDatabaseInfo     = "127.0.0.1;3306;jmeno;heslo;world"
CharacterDatabaseInfo = "127.0.0.1;3306;jmeno;heslo;characters"

V souboru trinityrealm.conf pak

LoginDatabaseInfo = "127.0.0.1;3306;jmeno;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

Pro Debian/Ubuntu:
sudo apt-get install wine
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, 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

Pokud chcete zajistit, aby se vám automaticky TrinityCore spouštělo ihned po ukončení (často selhání), musíte použít Restarter.

Související

Externí odkazy