[3.3.5a][Linux] - 03b Instalace serveru


Description

Návod na instalaci TrinityCore2 na Linuxový server za použití konzole (a vzdáleného přístupu). Je záměrně psaný tak, aby byl zvládnutelný i pro někoho, kdo v životě neviděl PuTTy a Linux, ostatní snad prominou totální noobovzdornost a pro vás nepotřebné pasáže prostě přeskočte.

Pro někoho tohle bude otravou, pro někoho velkou úlevou - návod na Linux bude počítat s tím, že jste v životě neviděli konzoli Linuxu ani dálkové přístupy na VPS server, na který budete s nejvyšší pravděpodobností core instalovat. Návod vypadá šíleně, ale ve výsledku pro vás bude jen opakovaným kopírováním mnou připravených příkazů. Předpokládám, že si zkusíte nejdříve nainstalovat testovací Windowsový server u sebe a že pak si, s nejvyšší pravděpodobností, někde pořídíte VPS s Linuxem. Pokud jde o výběr konkrétního Linuxu, nikdy jsem neměl důvod si stěžovat na Debian. Na jiné se můžou některé kroky v návodu trochu lišit a budete si muset sami dogooglit v čem. Pokud jde o HW nároky serveru, na disku zabere i se systémem z pravidla něco mezi 7 a 10GB, RAM stačí 4GB a CPU doporučuji alespoň dvoujádro o taktu alespoň 2.5GHz. Takovýto stroj by vám měl naprosto bez problémů utáhnout 100 hráčů online, pro větší servery si budete muset konfiguraci HW odhadnout a ideálně i vyzkoušet sami, nemám s takovými projekty vlastní zkušenosti.

Potřebné programy

Nalinkované v samotném návodu, případně v návodu sesterském.

Potřebné počáteční znalosti

Předpokládá se, že jste si prošli předchozí části tohoto návodu a máte základní přehled, jak funguje TrinityCore2 server. V ideálním případě jste také již prošli sesterský návod pro Windows.

Jak na dálkový přístup

Na přístup do serveru budeme potřebovat 2 programy, prvním je PuTTy, přes který polezeme do příkazového řádku, druhým je WinSCP (pokud jste více spřátelení s jinou alternativou jako Filezilla, klidně použijte tu). V obou si nastavte IP vaší VPS, port 22 a zkontrolujte, že máte u PuTTy connection type SSH a u WinSCP přenosový protokol SFTP. Ve WinSCP také vyplníte login (admin je z pravidla root) a heslo (to dostanete od poskytovatele při zřízení služby). Údaje pro připojení si v obou můžete uložit. Pro jistotu screen.:

rozvrh.jpg

WinSCP vám bude sloužit pro nahrávání dat, která server potřebuje, a dále pro úpravu souborů. PuTTy vás provede instalacemi. První co budete chtít pravděpodobně udělat, je změnit si heslo, které vám nastavil poskytovatel. Značka $ bude od teď vždy označovat příkaz, který přijde do konzole (tu značku tam nekopírujte, do příkazu nepatří, ale u příkazů přes více řádků vám bude v návodu přehledně rozlišovat, kde začíná další). Napište do konzole následující příkaz, stiskněte enter a vyplňte staré a pak 2x nové heslo, až je po vás systém bude chtít.:

$ passwd

Poznámka: Pokud si u sebe v počítači dáte něco na ctrl+c, do konzole to nakopírujete přes shift+insert. Opačně, z konzole kopírujete přes ctrl+insert a pak do počítače vkládáte už přes klasické ctrl+v.

Poznámka 2: V Linuxu jsou na rozdíl od Windowsu rozlišována velká a malá písmena (hlavně v názvech složek/souborů apod.), pozor na to.

Příprava před kompilací

V první řadě si zaktualizujte aptitude.:

$ aptitude update

