This is a read only copy without any forum functionality of the old Modcraft forum.
If there is anything that you would like to have removed, message me on Discord via Kaev#5208.
Big thanks to Alastor for making this copy!

Menu

Author Topic: 03 - Instalace testovacího serveru  (Read 1976 times)

Amaroth

  • Contributors
  • Creator of Worlds
  • *****
  • Posts: 1219
    • View Profile
    • Amaroth's Tools
03 - Instalace testovacího serveru
« on: April 05, 2015, 11:28:17 pm »
[paragraph:2stxaoxy]Pokud chcete dělat jen úpravy textur, map nebo DBCček, která není třeba nahrát na server, aby se úpravy správně projevily v plném rozsahu (volně přeloženo úpravy jen vizuálních aspektů hry), testovací server nutně nepotřebujete a tím pádem můžete i zvážit přeskočení celého tohoto návodu. Nicméně v rámci pochopení, co jak funguje a co jak lze upravovat doporučuji krok instalace testovacího serveru projít. Pro ostatní, pokud jste opravdu hodně líní, můžete si stáhnout nějaký co nejnovější TrinityCore2 repack a podle návodu k němu přiloženému jej zkusit rozchodit. Já jsem repacky nikdy nepoužíval (jen jednou mangosácký před X lety), takže v tomto směru se mě moc nesnažte kontaktovat, pokud budete mít problémy.

Já se zde budu zabývat skutečnou instalací nejnovější revize TrinityCore, přesněji získání a nakonfigurování jeho zdrojového kódu a následnou kompilací, vytvořením MySQL serveru, jeho konfigurací a celkovým zprovozněním serveru. Vypadá to šíleně a složitě, ale jednotlivé kroky jsou velice jednoduché. Pravda, pokud jste naprostí začátečníci a v životě jste nic podobného nedělali, může se vám stát, že u některých kroků zamrznete a zprovoznění serveru vám tak zabere dost dlouhou dobu, nicméně jak říkám, jednotlivé kroky jsou poměrně jednoduché, já se je pokusím popsat co nejnázorněji a doufám, že s nimi nikdo nebude mít příliš velké problémy. Nakonec strávíte většinu času jen čekáním, až proběhne nějaká dlouho trvající hromada operací.

Abych ještě vysvětlil, proč nevolím repack (přičemž i Steff repacky doporučuje a zřejmě i používá). Repacky mají sklon být zastaralé, to je jedna a někdy překážející věc, mnohem důležitější je ale fakt, že stažením a rozběhnutím repacku se naučíte naprosto velké kulové. Není nic nešťastnějšího, než člověk, který se snaží vrtat ve věcech, o kterých absolutně nic neví. Tato série návodů a Modcraft jako projekt celkově vás mají naučit, jak se věci dělají, ne je obcházet a jen stahovat práci jiných. Už jen během spouštění serveru se mnohé naučíte, a nabyté zkušenosti se vám budou hodit jak při vývoji, tak při případném rozbíhání vlastního ostrého serveru pro hráče.

Pokud jedete na OS X, nemám vám jak pomoct. Návod jsem se snažil doplnit o snad dostatečné množství názorných screenů, jsou zde na ně pouze odkazy, i bez zobrazených obrázků je tahle zeď docela dlouhá. První část návodu (Win) je pro Windows, druhá je Linuxová.

Původní návod (OS X uživatelé se budou muset spokojit s ním) je zde.

Důležitá poznámka na konec (nebo spíše na skutečný začátek). Každá krok vždy přečtěte úplně celý a teprve pak až jej začněte postupně provádět. Vyhnete se tak nutnosti něco instalovat znovu atd.[/paragraph:2stxaoxy]

Potřebné programy


[paragraph:2stxaoxy]V samotném návodu.[/paragraph:2stxaoxy]

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


[paragraph:2stxaoxy]Předpokládá se, že jste si prošli 1. dílem návodů a máte tedy alespoň obecný přehled o tom, jak funguje hra a jak server. V Linuxové sekci se nepředpokládá žádná znalost s Linxem a je tak napsána tak noob-friendly, jak to jen jde.[/paragraph:2stxaoxy]

