Amaroth

  Designers
  • Content Count

    612
  • Joined

  • Last visited

Everything posted by Amaroth

  1. Náhled Hned na začátku, než se pohneme k praktickým věcem, bych s vámi chtěl dát dohromady alespoň takový obecný náhled na teorii. Z čeho všeho je složená hra, z čeho server, co k čemu slouží a jak je to všechno propojeno, kde to najdete. Chci zde tedy pouze zavést ty nejobecnější a nejzákladnější pojmy, aby i úplný začátečník bez problémů pochopil, o čem tu bude řeč. Pro začátek menší schéma malování s.r.o.: Client Herní klient, tedy hra samotná, aplikace, kterou má spuštěnou hráč, využívá více zdrojů dat.Tato série je pro herního klienta verze 3.3.5a (poslední verze WotLK). Proč tato stařičká verze? Aktuálně je zdaleka nejsnáze upravitelná a nabízí nejlepší podporu serverových emulátorů. Jiné verze hry lze upravovat také, ale narazíte na nemálo nepříjemných úskalí. Podmínky pro práci s nimi se naštěstí pomalu, ale stále zlepšují, já jsem se na ně však zatím nepřesunul a proto se budou své návody omezovat jen na 3.3.5a. Je možné, že do budoucna na novější verzi klienta přejdu a s ní případně začnu pracovat na nové sérii návodů. Abych se vrátil k datům, se kterými pracuje klient. Pro nás budou nejdůležitější archivy dat formátu MPQ (laicky často označované za patche), obsahující data ukládaná v různých formátech, z nichž řada nepatří mezi standartní volně využitelné formáty (jde o soukromé formáty tvůrců hry). Jak vidíte, MPQ soubory obsahují velké množství dalších souborů, ze kterých je utvářena naprostá většina vizuální i obsahové stránky hry jako takové. MPQ soubory najdete v cestě: (cesta k WoWku)/Data A dále v cestě: (cesta k WoWku)/Data/(Locale) Za Locale si dosaďte jazykovou zkratku své hry, na příklad enUS, enGB atd. Herní mapy ADT - každé ADT obsahuje čtverec o straně 533,33 yardů mapy (terén, voda, umístěné modely) WDT - specifikuje, zdali má mapa nějaká ADT (instance, tedy raidy a dungy, mnohdy ADT vůbec ani nemají, jsou tvořeny jen jedním velkým WMO modelem - viz níže) a případně z kolika ADT se daná mapa skládá a jak jsou rozmístěna WDL - obsahuje informace o velmi vzdáleném terénu, podle něj je vykreslován obzor za hranicí, kam hra "dohlédne" načítáním okolních ADT souborů Modely M2 - drtivá většina standartních modelů užívá tento formát, i když byste se mohli setkat i se zastaralým MDX SKIN - obsahují zjednodušené části modelů s nižším LOD (tedy osekané verze pro vykreslení modelu, když je velmi vzdálený), SKINy jsou vždy číslovány dvojmístně hned za názvem (nazev00.skin, nazev01.skin...) WMO - najdete kořenová (root) WMO, to je vždy jedno a pod ním dále je alespoň jedno parciální WMO, jedná se o složitější model, používá se na budovy, instance, jeskyně či celá města, parciální WMO jsou číslována trojmístně za podtržítkem (nazev_000.wmo, nazev_001.wmo...) Textury BLP - všechny textury včetně obrázků pro UI atd. jsou ve formátu BLP CS (client side) DBC DBC - tyto soubory slouží jako lokální databáze obsahující všechna možná data týkající se obsahu světa, v určitých případech mají přednost před SS (server side) DBC, někdy je tomu zase naopak, viz příklady na konci tohoto dílu Interface LUA - programování interfacu (co se stane, když...), z programátorského hlediska "code behind" XML - kódování rozložení vzhledu interfacu (jaký obrázek/model kam umístit) Hudební soubory WAV - MPQ podporuje velmi kvalitní kompresi zvuků ve formátu WAV, ty jsou používány zejména na zvukové efekty ve hře, tedy spíše na krátké zvukové stopy MP3 - obvykle používány spíše na hudbu v zónách OGG - jsou používány spíše na ambience music, tedy na zvuky prostředí (šum vln, poryvy větru, zpěv ptáků...) Server Server se stará o komunikaci herních klientů mezi sebou a dále obsahuje velké množství dat týkajících se jak hráčů, tak herního světa, z nichž většina se nenachází v herních klientech. Co už málokdo ví je, že na serverovém počítači ve skutečnosti jedou minimálně 3 servery zajišťující celkový chod našeho celkového "serveru". Tyto servery dokonce ani nemusí být umístěny na stejném počítači. Další informace jsou dělány podle serverového emulátoru TC2 pro WotLK 3.3.5a, u jiných emulátorů je princip v základu stejný, ale názvosloví se může lišit. Authserver Tato aplikace zajišťuje hráčům možnost přihlašovat se do hry. Kontroluje jejich přihlašovací údaje a pak posílá hráče hernímu worldserveru. Herních serverů může být pod jedním přihlašovacím více, mluvíme pak o více realmech. Jeho IP adresa (případně doménové jméno, tedy "internetová adresa", jak by řekl laik) je užívána v souboru realmlist.wtf k připojení k serveru. Worldserver Herní server se stará o všechny akce hráčů, kontroluje, zda-li jsou "v pořádku", posílá herním klientům data o prostředí, která v klientech nejsou uložena a dále jim přeposílá, co dělají ostatní hráči. Výsledky veškeré činnosti světa (jak ovládané tak neovládané hráči) také ukládá do databáze. Herní server tedy řídí hru samotnou. MySQL server Většinou laicky nazývaný databází, ve skutečnosti však obsahuje vždy minimálně tři různé databáze. Jejich jména jsou volitelná při konfiguraci serveru, zde jsou uvedená jen výchozí (a standartně užívaná). Auth - obsahuje data o účtech hráčů, také všechny bany, informace o připojených realmech a v neposlední řadě přístupy ke všem příkazům (včetně těch GM) Characters - databáze obsahující všechna data o postavách, jejich inventářích, naučených spellech, skillech, o guildách... jednoduše všechen s hráči přímo související obsah, každá realm má vlastní charakterovou databázi World - tato databáze obsahuje všechno týkající se herního prostředí, co není uloženo v klientech, tedy část informací o itemech, NPCčkách, questech, game objectech... a mnoha dalšího SS (server side) DBC DBC - lokální (klientová) databáze je potřebná i pro chod serveru, který z ní taktéž čerpá nemálo dat týkajících se mechanismů hry a herního prostředí, pokud se informace v CS a SS DBC rozchází, mají v některých případech přednost serverová, v některých klientová, viz příklad na konci tohoto dílu Mapy Server nemá na své straně vůbec uloženou standartní mapu tak, jako klient. Tyto 3 typy souborů mu mapu nahrazují a tím mu na příklad sdělují, kde se nachází která lokace na mapě, kde je terén (kvůli pohybu NPCček) atd. maps - především rozložení zón, také umístění vody a jiné věci vmaps - zejména kolize WMOček, kde všude je "indoor" (shazování z mounta, zabránění NPCčkům na vás vybíhat z budov) a jiné mmaps - přesné rozložení objektů a terénu po světě kvůli snaze donutit NPCčka pohybovat se "logicky" a tedy v ideálním případě jen tak, jak se mohou pohybovat hráči (tedy řeší probíhání skrze objekty či levitace ve vzduchu, skákání přes díry/na skály i když je jiná, přirozená cesta nahoru/dolů/kolem) Příklad toho, jak se budou chovat SS a CS DBC soubory, pokud budou odlišné: - v SS DBC existuje displayID pro NPCčko (řekněme třeba hnědý mamut) - v CS DBC je toto displayID přepsáno tak, že obsahuje kočku Výsledkem je, že hráč uvidí ve hře kočku. Server se o to, jak věci vypadají, nestará (pomineme-li kolize spawnutých modelů), jemu stačí jen vědět, že naše displayID vůbec existuje a že jej tedy může použít. Příklad kolize DBCček číslo 2: - v SS DBC je napsáno u spellu Fireball (Rank 1), že bude dávat 100-150 dmg - v CS DBC je napsáno, že Fireball (Rank1) dává 600-1000 dmg Výsledkem bude, že Fireball bude vždy brát cílům něco kolem 100-150 hp (pomineme-li samozřejmě redukce a resistence atd.), ale hráči bude popisek spellu (tedy vizuální záležitost) tvrdit, že spell má dávat šlupky za 600-1000. Stejně by to bylo i s mana costem atd. Server tedy řeší funkčnost mechanismů hry, klient zase vizuální aspekty.
  2. Like I said, I can help only with WotLK. So, I can only wish you the best of luck.
  3. Ah, Schlumpf had actually a good idea I've missed before (because, this is exactly the cause when I can't find out what the actual fluff is exactly the thing you want). So, once again. Game build you are working on, and what do you want to actually achieve. Create a new animation? Use some already existing animation? Change animation only for certain class or for race or... what...? Change auto attack animation, animation for certain spell(s)? Change some exact animation for all spells? Give us as big amount of information you can, we can't work with currently provided information at all.
  4. As always, if you manage to solve something on your own, please, let others know what your solution was. It may be helpful for others having similiar issues.
  5. Potřebné programy Noggit, doporučená verze je SDL 1.4 nebo co nejnovější beta. SDL 1.4 je poslední oficiální release. Oproti nejnovější betě má řadu zádrhelů, ale je věcí autorů Noggitu, ne mě, říct, kdy je nová verze hotová, připravená k oficiálnímu vydání a kdy ji mohou uživatelé začít používat s klidným vědomím i na ostré projekty. Potřebné počáteční znalosti Předpokládá se, že jste si prošli Obecný přehled pojmů a systému hry, Vytváření a editace MPQ archivů a Úvod do WMV. Příprava projektu, konfigurace Pokud chcete používat Noggit, budete potřebovat upravovat řady věcí (WDT, WDL, DBC...) a je možné, že budete chtít také používat různé vlastní modely či modely z vyšších datadisků, a to ať už hned od začátku, či někdy v budoucnosti, až se více rozkoukáte. Důrazně proto doporučuji, abyste si vytvořili složku, ve které budete mít (jen) věci od svého projektu. Do této složky si okopírujte složku Data ze svého herního klienta. Tento krok byste nemuseli dělat, ale vřele doporučuji, abyste měli oddělená data vývojářská a data herní. Pokud chcete rozjet vlastní server, doporučuji si pak ještě udělat celou další kopii herního klienta, která bude sloužit pro testování patchů (takže budete mít klienta s herními patchi, klienta s vývojářskými patchi a Data složku pro vývoj projektu ve složce projektu). Ne každý má samozřejmě tolik místa na disku, ale pokud jej máte, nešetřete jím. Dále doporučuji také vytvořit si kopii WMV, který bude napojen na vaše Data v projektu, rozhodně v případě, že hodláte přidávat obecně jakékoliv modely, které nejsou v blizzlike WotLK herním klientu. Pokud si vystačíte jen s blizzlike klientem (což ze začátku z pravidla ano), WMV vymezený pro Noggit moc nepotřebujete. Dbejte jen na to, aby měl Noggit skutečně všechny cesty ke všem MPQ nastavené do složky ve složce projektu, ne do vaší hry. Pojďme už na samotný Noggit. Otevřete složku s ním a v ní najděte soubor noggit.conf (někde najdete noggit.temp.conf či něco podobného, v takovém případě jej přejmenujte na noggit.conf, a pozor, ať to není noggit.conf.conf (můžete ověřit ve Vlastnostech souboru)). Noggit.conf otevřete v poznámkovém bloku. Path nastavte na cestu ke složce, ve které je složka Data s MPQ, které má Noggit používat. Tedy cesta do složky vašeho projektu. Složky se v cestě oddělují zpětným lomítkem \, nezapomeňte, že u cest do složek musí být toto lomítko i na konci cesty. ProjectPath je cesta do místa, kde budou ukládány všechny vaše upravené soubory, tedy upravené mapy a DBC. Ta může vést obecně do jakékoliv existující složky, ale doporučuji ji dát stejnou jako je vaše Path (tedy ideálně do složky projektu). I tato cesta musí končit na \. Následuje cesta ImportFile. Zde pozor, u Noggitu SDL 1.4 jde o wmvLogFile cestu. U nového beta Noggitu jde o cestu k souboru Import.txt. U beta Noggitu ji buďto zakomentujte (napsáním symbolu # před ní), nebo do ní dejte cestu k souboru Import.txt ve složce s Noggitem (můžete takhle napojit několik Noggitů na jeden Import.txt pokud chcete). Jelikož jde o cestu k souboru, NESMÍ končit na \. wmvLogFile je cesta k souboru log.txt ve složce userSettings ve složce vašeho WMV, který chcete pro práci s Noggitem používat. Propojení Noggitu SDL 1.4 a WMV nefunguje jak má, takže nemá moc cenu jej vůbec nastavovat. U beta Noggitu tuto cestu rozhodně nastavte, bude se vám totiž toto díky Bohu již opravené propojení moc hodit. FarZ nechte na 1024. Můžete jej zvýšit, ale výchozí 1024 je stejně maximální viditelnost ve WotLK s Ultra detaily, takže takový dohled nemívá moc smysl. Pokud máte pomalý stroj, může se vám hodit nastavit nižší hodnotu. U beta Noggitu najdete ještě TabletMode, napište do něj true jen v případě, že máte grafický tablet, jinak tam nechte false. Nyní můžete zkusit spustit Noggit. Pokud vám spadne s tím, že mu chybí nějaký .dll soubor, dejte do Googlu náze .dll souboru, stáhněte si jeho nejnovější verzi pro svůj OS a umístěte jej do složky s Noggitem. Pokud vám Noggit spadne a nic nenapíše, otevřete log.txt a zkuste si projít výstup, zda vás tam nepraští do očí nějaké chyby (většinou tam najdete spam o tom, jak se MPQčka nepodařilo otevřít, což značí, že jste zadali špatně vaši Path). Pokud nic nevykoumáte, nahrajte log.txt na Pastebin, stejně tak váš noggit.conf a buďto si založte vlákno s žádostí o pomoc, nebo kontaktujte někoho ze zkušenějších vývojářů přímo. Potíže s grafickou kartou V dnešní době má většina výkonnějších PC 2 grafické karty, jednu výkonnou a jednu úspornou. Pokud je toto váš případ, je možné, že vám Noggit sice pojede, ale bude vám hodně silně lagovat jakmile vejdete do mapy. V takovém případě jej zavřete, vlezte do nastavení své grafiky (pro majitele NVIDIE na příklad stačí zadat do startu NVIDIA a otevřít její ovládací panel). U NVIDIE klikněte vlevo na Spravovat 3D nastavení, vyberte kartu Nastavení programu, klikněte na Přidat, v dialogu na Procházet, vyberte spouštěcí soubor Noggitu. Pak překlikněte na Vysokovýkonný procesor NVIDIA v drop down menu, klikněte na Použít a máte hotovo. U jiných grafických karet bude postup snad podobný, případně dohledejte Googlem, co a jak. Pokud lagy neustávají, otevřete log.txt Noggitu a v něm najděte řádek píšící, které grafické jádro je používáno. Ujistěte se, že je tam to výkonnější. Pokud ne, něco jste udělali špatně. Pokud ano, máte problém, který dost možná nedokážu řešit (vyjma obecné a mnohdy nikomu nepomáhající procedury typu aktualizace ovladačů, OS apod.). Jak toto udělat u NVIDIE si můžete také prohlédnout v jednom z mých videí. Jak upravovat mapu Nebudu zde do detailu rozebírat, jak se Noggit ovládá. Od toho zde je uživatelský manuál, který jsem psal pro Noggit SDL 1.4. Beta Noggit má pár věcí trochu jinak a pár věcí navíc, ale na ty zvládnete jistě přijít sami. Co je pro vás důležité je, že pokud otevřete Noggit, budete nejčastěji chtít upravovat kontinenty (Continent), ostatní mapy asi jen zřídka. Malá rada, maximalizujte si okno Noggitu vždy před tím, než vstoupíte do mapy, aby se vám nerozhazovalo UI. Po výběru mapy se dostanete na obrázek mapy, uvidíte síť souborů ADT, tedy jednotlivých dlaždic, ze kterých mapa je poskládána. Klikněte někam do mapy a tam se objevíte. Jakmile jste v mapě, stiskem klávesy H si zobrazíte ovládání. To vám, ve spojení s manuálem, co jsem odkázal, a pokusem-omylem, musí stačit k naučení se, jak se Noggit ovládá. Důrazně doporučuji projít si skutečně vše, protože narazíte na spoustu drobných vychytávek a klávesových zkratek, které vám mohou hodně usnadnit život. Možná někdy udělám videjka o ovládání Noggitu, ale myslím, že alespoň zatím jsou zde vyšší priority a že nejsou zrovna nutná celkově. Pokud máte SDL 1.4 (beta testu se týká také, ale ne všechna videa), věnujte zvýšenou pozornost mému FAQ. To je v (mé nedokonalé) angličtině, a jelikož tato série tak trochu předpokládá, že někteří její čtenáři s angličtinou nemusí až tak moc kamarádit, rychle jej zde shrnu. U 1.4 vždy ukládejte celou část mapy, kterou se chystáte teď nebo v budoucnosti upravit, najednou. Když stisknete klávesu M, uvidíte znovu ADT mapu. Bíle jsou ohraničená upravená a s upravenými sousedící ADT - ta všechna budou uložena jako upravená, jakmile stisknete ctrl+s. Dbejte na to, abyste vždy ukládali stejná ADT (tedy ne že jednou uložíte východní Westfall a po druhé západní) a abyste vždy ukládali úplně všechna. Pokud tak neučiníte, narazíte na duplikace modelů. V menu Assist najdete funkci Clear duplicate models. Ta není v 1.4 úplně dokonalá, doporučuji ji použít v beta test verzi. Pomůže vám vypořádat se s případnými duplikacemi modelů, ke kterým dojde, pokud v SDL 1.4 nebudete ukládat mapu vždy pohromadě. Dále, v SDL 1.4, vždy restartujete aplikaci poté, co uložíte mapu. Nikdy neukládejte nic 2x během jednoho spuštění aplikace. Dostanete duplikace a ztráty modelů. U SDL 1.4 udržujte vždy na všech chuncích plné všechny 4 sloty na textury, jinak budete dostávat v mapě ve hře crash (jak toho docílit se můžete podívat ve videu o 0023:007B31F8). Beta test tento bug nedělá a dokonce jej i opravuje. Beta test také nemusíte restartovat po každém uložení. V obou verzích si musíte dávat pozor na to, abyste neklikali nebo nepřetahovali nástroji do děr v terénu - jinak dostanete skvrny textury všude kde nemá být, díry náhodně rozházené po mapě apod. Nicméně beta test už alespoň nevytváří duplicitní díry v terénu u nástroje Holes. Malé upozornění ještě, beta test na rozdíl od SDL 1.4 správně kopíruje právě otevřené M2 i WMO modely z napojeného WMV. Stačí model zobrazit ve WMV a v Noggitu dát shift+c nebo alt+c. A poslední věc, aktuální beta verze vyhazuje z paměti ADT, na kterých jste dřív byli, ale už jste z nich odletěli, aby Noggit nepadnul při průletu velkou mapu na přeplněnou paměť. Aktuálně však takto vyhazuje z paměti i upravená ADT, takže přijdete v takovém případě o všechnu práci, než tedy odletíte někam přes půl světa, uložte změny. Jakmile uděláte změny, které jste chtěli, uložte je přes ctrl+s. Ve vaší ProjectPath se objeví složka world, v ní maps, v ní najdete složku s názvem mapy, a v ní veškeré upravené soubory. Pokud chcete, aby se tyto změny projevily ve hře, vytvořte si své vlastní MPQ a do něj vložte celou tuto složku (takže aby v MPQ byla stejně složka world, v ní maps, v ní složka s názvem mapy a v ní soubory). MPQ pojmenujte patch-(něco) kde něco je jen jedno písmeno bez diakritiky a vložte jej do složky Data vašeho herního klienta. Spusťte hru a změny by měly fungovat. Jak udělat dobře vypadající mapu Podle zásad kvalitního level designu, ve velké zkratce. Určité postřehy dávám dohromady ve své YT sérii, která je na rozdíl od FAQ i v češtině. Zde tyto věci nemá smysl rozepisovat, lepší je názorná ukázka. Je zde samozřejmě více věcí (např. jak mapu zvětšit, zmenšit, nebo udělat úplně novou), ale o tom někdy příště.
  6. 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. Jakkoliv není instalace TrinityCore2 nějak extra složitá, stále bude pravděpodobně tím nejsložitějším, čím si zde projdete, pokud se nerozhodnete celou sérii návodů označených 3kou přeskočit. 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ž řada jiných vývojářů, i zkušenějších, se s nimi spokojuje). 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 MC-Net 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á. Tento návod je pro Windows, druhá, Linuxová část, na něj nepřímo navazuje a doporučuji ji případně podstoupit až po této. Původní návod (OS X uživatelé se budou muset spokojit s ním) je zde. Oba návody na instalaci TC jsou (výjimečně) překlady původního návodu. Důležitá poznámka téměř 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. A úplně poslední poznámka, tento návod nemusí být vždy udržován úplně aktuální. Projděte si hlavně originální návod a sem zabruste jen pokud se vám bude hodit i české vysvětlení a hlavně jakmile dojde na konfiguraci. Potřebné programy Nalinkované v samotném návodu. 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. Potřebný software 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. Pozor, pokud si budete chtít stáhnout verzi 2015, musíte v ní zaškrtnout, že chcete C++ překladač! 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: BOOST_ROOT C:/local/boost_1_57_0 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í: 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 Instalace emulátoru (a jeho aktualizování) 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: 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. Dále 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: 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: Nyní klikněte pravým tlačítkem vpravo v okně Solution Explorer na ALL_BUILD a klikněte na Clean. Takto: 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:\TrinityCore\bin\Release (v našem případě), kde budete mít po kompilaci samotný emulátor.: libmySQL.dll - C:\Program Files\MySQL\MySQL Server 5.x\lib libeay32.dll, ssleay32.dll - C:\OpenSSL-Win32\bin libzmq-v120-mt-4_0_4.dll - C:\Program Files\ZeroMQ 4.0.4\bin 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. Příprava databází (a jejich aktualizace a zálohování) 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:\Trinity\sql\create\. 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:\Trinity\sql\base\. 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:\Trinity\sql\updates\world\. Aplikujte na databázi všechny scripty v této složce. Scripty v C:\Trinity\sq\updates\characters\ a C:\Trinity\sq\updates\auth\ 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ý. Poslední přípravy 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:\TrinityCore\bin\Release\. 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 Files\World 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í: vmap4extractor.exe md vmaps vmap4assembler.exe Buildings vmaps pause 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:\Trinity\bin\Release\. 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. U serveru, který má být veřejně přístupný, přepište IP adresu ze 127.0.0.1 na IP adresu serveru a pravděpodobně budete chtít editovat i další pole v tabulce. 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.: .account create [nick] [heslo] .account set gmlevel [nick] 3 -1 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ě.
  7. 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.
  8. Mít alespoň 2 realmy je často velmi praktické, a to především pro servery otevřené veřejnosti, kdy je jeden server ostrý a druhý testovací. Návod slouží jen jako nástavba ke zbylým dvěma návodům pro Windows a pro Linux. Kompilace První věc, kterou začneme, je otevření si cesty, kam nám CMake nakonfiguroval připravené zdrojáky. Pokud jste následovali návod pro Windows, měla by to být složka C:\TrinityCore\cmake, u Linuxu /root/TrinityCore/cmake, pokud jste si cesty neměnili. Obsah této složky vymažte, tak, aby byla prázdná. Nyní můžete postupovat stejně, jako při prvotní instalaci. Otevřete si CMake, nechte jej nakonfigurovat zdrojáky. Tentokrát si budete muset však velmi opatrně pohlídat cesty. Musíte zvolit jinou cestu, do které se budou servery instalovat a ve které budou mít konfiguráky. Příklad upravené konfigurace na Linuxu: $ cmake ../ -DCMAKE_INSTALL_PREFIX=/home/trinity/server2 -DCONF_DIR=/home/trinity/server2/etc -DLIBSDIR=/home/trinity/server2/lib Pouze jsem připsal 2ky za server. I Windowsu by mělo stačit v oknu CMaku jen poupravit kolonku "Where to build the binaries". Pak zase spusťte kompilaci (tedy Visual Studio nebo příkazy make a make install). Instalace databáze Vytvořte si druhou characters a world databázi, na příklad characters2 a world2, stejně jako jste vytvářeli databáze první (případně je můžete vytvořit jako kopie těch prvních, pokud nechcete výchozí blizzlike). Nezapomeňte se ujistit, že uživatel trinity má do obou nových databází plný přístup. Konfigurace Kompilace vám vytvoří druhý, úplně samostatný emulátor. Authserver můžete smazat, nebudete jej potřebovat, stejně tak jeho konfigurák. Vlezte si do konfiguráku worldserveru a nastavte jej obdobně, jako konfigurák prvního realmu. Všimněte si, že jsme nevytvářeli druhou auth databázi - ta bude pro oba realmy společná a tedy v konfigurácích úplně stejná. Také budete muset nastavit jiný port, na kterým worldserver poběží. Výchozí je 8085. Váš druhý realm musí mít jiný, třeba 8086. Taktéž přepište ReamID. Příklad.: RealmID = 2 LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;auth" WorldDatabaseInfo = "127.0.0.1;3306;trinity;trinity;world2" CharacterDatabaseInfo = "127.0.0.1;3306;trinity;trinity;characters2" WorldServerPort = 8086 Dále navštivte auth databázi, tabulku realmlist a přidejte do ní nový řádek pro nový realm. Vyplňte správně ID realmu a port (volili jsme 2 ID a port 8086, ale obdobně tak můžete činit i pro další realmy s ID 3 a portem 8087 atd.). Menší tip, allowedSecurityLevel uzavře realm všem, kteří nemají dostatečná oprávnění (2ka je pro TrinityCore GM). Příklad.: Linuxový restarter Pokud provozujete server na Linuxu, budete jej ještě chtít přihodit do restarteru. Zde by mělo být celkem jasné, co je třeba udělat, je třeba vytvořit rest-world ve složce se spouštěcím souborem worldserveru a trochu poupravit soubor, ze kterého všechny restartovací scripty spouštíte. Pro jistotu ale příklad podoby funkce start v souboru ve složce /etc/init.d s názvem mangos, pokud jste následovali v Linuxovém návodu vše doslovně. start) log_daemon_msg "Starting Trinity Realm & World daemons.." screen -dmS realmlist sudo sh /home/wow/server/bin/rest-realm sleep 1 screen -dmS world sudo sh /home/wow/server/bin/rest-world sleep 1 screen -dmS world2 sudo sh /home/wow/server2/bin/rest-world sleep 1 screen -dmS world_myth sudo sh /home/wow/server_myth/bin/rest-world log_end_msg 0 ;; A to je vše, máme hotovo.
  9. Amaroth

    00 Úvod

    Jak někteří z vás možná vědí, češi jsou na scéně WoW moddingu (podle nevím jak moc/málo aktuální statistiky) 5. početně nejzastoupenější návštěvníci. Doposud to tak moc nevypadalo, protože jsme neměli vlastní sekci a nikdo ani nevyvinul snahu takovou sekci založit. Přijde mi to jako škoda, proto jsem požádal Steffa o vytvoření našeho místního malého CZ/SK místa na Modcraftu. Jelikož Modcraft je teď více méně neaktivní a zastaralý projekt, přesouvám své návody za asistence Skarna a Corey i sem a budu je aktualizovat zejména zde. Tuto skupinu sérií návodů budu postupně doplňovat a budu se ji snažit držet alespoň relativně aktuální. Považujte ji za vždy tak trochu ve fázi WIP. Časem můžu doplnit také video verze na mém YouTubu, aktuálně již na několika návodech pracuji a jsou k dispozici na mém kanálu. Co se týče mě, vyznám se ve většině věcech spíše povrchně. Nejsem úplně HC programátor (i když studuji IT) a nejsem ani 3D modelář (i když jsem se v tom konečně začal učit). A neumím to ani nějak moc zázračně s 2D grafikou. Vtip je ale v tom, že ke své práci ani jedno běžně na vysoké úrovni nepotřebuji. Drtivá většina věcí se ve WoWku dá nějak upravit a prakticky cokoliv z toho se člověk zvládne sám naučit v rámci pár dní (pokud chce). V nemálo oblastech se může stát, že vám nebudu umět zodpovědět na dotazy složitějšího technického rázu - pevně však věřím, že mě v takových případech doplní kolegové z (nejen) naší scény, kteří se více zaměřili na techniku a "akademickou činnost" ve WoWku, zatímco já jsem se zaměřoval vždy spíše na maximální praktické využití toho, co mám. Jsem level designer - tvořím mapy za užití už hotových aplikací, modelů a textur, a starám se o funkčnost a scriptování obsahu hry v mapě (levelu), a v této oblasti u mě vždy najdete nejvíce informací. Doposud jsem se také omezil jen na nejčastěji a nejsnáze upravovanou verzi hry 3.3.5a, návody k novějším datadiskům pochopitelně nedodám dříve než s nimi začnu nějak pracovat, což logicky znamená, že vám s nimi zatím nemohu ani pomoct. Na závěr tohoto úvodu bych chtěl říct, že se budu snažit psát návody podle sebe, svými slovy a svým stylem. Tato sekce nebude (ne v mém podání) sloužit jen jako překlad jakýchkoliv jiných anglických tutoriálů. Každý děláme spoustu věcí úplně jinak (zvlášť zde). Návody budu psát názorně, prokládat je obrázky a příklady. Není to proto, že vás mám za naprosto tupé blby (i když... :P), ale proto, že chci mít jistotu, že vše pochopíte všichni napoprvé, snadno a správně. Děkuji za pochopení. Také bych rád dodal, že mám velmi omezené zkušenosti s Linuxy a naprosto nulové zkušenosti s OS X, takže v problematice týkající se jakkoliv těchto operačních systémů vám nemohu pomoci (že Noggit je Win32 aplikace a vždy bude vám ale mohu říct bez váhání hned). Pokud budete mít jakékoliv dotazy, návrhy či připomínky, neváhejte zanechat (slušnou a ideálně konstruktivní) zpětnou vazbu. Pokud mě chcete kontaktovat z nějakého důvodu osobně, můžete si mě přidat na Skypu (v profilu), nebo mě kontaktovat skrze PM. Chtěl bych vás jen poprosit, abyste rovnou s přidáním psali, že jste z Modcraftu či MC-Netu, abych si vás rovnou zařadil do správné složky, protože můj Skype je občas šílená spamárna ze všech myslitelných míst a je problém se tam někdy vyznat. Také tu mám už pomalu více lidí, se kterými se musím bavit anglicky, takže zkuste i nějak zmínit, odkud že jste a jakým jazykem že s vámi mám komunikovat. Rovněž chci říct, že vám rád pomohu, ale jen pokud budete už v koncích poté, co jste zkusili problém vážně zvládnout sami. Pokud mě někdo bude zavalovat ideálně naprosto stupidními dotazy několikrát denně, letí do ignoru, nezlobte se, já nemám čas a nervy odpovídat na 15 konverzací denně, ke kterým to dříve pravidelně spělo.
  10. Amaroth

    00 Úvod

    I agree. I'd still rather see it being released (for a whole community) first. This releasing of things "behind the shop" and "under the table" shouldn't be really done, if you understand what I'm talking about. Besides, beta is currently unloading even those ADTs which were edited, when a user flies away from them. Thats quite a serious bug which should be fixed first.
  11. On the other hand Schlumpf, the question is, how can one know which questions are trivial and which not :D.
  12. Amaroth

    00 Úvod

    Because officially its the last "stable" release. And because I don't really like previous beta releases. Most of things I didn't like about them were already fixed by Adspartan, but those fixes weren't released yet and one can get the newest and in my opinion "usable" version only by compiling Noggit on his own or by getting an exe from someone. I don't really want to turn nonreleased beta into some sort of main "stable" "release".
  13. Potřebné programy WoW Model Viewer, verze pro WotLK. Potřebné počáteční znalosti Předpokládá se, že jste si prošli Obecný přehled pojmů a systému hry a Vytváření a editace MPQ archivů. Konfigurace a instalace WMV má více verzí a tím pádem vám doporučuji využívat tu, která je v mém balíčku toolsek. Jednoduše proto, že novější verze nemusí být kompatibilní s WotLK (hlavně WoD+ verze nejsou). Když po prvé nainstalujete WMV, zeptá se vás na cestu ke hře. Pokud spustíte už nainstalovaný WMV, měl by se automaticky napojit na hru, kterou máte v počítači nainstalovanou, podle cesty získané z registru. Pokud vám WMV spadne s tím, že nemohl najít data, máte trochu problém. V posledním jmenovaným případě zamiřte do složky userSettings ve složce s WMV a otevřte soubor Config.ini v poznámkovém bloku. Na konci najdete MPQFiles a kousek pod prostředkem Path. Oběma hodnotám přepište všechny vypsané cesty tak, aby seděly s cestami k vašemu WoWku a MPQ archivům v něm. Nezapomeňte oddělovat všechny složky dvěma zpětnými lomítky - \\, ať máte jistotu, že vše pojede jak má. Jakmile vám WMV jede, můžete zabrousit do menu Options a tam vybrat Settings. Zde věnujte pozornost jen seznamu MPQ, které WMV otevírá. Měl by začínat dle abecedy sestupným seznamem MPQ ve složce Data a pak by měl následovat dle abecedy sestupný seznam MPQček ve složce enGB/enUS/... Pokud máte již udělaný svůj vlastní MPQ patch, klikněte na Add a přidejte jej do seznamu. Můžete takhle přidat libovolné množství MPQ (nebo je časem odebírat), ale vždy je udržujte shora v sestupném pořadí dle abecedy, aby váš WMV načítal MPQ ve stejném pořadí, jako herní klient (tzn. abyste měli jistotu, že vše uvidíte stejně, jako to vypadá ve hře). Prohlížení WMV vám umožňuje si prohlížet modely a textury, na ostatní věci se už moc nehodí. V základu máte vždy vybrané M2 modely. Vlevo dole můžete změnit, co prohlížíte, na začátku tam budete mít Models. Občas zabrousíte do WMOs a občas do Images. Vlevo nahoře pod nápisem File List máte kolonku pro zadání klíčového výrazu, podle kterého můžete hledat určité soubory. Pár poznámek. Za prvé, vyhledávání se bere nejen podle názvu souboru, ale i podle názvů složek po cestě. Takže pokud zadáte "Expansion", dostanete pořádnou nálož výsledků, i pokud jste chtěli hledat jen nějakou konkrétní Expansion.m2. Druhá poznámka, jde vyplňovat i cestu k modelu. Třeba Expansion02\doodads\azjol (opět, všude zpětná lomítka, ale zde jen po jednom!) vám najde všelicjaké nerubianské věci z WotLK. A za třetí, pokud vlevo dole překliknete na něco (třeba z Models na WMOs), rovnou vám WMV začne hledat věci podle toho, co je vyplněno ve filtru. Proto doporučuji nejdříve vyplnit filtr a až pak překliknout na něco jiného než Models, pokud nehledáte modely, ukrátíte si čekání, protože prázdný filtr vám vyplivne vše, co ve všech MPQ existuje. Když kliknete na název modelu, zobrazí se vám jeho náhled. U M2 levým tlačítkem otáčíte, pravým posouváte a prostředním přibližujete a oddalujete (obdobně numerickou klávesnicí, ta neumí otáčet, ale 5kou vás vrátí o posun klávesnicí zpátky). U WMO je to jinak, kolečko nefunguje, pravým tlačítkem letíte vpřed či vzat a levým tlačítkem otáčíte kameru, ne model. Postavy WMV má jednu skvělou vlastnost, dovoluje vám obléknout si v něm charakter. Pokud zvolíte Models a zabrousíte do složky Characters, dostanete se ke všem modelům hratelných (přesněji oblékatelných) ras. Jak si otevřete model, kromě klasického náhledu se vám ještě zobrazí vpravo panel. V tomto panelu můžete naklikat vzhled postavy a itemy, co má na sobě. WMV je jediné místo, kde nastavíte jinou facial color než je hair color, ve hře to nelze. Nač je oblékání postav dobré? Na vytváření NPC, na to se ale podíváme jinde a jindy. Export - nač tu WMV vlastně je Dostáváme se na závěr k tomu nejdůležitějšímu, co WMV umí, a to je export souborů. Pokud dáte File a Save file... (nebo kliknete pravým na název souboru v levém stromě souborů a dáte Save...), dostanete se do okna k uložení otevřeného souboru do cíleného místa. To se takřka nepoužívá, ale někdy se vám podobný krok může hodit pokud chcete na příklad exportnout něco jiného než model či texturu (třeba MP3ku). Hlavně pozor, u WMO tato možnost uloží jen kořenový soubor WMO, ne jeho soubory parciální. Mnohem důležitější je v menu File možnost Export Textures. Nenechte se zmást zavádějícím názvem, tato možnost totiž umí exportovat i modely. Jak na ni kliknete, objeví se vám nový panel. Pokud otevřete nějaký model, můžete v drop down menu v tomto panelu vybírat soubory, které ten model používá. Pokud kliknete pak na Export, dostanete vybraný soubor. Pokud kliknete na Export All, exportnou se rovnou všechny soubory, které model používá (někdy ne bezchybně, bohužel, u Cata+ WMO se občas nevyexportují všechny textury). Nutno dodat, že i Export, i Export All vám vyhodí textury v BLP formátu a modely v M2 formátu, a že nefunguje na samotné WMO soubory, jen na soubory WMOčkem používané. Na export samotných WMO proto doporučuji použít Merged mode v MPQEditoru a WMV použít jen na dohledání cesty k WMO. Jinak můžete otevřít po jednom každý jednotlivý WMO soubor (kořenový i všechny parciální) a u každého dát Save. To asi nikdo dělat nebude. Pokud kliknete na Export All To PNG nebo Export All To TGA, dostanete pouze textury a to v PNG nebo TGA formátu. Šikovné pokud chcete textury upravit, nebo pokud je chcete použít na vytvoření jiné textury. Nakonec tu je možnost Path Preserved. Pokud tu zaškrtnete, vše, co se bude exportovat, se vyexportuje do takových složek, v jakých dané věci jsou v MPQ. Tuto možnost budete chtít mít zaškrtnutou ve většině případů, zejména ze začátku, když se v souborech WoWka ještě moc neorientujete. Dále zde máme možnosti ve File>Export Model submenu. Osobně používám Wavefront OBJ..., což exportne model do OBJ formátu - takový otevřete v libovolném 3D editoru. Pokud směřujete k 3D modelování, tento export budete používat pravidelně. Malá poznámka, model tato vyexportovaný ze hry má vždy obrovské množství duplicitní geometrie (často i celých geogroup). Vždy začněte v 3Dčku tím, že na takto exportovaném modelu dáte sloučit duplicitní vertexy. Dále také používám X3D export. Ten totiž vyhodí PNG textury modelu. Pokud takto exportnete oblečený model oblékatelné rasy, získáte i rovnou oblečenou texturu. To budete potřebovat na tvorbu NPCček oblékatelných ras, k tomu více později. Nakonec zde ještě za zmínku určitě stojí Load Character(F8) a Save Character(F7) v Character menu. Kromě možnosti sdílet postavy budete uložený .chr soubor postavy potřebovat k rychlému, snadnému a efektivnímu tvoření NPC displayIDček oblékatelných ras za pomocí mého editoru. Na to se podíváme také později. Závěr A to je k WMV vše. Samozřejmě, jde v něm dělat více různých věcí a nebráním vám si s nimi pohrát, ale pro základy moddingu nejsou potřebné a tak se jim tu nemá cenu věnovat.
  14. Herní klient a server používají kromě známější serverové MySQL databáze (nebo přesněji databází) ještě jednu, klientovou databázi, která je uložena v souborech s koncovkou .dbc - odtud tedy označení DBCčka. DBCčka jsou více méně obyčejné tabulky s řádky a sloupci. Mají 2 hlavní úskalí a pak ještě drobnější třetí. Neexistuje editor, který by uměl všechna DBCčka bez chyby otevřít, upravit a uložit. Každý si alespoň s některými neporadí. Neexistuje editor, který by ovládal masové úpravy (např. nastav všem řádkům co mají v poli č.5 hodnotu 50 do pole č.6 hodnotu 150). Tohle jde částečně obejít konverzí do jiného formátu (např. CSV), na který již existují profesionálnější a normálnější editory, ale osobně jsem ještě neviděl takový konvertor, který by byl 100% spolehlivý. Editory DBC neoznačují (nebo případně občas označují, ale často naprosto špatně nebo neúplně) názvy polí v DBC tabulkách, případně jim dávají názvy, které vám řeknou velké kulové. Pracovat v DBC znamená prakticky pořád procházet dokumentaci na naší vývojářské wiki. Návod vypadá dlouze a složitě, ale nenechte se vyděsit a odradit, po pravdě si ale většinou (a většina z vás) vystačíte jen s jedním primitivním editorem, ve kterém jsou (bohužel) jen naprosto základní a stejně primitivní funkce. Trik je zde spíše v tom vědět co, kde a na co upravit, abyste dosáhli chtěného výsledku, než v nějakých pokročilých technických schopnostech. Potřebné programy MyDBCEditor DBCUtil Taliis DBC Editor Potřebné počáteční znalosti Předpokládá se, že jste si prošli Obecný přehled pojmů a systému hry, Instalace testovacího serveru (nebo máte k dispozici server, na kterém můžete pracovat) a Vytváření a editace MPQ archivů. Jak na DBC obecně Doteď jste si jen hráli s přípravou, nyní ale už budete schopni reálně dělat klientové úpravy. Než se na ně vrhnete, udělejte jeden, poslední přípravný krok; vytvořte si svůj pracovní adresář, kde budete mít všechny své upravené a pracovní soubory. Můžete mít jeden společný adresář pro všechny své projekty, nebo více adresářů pro jednotlivé projekty, to je čistě na vás, ale tak či onak začněte na jednom. Já mám na příklad, bez většího matlání, složku "Noggit" na ploše. V té mám úplně vše a stačí mi to ke spokojenosti. Ve svém pracovním adresáři si vytvořte složku DBFilesClient (název není povinný ale doporučený kvůli Noggitu, ke kterému se dostaneme někdy příště). Taktéž tam doporučuji ještě vložit složku DBC, ve které budete mít zálohy všech blizzlike DBC. Ty jste si buďto vyextrahovali sami v 3. díle těchto návodů, nebo si je můžete vypůjčit z návodového balíčku, který je ke stažení v 2. díle (složka Blizzlike335aEnGBDBCs v balíčku). Máte blizzlike DBCčka, máte adresář kam si budete dávat svoje upravené verze blizzlike DBCček, je čas se pustit do editování. Určete si, co chcete upravovat. Podle názvů u většiny DBCček poznáte, na co asi jsou. Řekněte si, co chcete udělat (na příklad vytvořit displayID pro NPCčko) a hledejte. V našem modelovém příkladě budete chtít upravit DBC CreatureDisplayInfo. Jakmile najdete DBC, ve kterém se chcete hrabat (nebo pokud jste našli nějaké DBC, které vás z nějakého důvodu zajímá a nevíte, na co je), jděte na bod 2. Otevřte si Google a do vyhledávače zadejte ideálně celý název vašeho DBC (ideálně i s koncovkou .dbc) a najděte si k němu dokumentaci. Dávejte přednost WoW Dev wiki, je ve správě komunity Modcraftu a najdete v ní obvykle nejvíce (korektních) informací. Dávejte si pozor, abyste koukali do té části dokumentace, která je pro vaši verzi hry (tedy pro většinu to bude 3.3.5a rev 12340). Nepovažujte ji však za svatou, občas v ní něco chybí nebo je něco trochu chybně. Dávejte si také pozor na číslování sloupců, některé editory a články na wiki číslují 1. sloupec jako 0, jiné jako 1 a tím se vše posouvá. MyDBCEditor může na a z zero-based číslování přepínat. Zkopírujte si DBC, které chcete editovat, do DBFilesClient, tedy adresáře na upravená DBCčka. Ještě jednou doporučuji mít vždy snadno po ruce zálohu těch blizzlike a mít je skutečně striktně oddělená od upravených. Upravte DBC za pomocí jednoho z níže uvedených programů. Podle dokumentace většinou poznáte, co je na co a co jak funguje, pokud si nevíte rady, vždy se ještě můžete podívat, jak je uděláno něco blizzlike. Používejte techniku tzv. reverse engineeringu - sledujte hotové věci a postupně rozebírejte část po části, jak jsou vlastně poskládané. Tak se naučíte ve WoWku nejvíce. Upravená DBC přijdou do vašeho vlastního MPQ patche (viz. 4. díl návodů) do cesty /DBFilesClient/, pokud úpravy vyžadují, aby bylo změněné DBCčko k dispozici hernímu klientu (tedy zejména pokud jsou úpravy vizuálního rázu). U úprav, které se nějak týkají mechanismů ve hře, musíte DBC vložit do složky dbc ve složce s daty, kterou používá serverový emulátor. Nikdy neuděláte chybu, pokud svým upraveným DBCčkem přepíšete blizzlike/starší verzi DBCčka jak na serveru, tak ve hře, tedy ve vašem patchi. DBC úpravy na serveru vždy vyžadují restart serveru, aby se správně projevily. Některé úpravy, jako například zmíněná tvorba displayIDček NPCček, vyžadují také nějaké úpravy v databázi. Na databázi platí stejný postup jako na DBCčka - prohledejte tabulky, podle názvů a dokumentace dohledejte, které jsou ty, které vás zajímají a upravte je. Návod na to, jak se pracuje s MySQL databázemi tady uvádět moc nebudu, protože jednak nejsem žádný odborník na MySQL, druhak potřebné základy už jsou zmíněny v 3. dílu návodu, kde se během přípravy databází naučíte prakticky vše, co potřebujete do začátku. Je rozhodně užitečné se časem naučit i co nejvíce z jazyka SQL. Malý tip k hledání správných tabulek: pokud nevíte, kde je něco uloženo, nahlédněte do dokumentace tabulky, která danou věc využívá. NPCčka jsou z velké části v creature_template ve world databázi. Pokud víte tohle, můžete se podívat do dokumentace creature_template, kde zjistíte, že modelid NPCčka jsou v creature_model_data ve world databázi. V dokumentaci k této tabulce už byste měli najít odkaz na to, že je zde používáno CreatureDisplayInfo.dbc. Když půjdeme ještě dál, zjistíte, že toto DBC používá také nějaká data z CreatureModelData.dbc a CreatureDisplayInfoExtra.dbc. WoW je hodně propojené - drtivá většina tabulek v DB odkazuje na další tabulky v DB a na alespoň jedno DBC, drtivá většina DBC pak odkazuje ještě na alespoň jedno jiné DBC. Vzniká tak rozsáhlý systém vzájemného odkazování se z tabulky na tabulku. Často je třeba projít až několik referencí, než se dostanete k místu, kde je upravováno, co chcete upravit. WDBX Editor WDBX Editor jsem zatím neměl osobně čas pořádně otestovat, ale zatím vypadá velice, velice slibně. Pokud jste konzervativního typu, používejte MyDBCEditor, v opačném případě můžete zkusit sáhnout po tomto. Zatím není v mém balíčku. MyDBCEditor MyDBCEditor je mým preferovaným editorem pro úpravy DBC. Je nejspolehlivější, dokáže nejvíce DBCček otevřít, upravit a uložit aniž by je nějak poškodil či bugnul. Ostatní editory a cesty, jak upravovat DBC, vám mohou někdy usnadnit práci a mohou fungovat v případech, kdy MyDBCEditor selže (některá DBC totiž na příklad vůbec neumí otevřít, hodí u nich error), nicméně pro změnu běžne bugují DBCčka, která v nich uložíte. Proto je preferovaný tento. MyDBCEditor má dvě hlavní vady, pomineme-li, že nedokáže otevřít úplně všechna DBC. Nepodporuje žádnou cestu jak dělat jakékoliv masové úpravy - tedy žádné scripty, podmínky, hromadné příkazy, dokonce ani napsání stejné hodnoty do sloupců - zapomeňte na podobný "neskutečně nadstandartní" luxus. Čeká vás nimrání se jedno políčko po jednom políčku. A druhá věc je fakt, že MyDBCEditor nemá žádné klávesové zkratky. Pokud chcete na příklad zkopírovat řádek, musíte kliknout pravým na řádek, pak kliknout na Copy Row a pak napsat číslo řádku, kam se má kopie hodit. Tedy hodně štěstí s vytvářením i třeba jen hloupých 50ti nových řádků. Omlouvám se za dávku arogantního sarkasmu, ale MyDBCEditor je jednoduše peklo na zemi, a co je nejhorší, je pořád prakticky to nejlepší, co máme. Ještě poznámka na závěr, v MyDBCEditoru se spoustu hodnot zobrazuje zapsaných v hexadecimální (šestnáckové) soustavě. Mnohé bitové masky, ale i některá normální čísla se tak zobrazují a naopak, některé bitové masky se kdo ví proč zobrazují jako normální čísla. Pokud ale někde nějaké číslo upravujete nebo vyplňujete, vždy zadávejte desítkovou verzi čísla. O číselných soustavách a o tom, jak se pracuje s bitovými maskami (nebo také flagami) je poslední sekce tohoto článku. Níže jsou alternativní cesty, jak DBC soubory upravovat. Před zvolením jakékoliv z nich doporučuji si udělat zálohu DBC, které se chystáte upravit. Tyto cesty totiž mají rozhodně větší než zanedbatelnou šanci DBC nějak poškodit během ukládání. Taliis Pokud vám nějaké DBC nejde otevřít v MyDBCEditoru, záložní cestou je Taliis. Ten najdete v návodovém balíčku ze složce Nezarazene. Taliis je napsaný v Javě, takže ji budete potřebovat k jeho spuštění. Tento program sice dokáže otevřít více různých typů souborů a umí všechno možné, problém je ale v tom, že je silně zastaralý, dělaný pro TBC. Většina věcí v něm tedy nefunguje a DBCčka v něm upravované se nezřídka bugnou, proto jej berte jen jako záložní, používejte jej s opatrností a dělejte si zálohy. Taktéž se může stát, že se bugne i přímo Taliis a nejde v něm DBCčko upravovat apod. - pár restartů aplikace a pokusů znovu mi tohle zatím vždy dokázalo vyřešit. DBCUtil DBCUtil je konvertor, který vám DBC, které na něj přetáhnete myší, upraví na CSV soubor. CSV je jednoduchý typ tabulky, podobně jako je třeba TXT jednoduchý typ textového souboru. Kromě toho, že můžete CSV upravovat ve WordPadu, poznámkáči nebo čemkoliv podobném na něj existují také editory, které jej otevřou jako tabulku. Tyto editory dokonce podporují i (mnohdy i dost pokročilé a hezké) hromadné úpravy a mělo by také jít dostat CSV přímo do MySQL serveru jako DB tabulku. Vše věci, které se mohou velice hodit. CSV soubor přetažený myší na DBCUtil je zase konvertován na DBC verzi. Jaký je v této cestě jak upravovat DBCčka háček? Více méně jen ten, že DBCčka vytvořená DBCUtilem občas nefungují jak mají nebo nefungují vůbec. To jde s trochou štěstí opravit, pokud se vyznáte přímo ve struktuře DBC a ovládáte úpravy skrze hexa editory, ale to je čistě něco pro programátory. Když už to tady naťukávám, dokumentace ke strukturám jednotlivých souborů užívaných ve WoW také najdete na WoW Devu. Kdyby se někdo měl k sestavení skutečně pořádného DBC editoru, má od komunity snad 1000 sušenek. Pokud chcete jen upravit jedno číslo někde v jednom řádku, je konverze do CSV a pak zpátky zbytečně zdlouhavá. DBC Editor V podstatě obdoba MyDBCEditoru, fungující velice podobně, jen s tím rozdílem, že ovládá alespoň úplně základní seřazování řádků podle hodnot v jednom sloupci. DBC Editor však bohužel občas blbne, viděl jsem jej několikrát poškodit DBCčko během ukládání, což mi MyDBCEditor nikdy neudělal, pokud něco už dokázal alespoň otevřít. V praxi jej vůbec nepoužívám a sem jej dávám spíše jen pro pořádek a jako naprosto záložní cestu. Na závěr něco k bitovým maskám Věc, se kterou lidé, kteří nemají zkušenosti s programováním, často zápasí, jsou bitové masky. Najdete je v dokumentaci označené jako bitMask u typu proměnné ve sloupci. Někde jsou také označovány jako takzvané flagy. Pokud máte zkušenosti zejména s úpravami NPCček a částečně i itemů v DB, jistě jste se s nimi už setkali, i když o tom třeba nevíte. Bitová maska je vždy celé číslo, které vyjadřuje, které možnosti vyjádřené maskou jsou "zaškrtnuté", a které ne. Jako modelový příklad použijeme třeba hratelné rasy.: Human Orc Dwarf Tyhle 3 nám budou pro ukázku stačit. Budeme mít bitovou masku, která nám každou z těchto 3 možností buďto zapne, nebo vypne. Přiřadí ji tedy 0 (vypnuto), nebo 1 (zapnuto). Z našich 3 možností některé náhodně označím jako zapnuté: Human - 1 Orc - 0 Dwarf - 1 Dejme tomu, že naše bitová maska vyjadřuje, jaké rasy mohou používat item. Náš item můžou používat lidé a trpaslíci, ale orkové ne, mají nastavenou 0. Problém systému, který je výše je ten, že pro 3 možnosti potřebujeme 3 políčka, do kterých napíšeme 0 nebo 1. Pro 10 možností bychom potřebovali těch políček 10. Bitová maska nám vše zjednoduší do jednoho políčka, a to následovně.: Hodnoty z masky se zapíšou od poslední po první za sebe. Tedy nejdříve hodnota u trpaslíka, pak u orka a pak u člověka. Tedy 1 0 1. Vznikne nám tak jedno číšlo. Toto číslo je v binární soustavě. Než začnete vyděšeně řvát, k čemu je binární číslo a že jim nerozumíte, pokud jste se s nimi nikdy nesetkali, převést binární číslo do klasického, decimálního, na jaká jsme zvyklí, je velice jednoduché. Každou cifru v čísle použijete jako číslo u řádu. Malinko odbočím, ukažme si třeba číslo 153. Toto číslo můžeme rozložit na řády jako 1 stovka, 5 desítek a 3 jednotky. Když chceme toto číslo zase složit, stačí jen počet u každého řádu vynásobit hodnotou toho řádu - tedy 1×100 + 5×10 + 3×1 = 153. A úplně stejně to jde i u jiné než desítkové soustavy. V binární (dvojkové) soustavě vše funguje stejně, jen máme jiné hodnoty řádů. Jednotky jsou všude jednotky, ale místo desítek máme dvojky, místo stovek čtyřky, místo tisíců osmičky... šestnácky, 32ky, 64ky... A tak dále. Takže číslo 1 1 1 0 1 je v desítkové soustavě 1×16 + 1×8 + 1×4 + 1×0 + 1×1 = 29. Pokud chápete tohle, je dost jednoduché zjistit, co je číslo 1 0 1 v desítkové soustavě - je to 5, jedna čtyřka, nula dvojek a jedna jednotka. Číslo 5 vložené jako hodnota do bitové masky znamená, že 1. a 3. možnost jsou zapnuté, všechny ostatní vypnuté. Je tu ještě jedna výjimka (tedy, ona to žádná výjimka není pokud rozumíte problematice z pohledu programátora, ale pro laika to nazývejme výjimkou) pro usnadnění. Hodnota -1 znamená vše zapnuto. Proč tohle ukazuju? Mno, protože bitmapy nebo flagy se používají velice často. Podívejme se třeba na AreaTable.dbc. V tomto DBC se nastavují názvy lokací v mapě a jejich další nastavení. Můžete si všimnout, že sloupec číslo 5 je označený jako Flags s tím, že jednotlivé flagy, možnosti k zapínání a vypínání v bitové masce, jsou vypsány a vysvětleny níže. V tabulce nadepsané "enum AREATABLE_FLAGS" jsou všechny tyto možnosti napsány pod sebou. Čísla, která jsou u jednotlivých možností jsou pro zkušenější s převody mezi číselnými soustavami usnadněním - jsou označena na začátku 0x, což vyjadřuje, že jde o čísla zapsaná v hexadecimální (šestnáckové) soustavě. Pro vás budou ale asi jen ošklivě matoucí. Bystřejší z vás si odvodí podle návodu k binární soustavě, jak funguje hexadecimální (tip pro opravdu hloubavé, ale vysvětlovat to tu už ani nebudu - každá 1 pozice v hexadecimální soustavě se dá zapsat přesně 4mi pozicemi v soustavě binární, tedy 0x10 je 0 0 0 1 0 0 0 0, tedy 1×16 = 16), ti méně matematicky založení si mohou prostě ručně odpočítat u každé možnosti k zapnutí, kolikátá je. Řekněme, že budu chtít, aby měla má zóna zapnuto "AREA_FLAG_SNOW", "AREA_FLAG_ARENA" a z nějakého důvodu i "AREA_FLAG_SLAVE_CAPITAL". Chci sněžnou arénu co je hlavní město otroků. SNOW je 1. možnost, SLAVE_CAPITAL je 4. možnost a ARENA je 8. možnost. Binární číslo píšu odzadu (nezapomínat) a bude mít tedy 1čku na 1., 4. a 8. místě od zadu. Tedy 10001001. 9. a další možnosti zapínat nebudu, takže začátek čísla by byla jen dlouhá řada 0, nemusím ji tedy ani psát. 10001001 převedu do desítkové soustavy, tedy na 1×128 + 1×8 + 1×1 = 137. 137 je číslo, které zapíšu do 5. políčka v DBC, a to bude vyjadřovat, že zóna, ke které to napíšu, je SNOW, SLAVE_CAPITAL a ARENA. Drobný tip: Truice, pokud jej máte, počítá hodnoty bitových masek za vás, pouze v něm zaškrtáváte možnosti. Můžete si přes něj výpočty hodnot usnadnit.
  15. MPQ archivy, mnohdy známy jako patche, jsou soubory, ve kterých jsou zabalena téměř všechna data, se kterými herní klient pracuje. V tomto tutoriálu si projdeme, jak se s nimi pracuje, což nám otevře dveře k takřka všem úpravám, které bychom mohli na WoW aplikovat (a které jsou uskutečnitelné). Na začátku 1. části této série návodů najdete detailní přehled, které všechny typy souborů lze v MPQ archivech najít a stručný popis, k čemu slouží. Potřebné programy MPQEditor Potřebné počáteční znalosti Žádné. Užívaný editor Pokud chceme vytvořit nebo upravit MPQ archiv, potřebujeme k tomu MPQ Editor. Jeho nejnovější verze jsou dělané na novější datadisky a hry, tím pádem jej nemohu doporučit používat na naše WotLK soubory. V tutoriálovém balíčku přiloženém k 2. dílu návodů najdete ve složce MPQpatche aplikaci MPQEditor. Jedná se o dosti starou, ale podle mých několika let praxe naprosto spolehlivou verzi bez problémů fungující s WotLK. Je tam také novější verze aplikace, ta však může u WotLK občas trochu blbnout, proto ji moc nedoporučuji (už mi jednou zničila data). Nyní k samotnému editoru. Funguje jako normální aplikace, které můžete přiřadit, že všechny MPQ soubory budou vždy automaticky otevírány jí (věřte nebo ne, ve WoW moddingu vzácný luxus). Když spustíte MPQ Editor, máte v něm haldu funkcí, většinu jsem v životě nevyužil a pochybuji, že je kdy využijete vy. Podíváme se tedy na to, co byste s ním umět měli a co se vám bude určitě hodit. Vytváření nového MPQ Otevření MPQčka rozebírat nemusím, otevírá se jako jakýkoliv jiný soubor jakoukoliv jinou aplikací. Důležité je jak si vytvářet patche vlastní. Následující návod platí pro starší verzi editoru, v novější bude postup obdobný. Spusťte MPQ Editor. Dejte New MPQ (ikonka bílého listu vlevo nahoře nebo možnost v menu File). Vyplňte název. Herní klient akceptuje pouze patche s názvem ve formátu patch-[1 znak ACII tabulky], tedy patch-4 nebo patch-x. Cokoliv jiného vám nejspíše nebude fungovat. WoW Model Viewer však sežere jakékoliv názvy, minimálně jsou-li z ASCII určitě, MPQ Editor samotný také - hra už ne. Mějte na paměti, že herní klient otevírá patche podle abecedy a to, co je otevřeno jako poslední, má nejvyšší prioritu. Pokud budete tedy chtít svým patchem přepisovat obsah patchů jiných, je třeba volit písmena až za nimi. To koneckonců budete dělat se všemi svými patchi - vždy budete přepisovat ty blizzlike. Nicméně custom patche se přepisují i mezi sebou navzájem. Takže pokud budete mít patch-a a patch-b, s tím že některé soubory budou v obou (nicméně v patch-b budou novější verze), nepřejmenovávejte patch-a na třeba patch-c, protože pak by měly vyšší prioritu zastaralé soubory z Ačka. Další možnost nechte v prvním okně prázdnou. V dalším okně nechte Create empty MPQ. Velikost hashovací tabulky vám určuje, kolik souborů bude možné do archivu vložit. Větší hashovací tabulka způsobuje o něco větší velikost patche na disku. Výchozích 4096 vám bude v 95% případů bohatě stačit. Nechte zaškrtnuto, že MPQ má být verze 2.0 a nechte vytvořit (attributes). A to je vše, máte vytvořený vlastní nový a zatím prázdný MPQ archiv, ten se zobrazí v aktuálním pracovním adresáři (tedy buďto ve složce, kde máte MPQ Editor, nebo ve složce, ve které jste otevřeli za jeho pomoci poslední MPQ archiv, nastavit jde ve Vlastnostech zástupce, pokud aplikaci spouštíte přes zástupce). Soubory do něj vkládejte obyčejným přetahováním myší na pravou polovinu okna MPQ Editoru, pokud se vám při pokusu vložit soubory něco objeví (většinou otravuje nastavení archivation rules a podobné kraviny, dokud tam neodškrtnete, ať se to znovu nezobrazuje), prostě to odklikněte, tam se není třeba ničím zaobírat. Dodám jen, že MPQ Editor ihned ukládá všechny změny a že neukládá prázdné složky (přesněji neukládá složky vůbec, ty tam jsou zobrazovány jen imaginárně, aby měl uživatel-milovník obrázkových Windows radost). Pokud vytvoříte složku a nevložíte do ní žádný soubor, po restartu MPQ Editoru ji tam již nebudete mít. Komprese archivu, nastavení hashovací tabulky, extrakce dat Pokud v MPQ archivu nějaký již existující soubor přepíšete či odstraníte, berte v potaz, že stará data nejsou z archivu odstraněna, ne úplně. Jsou pouze vyškrtnuta z hashovací tabulky a již k nim není žádný přístup. Fyzicky tam ale stále jsou a zabírají místo na disku. Řešení jsou v podstatě dvě. První, zbytečně pracné, je označit všechna data, dát ctrl+e a vyextrahovat vše ven, patch smazat, znovu vytvořit a data do něj naházet. Zmiňuji to tady vlastně jen proto, že samotná extrakce dat ven se vám může také někdy hodit. Soubory jdou z patche samozřejmě jen vytáhnout myší, ale pokud jich je hodně, musíte vždy počkat, až po vytažení kurzoru z patche proběhnou všechny lišty, které se tam začnou míhat. Když pustíte myš dříve, extrakce neproběhne. Ctrl+e je tak mnohem elegantnější a rychlejší. Pokud však nechcete data extrahovat a skutečně chcete jen celý archiv zkomprimovat tak, aby měl takřka optimální velikost, běžte do menu Operations a zvolte úplně dole Compact archive. Pokud byste chtěli naprosto optimalizovat velikost patche, bylo by třeba také minimalizovat velikost hashovací tabulky. Velikost hashovací tabulky se nastavuje opět v menu Operations, možnost Change Hash Table Size. Tuto možnost však využijete spíše pokud by se vám někdy stalo, že přešvihnete původní maximum a budete potřebovat přidávat další nové soubory. Ještě přidám jednu připomínku ke vkládání souborů. Pokud se pokusíte do MPQ archivu vložit více souborů, než na kolik je místo v hashovací tabulce, může se vám MPQ úplně zničit. Soubory tam navíc nedostanete, MPQ editor vám pro každý přebytečný milostivě oznámí, že se tam nevejde a pokud nebudete chtít 1000x odkliknout že víte, že se tam nevejde, budete muset killnout proces přes správce úloh. Proto si vždy přes Vlastnosti složek se soubory, které se chystáte vložit do MPQ, zjistěte počet souborů. Pokud máte podezření, že by celkový počet souborů převýšil velikost hashovací tabulky, nejdříve ji zvětšete. MPQ Editor má ještě další funkce, nicméně těmi se zde zobírat nebudu, protože jsem je já sám za více jak 3ech letech modování nikdy nevyužil. To vám pochopitelně nikterak nebrání v experimentování s nimi. Ohledně MPQ archivů platí dvě univerzální rady.: VŽDY mějte zálohy všech vašich dat, včetně těch blizzlike. NIKDY needitujte přímo blizzlike patche, vytvářejte pouze své, které budou v abecedě za nimi. Listfile a Merged mode Listfile je důležitý soubor v MPQ. Obsahuje seznam cest ke všem souborů, které v MPQ jsou. Bez listfilu sice dokáže MPQ přečíst herní klient, ale nedokáže jej vůbec otevřít WMV a MPQEditor jej sice otevře, ale nedokáže souborům přiřadit názvy a cesty k nim (takže dostanete jen hromadu nesrozumitelného bordelu). Listfile můžete exportnout jako každý jiný soubor, otevřít v poznámkovém bloku, používat k tomu, abyste si z něj mohli okopírovat celé cesty k souborům... Také se může hodit jako vstupní soubor pro některé (zejména mé) prográmky. Jinak nemá soubor cenu editovat, MPQEditor jej generuje a aktualizuje sám, nemusíte se o něj tedy starat. Pokud přetáhnete myší MPQ na FuckItUp ve složce MPQpatche v mých toolskách, FuckItUp optimalizuje velikost MPQ a smaže z něj listfile. Pozor, toto nikdy nedělejte bez toho, že byste měli kopii, ve které listfile stále je. K čemu může být odstranění listfilu? V první řadě, pokud MPQ nemá listfile a vy mu dodáte jiný, vlastní (viz níže), otevře MPQEditor úspěšně jen ty soubory, které jsou v dodaném listfilu. Díky tomu můžete snadno otevřít pouze ty soubory, které chcete, a exportnout z MPQ pouze ty soubory, které chcete (použijete tedy listfile jako takový filtr). Dále můžete odstranění listfilu použít jako primitivní, ale ucházející zabezpečení proti alespoň méně kompetentním pokusům o vykradení vaší práce, pokud MPQ vydáte veřejně a nechcete, aby do něj každý mohl. Pokud chcete otevřít MPQ, ze kterého byl listfile vybrán, jděte v MPQEditoru do menu File, zvolte Open MPQs With Option(s)... Vyberte MPQ, dejte OK. Pak vpravo nahoře klikněte na 3 tečky u Additional Listfile a vyberte listfile. V tomto okně také můžete vybírat více než jedno MPQ a pak můžete otevřít více MPQ najednou v jednom Merged módu. To se může hodit na exporty souborů (zejména WMO, které nedostanete ven přes WMV zrovna pohodlně). Pokud chcete do MPQ, ze kterého jste sebrali listfile, listfile vrátit, jednoduše vyexportujte veškerý obsah MPQ a vytvořte MPQ nové. To vám samozřejmě nepůjde, pokud dané MPQ neotevřete s listfilem, který jste v něm předtím smazali. Proto ta záloha.
  16. Well, you request tutorials about making a new custom map. And thats a great example to show my points stated above :D. Because the easiest thing to actually do is actually just replacing blizzlike map. Why? Well, if you want to create a new map, you need to: Edit 2 DBCs. Great, lets make a DBC tutorial first! Create a WDT for it. OK, lets make a WDT tutorial as well! Create a WDL for it. Sec, someone might not need to have WDL at all... eh? But I guess WDL tutorial would be fine to do as well. Create a server side maps for it. Oh, sec, someone might not need to... But still, it should be mentioned there as well... When we are speaking about server side maps, does a reader already have some test server? Does he have map extractors? If not... Speaking about a test server, shall we write a tutorial about compiling one's own emulator? (and btw, keep it up to date with new revisions) Oh. Oh... ... So... :D. You can't actually assume that a reader knows absolutely nothing about modding because otherwise writing a tutorial can be quite a maddening task to do :D. I'll see what I can do about this, but some time ago I gave up even on writing czech tutorials and thats my mature language. Writing in english is even a bigger pain to me sometimes (and to those who read it and actually do speak and write english properly probably as well).
  17. Well, first of all, I'm quite sure that animations are bound to models (so in this case human male, orc female... and so on). So if you want to edit something just on paladin, it most likely won't really be possible as long as your paladin will use general (some race) (some gender) model. You btw haven't mentioned which expansion you are working on. Assuming you are on WotLK (because if that isn't the case, I can't help you whatsoever). https://wowdev.wiki/DB/AnimationData This DBC seems to define only some parameters for animations model can have. It doesn't really set which animations are being used for which tasks. What you want to edit can't be found in DBCs anyway. Animations are part of model - you need to edit model itself in a 3D editor. There aren't many people who can edit animations of models in WoW. What is commonly done (even with full custom models) is actually just "copying" already finished animations from blizzlike models. The only guy around I think might be able to at least somewhat help you is @Vellear and I'm not entirely sure if what you want is even possible. You also haven't mentioned if you want to just replace an animation by some existing one (on character model or on different model) or if you want to create your own, fully custom. Some of options I've mentioned may be actually (hopefully) possible, some probably not. Still, knowledge beyond beginner's skills will be needed. I may be actually a little bit wrong and thing you want to do might be doable just by using a 010 editor and M2 template. In such case, I can't help you with that as I have only really a very basic knowledge of performing such tasks.
  18. I don't read every single topic. Sometimes I don't have time to answer. Sometimes I want to answer it later, but I forget to do so. Sometimes I have no idea what the actual fluff does the person asking a question want, since his english is horribly broken or his understanding of thing he's asking bout is literally 0 so I don't even know, what is it he wants. And sometimes I simply don't know what an answer is (quite commonly, honestly). And I'd say its the same deal for every dev around. I'll take a look at your topic and see what I can do for you though.
  19. Well, I came here without any prior experience with ANY kind of modding and I was able to simply learn some basics from things which are already written here or shown on YouTube, and I was able to figure out the rest on my own. Its quite discouraging to write fully noob-proof tutorial about things which can be figured out by just running an application and fiding out what are buttons doing by actually clicking on them. Sometimes its not that easy, but here comes a problem, there are thousands of things one might possibly want to mod in WoW. They are also connected to each other. That makes writing tutorials without assuming that readers already have some basic knowledge very hard. Yes, you might want to say that in such case it would be great to write some tutorials about those basic things, but the biggest problem here is that there is just too huge variety of things which might be considered as "basic" and nearly noone around really knows them all. Because we are all, at least in some fashion, focused only on some parts of modding. Honestly, since I've learned most of stuff like 4 years ago, I can't really write up to date beginners tutorial, because I do some things in ways which are like antique to some "younger" modders around. And I know about it. But, you know, if it works and isn't broken... don't fix that... For example, I know most of DBCs very well. Can I write DBC editing tutorial? Honestly, no. I use outdated tools, outdated convertors, I work only on WotLK... I would need to make a lot of, for me, unneccessary research to make a DBC editing tutorial. Research you guys can do on your own as well - by using Google I'd use as well anyway, so, why the hell bother... Btw, its hard to describe DBCs when reader doesn't know anything about bit masks. So, lets describe bit masks! Oh, wait, most of DBCs don't actually have bit masks in them. But some do. So... wth now... Make loooong tutorial full of unneccessary information, or a simple one, which won't help half of readers enough anyway? And, there's one more thing. Forums are FULL of questions which were already answered before and answers to them are actually given in tool manuals and in tutorials (side from fact that those questions themselves were also asked before anyway and even answers to prior questions were not, by a lot of people, actually readen). So... does like anyone even read those tutorials, manuals, does anyone go through prior questions and answers to them, through FAQ, does anyone try to #useGoogle and#useYouTube? Sometimes I'm nearly sure that like NOONE actually does so :D. At least it looks so in each help forum. While I feel for you, acknowledge that getting here isn't easy and while I do know that tutorials here aren't in the best shape, I'd really like to stress that there are reasons for that. I can really think about dozens of things I'd like to do rather than holding someone's hand while noone held mine - and I was fine anyway.
  20. It seems so. You never know for sure :D. #Wizzard
  21. For generating your own one, you can use this:
  22. My apologies for not responding earlier. This is for WotLK. It contains only displayIDs for all models in WotLK client, it doesn't contain any retro ported models or similiar kind of stuff. I'm going to release a tool used for creating this release to give you possibility to make something like this on your own and to use this even on retro-ported models.
  23. Thanks, thats what I always focus on, I want users to actually understand what the fluff am I talking about. Sometimes I'm even afraid I'm overoing it :D.
  24. Yes. If you get problems with buggy NPC behaviour in combat/when following waypoints in areas above that mine, mine is the thing causing them. Although this mine of yours seems to be (hopefully) far-enough under surface.
  25. Yup, server side maps do a lot. Btw, if you have any kind of WMO under terrain (like a cave) and its close to terrain surface, its prone to cause buggy NPC behaviour with vmaps.