Amaroth Posted January 26, 2024 Share Posted January 26, 2024 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.: 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. English YT tutorial channel. Check it out if you preffer videos over walls of text.:https://www.youtube.com/AmarothEng I am now completely retired from modding. I am still reading PMs and reacting to them, however, I am not keeping up to date with what is going on in the community and my ability to help you is becoming very limited - I no longer remember some things, I don't have tools installed anymore, and I don't know what is up to date nowadays. Link to comment Share on other sites More sharing options...
[3.3.5a][Linux] - 03b Instalace serveru
By Amarothin Česky
Recommended Posts