Win - 1 - potřebný software


[paragraph:2stxaoxy]Aplikace potřebné na rozběhnutí serveru jsem hned z několika důvodů nehodil do tutoriálového packu, nicméně dodám sem linky k jejich stažení. Vyjma samotného programu k přeložení kódu nezaberou moc místa. Po úspěšném rozběhnutí serveru budete moci drtivou většinu smazat, pokud nebudete chtít emulátor už nikdy aktualizovat. Dejte si pozor, abyste všude nastavovali a vybírali správně svůj typ procesoru a systému (32-bit nebo 64-bit).
*GitExtensions
Stáhněte si instalátor při instalaci se ujistěte, že máte zaškrtnuté Git, MySYSGit i KDiff. Potřebujete všechny 3. Instalace pak bude pokračovat ve třech fázích, pro každou aplikaci jedna. Všude nechte výchozí hodnoty vyjma Gitu. Na jedné ze stránek budete mít možnost zaškrtnout Run Git from the Windows command prompt. Učiňte tak, jinak vám nepoběží konfigurace zdrojáků před kompilací.
*Visual Studio Community 2013 with Update 4
Zde není moc co říct, naše nejotravněji velká aplikace, holt ji budete muset překousnout. Snad jen si dejte pozor, ať stáhnete, co máte, stránka je poněkud nepřehledná. Doporučuji jej hned po instalaci bezplatně registrovat, ať vám to pořád neřve.
*MySQL Server Community Edition
Náš MySQL server, na kterém pojedou všechny 3 databáze, potřebné pro fungování emulátoru. Stáhněte a nainstalujte si nejnovější 5.6.x verzi. Po instalaci nechte zaškrtnuté Launch configuration wizard (najít tuto konfiguraci dodatečně jinou cestou než skrze instalátor jde, ale většinou hodně mizerně).
Při konfiguraci nechte vše ve výchozí podobě, snad jen budete chtít nastavit svůj počítač jako Developer machine a také si nastavte výchozí přístupový účet (root). Heslo si tam nechte klidně klasické root, do vašeho MySQL serveru přes tento přístup stejně nikdo nevleze (pokud nebude u vašeho počítače).
*SQLYog Community Edition
Náš editor pro databáze. Je možné použít i HeidySQL nebo MySQL Workbench, případně MySQL cli. NEPOUŽÍVEJTE Navicat, ne při nastavování databází. Až se budete hrabat přímo v už fungující a hotové databázi, klidně si běhejte kolem s navikočkou, ale na její prvotní vytvoření a nastavení Navicat nepoužívejte (a na vytváření nebo dokonce nahrávání záloh raději také ne) - byli jste varováni.
*Boost
Stáhněte si nejnovější Release verzi pro váš operační systém. V instalaci nechte výchozí nastavení (i pro cestu).
Pak si otevřete Ovládací panely, pokračujte do Systém a zabezpečení, dále jděte do Systém, Upřesnit nastavení systému (vlevo). V okně, které se vám objeví, klikněte na Proměnné prostředí, pak klikněte na Nová..., a vyplňte:[/paragraph:2stxaoxy]
Code: [Select]
BOOST_ROOT
C:/local/boost_1_57_0
[paragraph:2stxaoxy]Pokud budete mít novější verzi Boostu jak 1.57, na příklad 1.58, vyplníte 58čku místo 57čky. Screen pro ty, které jsem zmátl v té štrece k nastavení:
http://s13.postimg.org/ce8z1doxz/tmp.jpg
*CMake
Stáhněte si nejnovější win32-x86.exe (i pro 64-bit). Při nastavování je možné, že narazíte na alternativní značení pro Visual Studio. 2013 verze je to samé jako verze 12, a to je to samé jako verze MSC 18.0 (co se týče typu CPU a OS, tam už protentokrát volte správně 32-bit nebo 64-bit). Hlavu za to rozbijte mrkvosoftu, ne mě.
*MySQL dev soubory
Stáhněte si je a dejte někam stranou, budete je potřebovat.
*OpenSSL
Stáhněte si nejnovější verzi, která NENÍ označená jako Light. Pokud máte 64-bitový systém, možná budete muset stáhnout i 32-bit verzi, i 64-bit verzi (tady si nejsem jistý). Během instalace zvolte, ať se vám DLL soubory uloží do cesty /bin, nikoliv do Windows system directory, abyste je byli později schopni snáze najít.
*ZeroMQ
32-bit: http://miru.hk/archive/ZeroMQ-4.0.4~miru1.0-x86.exe
64-bit: http://miru.hk/archive/ZeroMQ-4.0.4~miru1.0-x64.exe[/paragraph:2stxaoxy]