Pokračovat budeme vytvořením druhého účtu do systému, který bude mít zvýšená práva, avšak nebude na úrovni roota (volně přeloženo, trochu "bezpečnější" účet než root na to, abyste jej např. půjčili někomu, kdo vám se serverem pomáhá apod.). Rovněž se nedoporučuje nechávat běžet servery přímo pod účtem root. Dále si nainstalujeme sudo. Během instalací všeho možného většinou dostanete otázku <Y/n>. Napište do konzole vždy Y a zmáčkněte enter. Příkazy posílejte postupně po jednom. U sudo adduser si zvolte libovolné jméno nového uživatele, já použiji třeba trinity.

$ aptitude install sudo
$ sudo adduser trinity
$ sudo adduser trinity sudo

Máme účet, na kterém server pojede, až bude fungovat. Nyní je na čase dát dohromady samotné TrinityCore2. Nakopírujte do konzole následující 3 příkazy.:

$ sudo apt-get install openssl libssl-dev mysql-server mysql-client libmysqlclient-dev libmysql++-dev libreadline6-dev

$ sudo apt-get install openssl libssl-dev mysql-server mysql-client libmysqlclient-dev libmysql++-dev libreadline6-dev

$ sudo apt-get install libboost-dev libboost-thread-dev libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-iostreams-dev

Během instalace MySQL budete tázáni na root heslo do databáze. Zvolte si nějaké, které nezapomenete, budete jej potřebovat později. Nyní máte vše potřebné ke kompilaci.

Zdrojové kódy a kompilace

Následující příkazy vás vrátí do kořenového adresáře pro případ, že byste v něm nebyli a stáhnou vám zdrojové kódy TrinityCore.

$ cd ~/
$ git clone -b 3.3.5 git://github.com/TrinityCore/TrinityCore.git

A nyní si připravíme zdrojáky na kompilaci. Nastavení u cmaku můžete zvolit i jiné (můžete zvolit např. jiné cesty), nicméně pokud toto čtete, jste začátečníci a nedoporučuji vám se u prvního serveru moc toulat na vlastní pěst s experimenty.

$ cd TrinityCore
$ mkdir build
$ cd build

$ cmake ../ -DCMAKE_INSTALL_PREFIX=/home/trinity/server -DCONF_DIR=/home/trinity/server/etc -DLIBSDIR=/home/trinity/server/lib

Nyní kompilace a instalace. Místo make -j použijte jen make, pokud máte pouze 1 CPU (což drtivá většina serverů nemá, ověřte si, kolik CPU jader má vaše VPS). U příkazu make -j vyplňte svůj počet jader procesoru, pro mě to jsou 2.

$ make -j 2
$ make install

Aktualizace coru

V případě, že byste chtěli někdy zaktualizovat svoje TrinityCore, běžte ve WinSCP do cesty /root/TrinityCore/build, vše v této složce smažte (to je vhodné udělat před každou kompilací, ne vždy nutné ale pro vás bezpečnější) a pak použijte následující příkazy (zase si případně upravte počet jader CPU či použijte make místo make -j, také si případně upravte cesty a další nastavení u cmaku podle potřeby).:

$ cd ~/TrinityCore/
$ git pull origin 3.3.5

$ cmake ../ -DCMAKE_INSTALL_PREFIX=/home/trinity/server -DCONF_DIR=/home/trinity/server/etc -DLIBSDIR=/home/trinity/server/lib

$ make -j 2
$ make install

Příprava MySQL serveru

MySQL už máte nainstalované, nicméně je třeba mít do něj také přístupy, jinak vám je k ničemu.:

$ cd ~/
$ mysql -u root -p