Win - 2 - Instalace emulátoru (a jeho aktualizování)


[paragraph:2stxaoxy]První a trochu zmatenou část máme za sebou, teď to, doufám, jednodušší. Začněte tvorbou složky, do které si budete chtít stáhnout zdrojový kód emulátoru. Na příklad C:Trinity. Klikněte pravým na vaši složku a dále na GitExt Clone... Dále vyplňte:
https://github.com/TrinityCore/TrinityCore
C:Trinity
3.3.5
Nějak takto: http://s1.postimg.org/lm233nlr3/tmp.jpg
A nakonec klikněte na Clone. Stáhne se vám zdrojový kód a pár dalších věcí, které budete potřebovat později.

Nyní potřebujete nakonfigurovat zdrojáky před přeložením. K tomu nám poslouží CMake. Vytvořte si cestu, kde budete chtít mít samotný emulátor serveru, na příklad C:TrinityCore. Spusťte CMake a vyplňte cestu ke zdrojovým kódům a cestu, kde má být přeložený emulátor uložen. Nějak takto:
http://s8.postimg.org/ig4r9f62d/tmp.jpg
Pokračujte kliknutím na Configure. Tady vyplňte svou verzi Visual Studia (pamatujete si ještě na poznámku o bordelu ve značení verze?), tedy verzi 2013 nebo verzi 12, je to to samé (a nezapomeňte si dát pozor na 32/64-bit). Klikněte na Finish. Rozjede se ověření zdrojových kódů. Jen projeďte očima položky k zaškrtnutí a zkontrolujte, že je zaškrtnuto TOOLS. Pak klikněte znovu na Configure. A na konec klikněte na Generate.

Nyní k samotné kompilaci. Vlezte do složky, kam jste nechali CMake připravit zdrojáky k přeložení, u nás to je C:TrinityCore. V této složce byste měli najít soubor TrinityCore.sln (soubor typu solution). Ten otevřete za užití Visual Studia. Nějakou chvíli potrvá, než se vše nahraje. V horním menu klikněte na BUILD a tam na Configuration Manager... Vlevo nahoře vyberte u Active solution configuration možnost Release. Vpravo nahoře vyberte svůj typ systému, tedy 32/64-bit. Okno pak můžete zavřít. Ukázka:
http://s24.postimg.org/vniwo5vr9/tmp.jpg
Nyní klikněte pravým tlačítkem vpravo v okně Solution Explorer na ALL_BUILD a klikněte na Clean. Takto:
http://s10.postimg.org/5yyoy2rih/tmp.jpg
Pak klikněte znovu pravým na ALL_BUILD a klikněte na Build. Kompilace potrvá řádově až několik desítek minut.

Nyní potřebujete serveru ještě sehnat pár věcí, aby fungoval. Začneme DLLky. Tyto 3 potřebujete najít ve zmíněných cestách a zkopírovat je do složky C:TrinityCorebinRelease (v našem případě), kde budete mít po kompilaci samotný emulátor.:[/paragraph:2stxaoxy]
Code: [Select]
libmySQL.dll - C:Program FilesMySQLMySQL Server 5.xlib
libeay32.dll, ssleay32.dll - C:OpenSSL-Win32bin
libzmq-v120-mt-4_0_4.dll - C:Program FilesZeroMQ 4.0.4bin
[paragraph:2stxaoxy]Další potřebné soubory dodáme serveru ve čtvrtém bloku návodu. Pokud byste chtěli někdy aktualizovat svoje core, musíte kliknout pravým tlačítkem na původní složku se zdrojáky (naše staré C:Trinity) a kliknout na GitExt Browse. V něm klikněte na šipku směřující dolů a v okně, co se objeví, klikněte na Pull. Tak zaktualizujete svoje zdrojáky. Pak projeďte celou tuto sekci znovu - tedy spusťe CMake, klikněte na Configure, Generate. Pak otevřete zase solution, dejte vyčistit ALL_BUILD a pak znovu spusťte Build přes ALL_BUILD. Je možné, že budete muset také zaktualizovat svou databázi, na to se podíváme v databázím věnované sekci.
http://s29.postimg.org/8hn1w9i4n/tmp.jpg[/paragraph:2stxaoxy]

Win - 3 - Příprava databází (a jejich aktualizace a zálohování)


[paragraph:2stxaoxy]Nyní se pustíme do databází. MySQL server už máte nainstalovaný a většinu věcí k němu už máte staženou společně se zdrojovými kódy emulátoru, ale ještě vám chybí aktuální databáze world. Tu stáhnete zde. Hledáte soubor TDB 335.X kde X je verze (v době psaní návodu je to 59). Otevřete stránku s poslední verzí TDB a stáhněte ji.

Spusťte si SQLYog (případně alternativu, kterou jste zvolili místo něj, další popis bude dělaný podle Yogu, ale v jiných editorech bude postup velmi podobný). Pokud se tak nestane automaticky se spuštěním aplikace, zvolte v menu File možnost New connection... a v dialogovém okně, které se objeví, klikněte na New... Následně vyplňte název pro připojení (jakýkoliv, třeba Local). Následně musíte vyplnit další specifikace připojení. Do MySQL Host Address vyplňte IP adresu MySQL serveru. V tomto případě děláte lokální server, takže IP adresa bude 127.0.0.1 nebo LocalHost (je to to samé). Username bude root a Password jste si volili při instalaci MySQL serveru (doporučoval jsem vám zvolit taktéž root). Port je vždy 3306. Vypadat by to tedy mělo nějak takto. Pak se zkuste připojit přes Connect. Mělo by se vám podařit dostat se na MySQL server. Pokud ne, zkontrolujte si údaje, hlavně heslo. V nejhorším přeinstalujte server a tentokrát si dejte větší pozor na zadávání hesla při instalaci.

Nyní klikněte pravým tlačítkem myši do levého panelu se stromem databází a v lokální nabídce, která vám vyskočí, zvolte Execute SQL script... V dialogovém okně klikněte na ... a vlezte do následujícího adresáře: C:Trinitysqlcreate. Zvolte soubor create_mysql, ujistěte se, že máte zaškrtnuté Abort on error (toto ve vlastním zájmu NIKDY neodškrtávejte, dokud nebudete velice dobře vědět, co děláte a co přesně všechno je v SQL scriptu, který aktuálně odesíláte serveru). Klikněte na Execute. Měl by se vytvořit účet pro emulátor s plnými přístupy (login trinity, heslo trinity) a dále 3 databáze; auth, characters a world. Nejspíše je hned neuvidíte - v takovém případě restartujte SQLYog (nebo připojení). Měly by se pak již objevit ve stromu databází v levém panelu.

Nyní klikněte pravým na databázi auth, zvolte Import a Execute SQL script... a pokračujte jako v předešlém kroku, nicméně nyní spuťte script auth_database v C:Trinitysqlbase. Tímto scriptem vyplníte auth databázi tabulkami s výchozími daty (většina z nich tedy bude prázdná, jde jen o to je vytvořit). To samé udělejte s databází characters - opět pravým na ní, Execute SQL script a tentokrát ve stejném adresáři zvolte script characters_database. Nakonec proveďte to samé i s databází world, na tu aplikujte script, který jste stáhli na začátku v .7z archivu (ten TDB_verze...). Obsahu složky update_only v archivu si při instalaci nové databáze nevšímejte.