Vyplňte heslo, které jste si zvolili při instalaci a dostanete se do konzole MySQL. Nyní si vytvořte uživatele (jméno a heslo si zvolte nějaké svoje, pozor na správné umístění ' mimochodem) a dejte mu plná oprávnění.:

$ CREATE USER 'login'@'%' IDENTIFIED BY 'heslo';
$ GRANT ALL PRIVILEGES ON *.* TO 'login'@'%'
WITH GRANT OPTION;

Dále přes WinSCP dojděte do cesty /etc/mysql/, otevřete my.cnf dvojklikem a ověřte si, zda je bind-address = 127.0.0.1. Pokud ano, přepište 127.0.0.1 na IP vaší VPSky, aby byl MySQL server přístupný z vnějšku, ne jen ze systému. Nyní byste měli mít možnost se přes svůj nový účet do MySQL normálně připojit. Pokud ano, dejte si dohromady databázi. Postup je naprosto identický jako na Windows (tedy viz druhý 03 návod). Potřebujete tedy vytvořit účet pro trinitycore, vytvořit auth, characters a world databáze a ty naplnit tabulkami a výchozími daty.

Data pro servery a konfigurace

Ve složce, kam jste si nainstalovali TrinityCore (tedy pro nás to bylo /home/trinity/server/) nyní budeme pracovat s WinSCP. Měli byste zde mít složku bin, ve které je authserver a worldserver, a dále složku etc, kde máte konfiguráky s příponou .dist, což jsou čistě záložní soubory. Udělejte si kopii konfiguráků (klik pravý tlačítkem a Duplikovat) a odmažte z názvu kopie to .dist na konci. Konfiguráky otevřete.

Znak # označuje jen komentář a vše co je za ním až do konce řádku je ignorováno. Needitujte proto prosím řádky začínající #, protože to nic neudělá a jen si dobrovolně odmažete dokumentaci od tvůrců emulátoru. V konfigurácích vás budou zajímat hlavně přístupy do databází. Najděte přes ctrl+f v obou konfigurácích podobný řádek.:

"127.0.0.1;3306;trinity;trinity;auth"

pro každou databázi. 127.0.0.1 přepiště na IP vaší VPS a ujistěte se, že sedí i ostatní údaje (tedy přístupy pro trinity do MySQL, které jste měli během instalace databází vytvořit).

Dále věnujte ve worldserver.conf také pozornost čemukoliv, co nějak souvisí s mmapami a vmapami. Pokud je nebudete chtít používat, vypněte je zde. Můžete také omrknout DataDir a LogsDir, pro případ, že chcete upravit cesty, kde budou uloženy mapy, dbc, vmapy, mmapy a případně logy. Osobně doporučuji tyto cesty nastavit následujícím způsobem.:

DataDir = "/home/trinity/server/data"
LogsDir = "/home/trinity/server/logs"

Další nastavení v konfiguráku můžete alespoň zatím přeskočit a případně si jej projít později. Pro funkčnost serveru tohle postačí.

DBC, mapy, vmapy, mmapy

Postup pro získání těchto dat je zcela identický jako u Windows (4. část druhého 03 návodu). Jakmile budete mít všechna data, uploadněte je přes WinSCP do cesty, kterou jste v konfigu nastavili jako DataDir. V našem případě tedy nejspíše budete mít na příklad všechna DBCčka v /home/trinity/server/data/dbc/. Nyní je server připravený na spuštění, budeme však potřebovat restarter, aby nám sám znovu nabíhal po restartu a aby nám jel na pozadí.

Restarter

Na restarter již existuje český návod zde. Jakkoliv je tento restarter trochu prasácký (a ne úplně ideální pro více realmů), já jej používám dodnes a stačí mi ke štěstí. Budete si jen muset přepsat v restarteru cesty tak, aby pasovaly k vám. To, že je psaný na Mangos neřešte - pokud správně přepíšete názvy souborů (a cesty), bude fungovat bez rozdílu i pro TC2. Malý tip, pro vytvoření souborů restarteru vlezte do WinSCP, klikněte pravým tlačítkem myši a dejte Nový, Soubor. Editujte soubory výhradně jen přímo ve WinSCP. Nějaký texťák vytvořený a upravený ve Windows a pak uploadnutý vám vážně nebude fungovat, nebudu vás zatěžovat vysvětlováním proč (pokud to nevíte sami).

Závěr

Jakkoliv jsem se vynasnažil návod napsat tak, aby i naprostý Linuxový negramot dokázal na Linuxu zprovoznit plně funkční server, důrazně doporučuji si přečíst něco o Linuxu a projít si základními návody k němu. Ryan Chadwick udělal skvělou sérii kterou mohu vřele doporučit, snad se alespoň u ní přenesete přes angličtinu.



Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now