Zcela na závěr ještě přichází nejotravnější část tohoto kroku. Na vaši world databázi opět pošlete scripty, nyní ze složky C:Trinitysqlupdatesworld. Aplikujte na databázi všechny scripty v této složce. Scripty v C:Trinitysqupdatescharacters a C:Trinitysqupdatesauth však NEPOUŽÍVEJTE. Nejsou pro nově nainstalovanou databázi (updaty pro world jsou tedy v tomto výjimkou). V případě, že se pokusíte aplikovat 2x po sobě stejný script, je vysoce pravděpodobné, že vám vyskočí error - ten můžete ignorovat a pokračovat dalšími scripty.

Nyní by měly být všechny tři vaše databáze připravené k použití. Ještě se budu věnovat aktualizaci databází. V první řadě si zaktualizujte emulátor, jak je popsáno na konci 2. sekce návodu. Pak se podívejte, jaká je nejnovější verze databáze ke stažení. Pokud je k dispozici novější revize, než je ta vaše, stáhněte archiv 7z. Pokud si nejste jistí, jakou revizi databáze máte na svém současném serveru, najdete ji v databázi world v tabulce version ve sloupci db_version (tabulku otevřete kliknutím na ní, dále klikněte v hlavičce pravého dolního panelu na záložku Table Data). Z archivu si vezměte pouze scripty ve složce update_only a každý aplikujte na příslušnou databázi. Pokud se vám stane, že "propásnete" více verzí, budete muset postupně aktualizovat svou databázi po jednotlivých verzích (takže přechod z verze 56 na 58 uděláte tak, že nejdříve přejdete na 57 a až pak z hotové 57 na 58, nelze přeskakovat).

Pouze dodám, že aktualizace databáze obsahuje změny struktury některých tabulek a taktéž změny obsahu některých tabulek. Druhá skupina může být velmi nežádoucí u serveru, který nepoužívá blizzlike databázi (což bude případ většiny z vás), proto si vždy udělejte raději zálohu své databáze před její aktualizací. Zálohu lze vytvořit za pomoci funkce Backup Database As SQL Dump v Export/Backup (při kliknutí pravým tlačítkem myši na databázi). Mnohem více ale doporučuji kliknout pravým do stromu databází, zvolit Create Database a vytvořit si takto záložní databáze. Jména si můžete zde dát libovolná (třeba worldbackup atd.), Database charset doporučuji utf8 a Database collation utf8_general_ci. Pak klikněte pravým na původní databázi, zvolte Copy Database to Different Host/Database... a zvolte PEČLIVĚ svou nově vytvořenou záložní databázi. Takto si můžete vytvořit i několik záložních verzí všech databází a v nich se ve všech bez problému hrabat, porovnávat jejich obsah, strukturu atd. - to se vám může velmi hodit, pokud budete mít problémy s aktualizací neblizzlike databáze. Navicat nabízí svůj systém zálohování tabulek a databází, jednoduchý na použití, ale údajně ne úplně spolehlivý.[/paragraph:2stxaoxy]

Win - 4 - poslední přípravy


[paragraph:2stxaoxy]Blížíme se ke konci našeho zdlouhavého tutoriálu. Přejděte do složky, kde máte zkompilovaný emulátor (tedy C:TrinityCorebinRelease. Nejspíše jste si už všimli aplikací mapextractor.exe, vmap4extractor.exe, vmap4assembler.exe a mmaps_generator.exe. Pokud chcete, aby vám server jen "fungoval", můžete v následujících krocích vynechat vše, co se týká mmap a pokud se nepletu, i vmapy můžete ignorovat. Tyto 2 věci jsou pouze volitelné a ve velké zkratce, laicky řečeno, se díky nim budou NPCčka alespoň snažit ve hře tvářit, že vědí, jak vypadá svět kolem nich (a nebudou tedy všude probíhat skrze zdi atd.). Pro testovací lokální server si vystačíte bez nich, jinak se bez nich ale spíše zblázníte. Pokud už máte nějaký svůj patch s vlastní lokací, nebudou vám mapy, vmapy a mmapy správně fungovat ve vašich přidaných oblastech (server nicméně poběží jak má). Této problematice se zde věnovat nebudu, podobné problémy budu řešit v dalších návodech.

Vezměte všechny (až) 4 zmíněné .exe soubory a vložte je do kořenové složky svého herního klienta (tedy C:Program FilesWorld of Warcraft nebo něco podobného). Dále si spusťe poznámkový blok, vytvořte nový soubor, do něj zkopírujte následující:[/paragraph:2stxaoxy]
Code: [Select]
vmap4extractor.exe
md vmaps
vmap4assembler.exe Buildings vmaps
pause
[paragraph:2stxaoxy]Uložte tento nový soubor jako makevmaps_simple.bat (koncovka .bat je důležitá!) do vaší kořenové složky s herním klientem. Nyní spusťte mapextractor a počkejte, než doběhne. Pokračujte spuštěním makevmaps_simple, opět počkejte, než doběhne. Nakonec vytvořte složku mmaps ve vaší složce s WoWkem a spusťte mmaps_generator.exe. Extraktory mohou běžet několik desítek minut až několik hodin (hlavně ten na mmapy), takže si vymezte dostatek času a trpělivosti, protože extrakce umí být dost zatěžující pro počítač. Po dokončení extrakcí zkopírujte složky dbc, maps, vmaps a mmaps do C:TrinitybinRelease.

Nyní se podíváme na konfigurační soubory world a auth serverů. Ve vaší složce Release by měly být authserver.conf a worldserver.conf soubory. Pokud tam najdete stejně pojmenované, ale ještě s příponou .dist za .conf, vytvořte jejich kopie (jako zálohy) a .dist pak odstraňte. Oba soubory si otevřete v nějakém textovém editoru, doporučuji WordPad (klasický poznámkový blok je na podobné věci otřesný). Zde si můžete nastavit mnohé funkce, upravit nastavení serveru. Pokud chcete blizzlike server, nemusíte se zde hrabat takřka vůbec (a u lokálního testovacího serveru už absolutně vůbec), jinak budete možná chtít překopat takřka celé konfiguráky odshora dolů.

Rozhodně byste ale měli věnovat pozornost nastavením vmap a mmap (v závislosti na tom, zda-li jste je extrahovali a chcete je používat je vypněte, nebo zapněte). Taktéž věnujte pozornost proměnným LoginDatabaseInfo, WorldDatabaseInfo a CharacterDatabaseInfo (používejte ctrl+f na hledání v souboru). Ve výchozím nastavení databáze jste si vytvořili účet trinity s heslem trinity a konfigurační soubory obsahují identické údaje pro připojení (na příklad LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;auth"). Jak vidíte, používá se jako výchozí IP local, port 3306, login trinity, heslo trinity. U veřejného serveru patrně budete chtít změnit většinu těchto údajů, ale nyní jen vezměte na vědomí, kde se nastavuje připojení emulátoru na databáze. I u lokálního serveru však budete možná chtít občas změnit alespoň názvy používaných databází, pokud budete na příklad chtít spustit server s alternativní (nebo záložní) databází. Viz konec 2. sekce návodu. Někoho pokročilejšího by ještě i u blizzlike serveru mohla zajímat konfigurace exportu logů, která je u konce konfiguračních souborů.

Nyní si otevřete v SQLYogu databázi auth a v ní tabulku realmlist. V této tabulce se nastavují připojení authserveru k jednotlivým worldserverům. Opět, pouze berte na vědomí, že zde tato tabulka je a k čemu je. V případě instalace lokálního testovacího serveru s ní nemusíte nic dělat.

Nyní by mělo být vše připraveno. Spusťte ve složce Release authserver.exe a pak worldserver.exe. Přes konzoli serveru si vytvořte účet do hry. Můžete do ní psát standartní GM commandy. Pro vytvoření GM accountu jsou třeba následující dva.:[/paragraph:2stxaoxy]
Code: [Select]
.account create [nick] [heslo]
.account set gmlevel [nick] 3 -1
[paragraph:2stxaoxy]A následně si otevřete realmlist.wtf a přepište jeho obsah na set realmlist 127.0.0.1 (drobná rada, pokud napíšete vícekrát pod sebe set realmlist [adresa], bude vždy brán v potaz pouze poslední řádek).

Nyní by vám měl server běžet a vy byste se na něj měli bez potíží připojit. Pokud se vám jeden či druhý server emulátoru odmítne spustit (respektive se spustí a pak crashne), zkontrolujte Server.txt, Auth.txt a DBErrors.txt. To jsou výchozí logy. Na jejich konci najdete, co crash způsobilo a podle toho můžete většinou bez větších obtíží vydedukovat, co jste zapomněli nebo udělali špatně. Pokud se vám to nepodaří zjistit, můžete mě zkusit kontaktovat a třeba na to přijdeme společně.

Linux


[paragraph]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 něco mezi 5 a 7GB, 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.

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). 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. 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.:
Code: [Select]
passwdPozná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 snad všude rozlišována velká a malá písmena, pozor na to.

Příprava před kompilací


V první řadě si zaktualizujte aptitude.:
Code: [Select]
aptitude updatePokračovat budeme vytvořením druhého účtu do systému, který bude 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.). Také 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.
Code: [Select]
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.:
Code: [Select]
sudo apt-get install build-essential autoconf libtool gcc g++ make cmake git-core wget p7zip-full libncurses5-dev zlib1g-dev libbz2-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říkaz vás vrátí do kořenového adresáře pro případ, že byste v něm nebyli a stáhne vám zdrojové kódy TrinityCore.
Code: [Select]
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.
Code: [Select]
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í kopilace a instalace. U příkazu make -j vyplňte svůj počet jader procesoru, pro mě to jsou 2.
Code: [Select]
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 a cesty, případně další nastavení u cmaku).:
Code: [Select]
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.:
Code: [Select]
mysql -u root -pVyplň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í.:
Code: [Select]
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 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 výše). 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.

# 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í. Najdete 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.

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 návodu výše). 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ý, 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 - pokus 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).

Přidání 2. realmu


Připravuje se.

<- 02 - Potřebný software
-> 04 - Vytváření a editace MPQ archivů[/paragraph:2stxaoxy]
« Last Edit: September 22, 2015, 06:52:05 pm by Admin »
English YT tutorial channel. Check it out if you preffer videos over walls of text.:
https://www.youtube.com/AmarothEng

Want to support me for my releases and/or tutorials? You can send donation via Paypal to:
jantoms@seznam.cz

Mateloted

  • Registred Member
  • MWCS Enthusiast
  • *****
  • Posts: 2
    • View Profile
Re: 03 - Instalace testovacího serveru
« Reply #1 on: April 21, 2015, 03:40:32 pm »
Ahoj, mám nějaké problémy s CMakem a s knihovnami Boost. Dělám to poprvé a potřeboval bych pomoc, myslíš že je možné na tebe sehnat nějaký kontakt? Děkuju
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Amaroth

  • Contributors
  • Creator of Worlds
  • *****
  • Posts: 1219
    • View Profile
    • Amaroth's Tools
Re: 03 - Instalace testovacího serveru
« Reply #2 on: April 21, 2015, 11:51:38 pm »
Skype: striker159753
Nebo PM tady. Na obojím jsem denně (na tom Skypu).
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
English YT tutorial channel. Check it out if you preffer videos over walls of text.:
https://www.youtube.com/AmarothEng

Want to support me for my releases and/or tutorials? You can send donation via Paypal to:
jantoms@seznam.cz