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

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Amaroth

Pages: 1 [2]
16
česky / 04 - Vytváření a editace MPQ archivů
« on: August 02, 2015, 05:54:31 pm »
[paragraph:3c7t54x4]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ží.[/paragraph:3c7t54x4]

Potřebné programy


[paragraph:3c7t54x4]MPQEditor[/paragraph:3c7t54x4]

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


[paragraph:3c7t54x4]Žádné.[/paragraph:3c7t54x4]

Užívaný editor


[paragraph:3c7t54x4]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.[/paragraph:3c7t54x4]

Vytváření nového MPQ


[paragraph:3c7t54x4]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ý.

1. Spusťte MPQ Editor.
2. Dejte New MPQ (ikonka bílého listu vlevo nahoře nebo možnost v menu File).
3. 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.
4. 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.
5. Další možnost nechte v prvním okně prázdnou.
6. V dalším okně nechte Create empty MPQ.
7. 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.
8. 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.[/paragraph:3c7t54x4]

Komprese archivu, nastavení hashovací tabulky, extrakce dat


[paragraph:3c7t54x4]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.:
1. VŽDY mějte zálohy všech vašich dat, včetně těch blizzlike.
2. NIKDY needitujte přímo blizzlike patche, vytvářejte pouze své, které budou v abecedě za nimi.

<- 03 - Instalace testovacího serveru
-> 05 - Editace DBC[/paragraph:3c7t54x4]

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

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

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

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

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

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

Potřebné programy


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

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


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

Win - 1 - potřebný software


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

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


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

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

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

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

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


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

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

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

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

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

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

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

Win - 4 - poslední přípravy


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

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

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

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

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

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

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

Linux


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

Jak na dálkový přístup


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

WinSCP vám bude sloužit pro nahrávání dat, která server potřebuje, a dále pro úpravu souborů. PuTTy vás provede instalacemi. První co budete chtít pravděpodobně udělat, je změnit si heslo, které vám nastavil poskytovatel. Napište do konzole následující příkaz, stiskněte enter a vyplňte staré a pak 2x nové heslo, až je po vás systém bude chtít.:
Code: [Select]
passwdPoznámka: Pokud si u sebe v počítači dáte něco na ctrl+c, do konzole to nakopírujete přes shift+insert. Opačně, z konzole kopírujete přes ctrl+insert a pak do počítače vkládáte už přes klasické ctrl+v.
Poznámka 2: V Linuxu jsou na rozdíl od Windowsu snad všude rozlišována velká a malá písmena, pozor na to.

Příprava před kompilací


V první řadě si zaktualizujte aptitude.:
Code: [Select]
aptitude updatePokračovat budeme vytvořením druhého účtu do systému, který bude zvýšená práva, avšak nebude na úrovni roota (volně přeloženo, trochu "bezpečnější" účet než root na to, abyste jej např. půjčili někomu, kdo vám se serverem pomáhá apod.). Také si nainstalujeme sudo. Během instalací všeho možného většinou dostanete otázku <Y/n>. Napište do konzole vždy Y a zmáčkněte enter. Příkazy posílejte postupně po jednom. U sudo adduser si zvolte libovolné jméno nového uživatele, já použiji třeba trinity.
Code: [Select]
aptitude install sudo
sudo adduser trinity
sudo adduser trinity sudo
Máme účet, na kterém server pojede, až bude fungovat. Nyní je na čase dát dohromady samotné TrinityCore2. Nakopírujte do konzole následující 3 příkazy.:
Code: [Select]
sudo apt-get install build-essential autoconf libtool gcc g++ make cmake git-core wget p7zip-full libncurses5-dev zlib1g-dev libbz2-dev

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

sudo apt-get install libboost-dev libboost-thread-dev libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-iostreams-dev
Během instalace MySQL budete tázáni na root heslo do databáze. Zvolte si nějaké, které nezapomenete, budete jej potřebovat později. Nyní máte vše potřebné ke kompilaci.

Zdrojové kódy a kompilace


Následující příkaz vás vrátí do kořenového adresáře pro případ, že byste v něm nebyli a stáhne vám zdrojové kódy TrinityCore.
Code: [Select]
cd ~/
git clone -b 3.3.5 git://github.com/TrinityCore/TrinityCore.git
A nyní si připravíme zdrojáky na kompilaci. Nastavení u cmaku můžete zvolit i jiné (můžete zvolit např. jiné cesty), nicméně pokud toto čtete, jste začátečníci a nedoporučuji vám se u prvního serveru moc toulat na vlastní pěst s experimenty.
Code: [Select]
cd TrinityCore
mkdir build
cd build

cmake ../ -DCMAKE_INSTALL_PREFIX=/home/trinity/server -DCONF_DIR=/home/trinity/server/etc -DLIBSDIR=/home/trinity/server/lib
Nyní kopilace a instalace. U příkazu make -j vyplňte svůj počet jader procesoru, pro mě to jsou 2.
Code: [Select]
make -j 2
make install

Aktualizace coru


V případě, že byste chtěli někdy zaktualizovat svoje TrinityCore, běžte ve WinSCP do cesty /root/TrinityCore/build, vše v této složce smažte (to je vhodné udělat před každou kompilací, ne vždy nutné ale pro vás bezpečnější) a pak použijte následující příkazy (zase si případně upravte počet jader CPU a cesty, případně další nastavení u cmaku).:
Code: [Select]
cd ~/TrinityCore/
git pull origin 3.3.5

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

make -j 2
make install

Příprava MySQL serveru


MySQL už máte nainstalované, nicméně je třeba mít do něj také přístupy, jinak vám je k ničemu.:
Code: [Select]
mysql -u root -pVyplňte heslo, které jste si zvolili při instalaci a dostanete se do konzole MySQL. Nyní si vytvořte uživatele (jméno a heslo si zvolte nějaké svoje, pozor na správné umístění ' mimochodem) a dejte mu plná oprávnění.:
Code: [Select]
CREATE USER 'login'@'%' IDENTIFIED BY 'heslo';
GRANT ALL PRIVILEGES ON *.* TO 'login'@'%'
WITH GRANT OPTION;
Dále přes WinSCP dojděte do cesty /etc/mysql/, otevřete my.cnf dvojklikem a ověřte si, zda je bind-address      = 127.0.0.1. Pokud ano, přepište 127.0.0.1 na IP VPSky, aby byl MySQL server přístupný z vnějšku, ne jen ze systému. Nyní byste měli mít možnost se přes svůj nový účet do MySQL normálně připojit. Pokud ano, dejte si dohromady databázi. Postup je naprosto identický jako na Windows (tedy viz výše). Potřebujete tedy vytvořit účet pro trinitycore, vytvořit auth, characters a world databáze a ty naplnit tabulkami a výchozími daty.

Data pro servery a konfigurace


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

# označuje jen komentář a vše co je za ním až do konce řádku je ignorováno. Needitujte proto prosím řádky začínající #, protože to nic neudělá a jen si dobrovolně odmažete dokumentaci od tvůrců emulátoru. V konfigurácích vás budou zajímat hlavně přístupy do databází. Najdete v obou konfigurácích podobný řádek.:
"127.0.0.1;3306;trinity;trinity;auth"
pro každou databázi. 127.0.0.1 přepiště na IP vaší VPS a ujistěte se, že sedí i ostatní údaje.

Dále věnujte ve worldserver.conf také pozornost čemukoliv, co nějak souvisí s mmapami a vmapami. Pokud je nebudete chtít používat, vypněte je zde. Můžete také omrknout DataDir a LogsDir, pro případ, že chcete upravit cesty, kde budou uloženy mapy, dbc, vmapy, mmapy a případně logy. Osobně doporučuji tyto cesty nastavit následujícím způsobem.:
DataDir = "/home/trinity/server/data"
LogsDir = "/home/trinity/server/logs"
Další nastavení v konfiguráku můžete alespoň zatím přeskočit a případně si jej projít později. Pro funkčnost serveru tohle postačí.

DBC, mapy, vmapy, mmapy


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

Restarter


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

Přidání 2. realmu


Připravuje se.

<- 02 - Potřebný software
-> 04 - Vytváření a editace MPQ archivů[/paragraph:2stxaoxy]

18
česky / 02 - Potřebný software
« on: March 02, 2015, 10:11:21 pm »
[paragraph:1p5us31i]Než začneme, většinu všech možných věcí, které se vám mohou hodit, jsem hodil do jednoho .7z packu. Pár scriptů a programů tam zcela určitě chybí a pokusím se je časem doplnit (v tomto směru bych i ocenil návrhy od vás). Také bych rád řekl, že ne se všemi mám své zkušenosti a ne všechny aktivně používám, takže pokud vás nějak vystraší velikost packu nebo počet věcí v něm - neděste se, většinu z toho nikdy nebudete potřebovat a solidní část tak možná 3x za život. Doplním zde také aplikace, které by se vám mohly hodit. Pokusím se všechny aplikace rozdělit relativně přehledně do několika sekcí, alespoň v rámci možností.

Vzhledem k tomu, že s 3D teprve začínám a že programů a scriptů je opravdu hodně, není lehké zde mít opravdu vše a aktuální. Chtěl bych vás tedy poprosit, abyste se nebáli něco připomenout, ať máme tuhle sbírku co nejkompletnější a nejaktuálnější. Na používání jednotlivých nástrojů se podíváme v dalších návodech.[/paragraph:1p5us31i]

DBC


[paragraph:1p5us31i]Ohledně této sekce vám mohu být kdykoliv plně nápomocen, mám s ní rozsáhlé zkušenosti.
*Blizzlike335aEnGBDBCs
Pro usnadnění jsem vám poskytl všechna blizzlike DBCčka z mého 3.3.5a enGB herního clienta. Být vámi si vždy držím někde tuto složku zazálohovanou. Druhá cesta, jak získat DBCčka je vytáhnout si je ručně z patchů (otravná práce) nebo skrze extraktory dodávané s emulátory serverů. Já vám sem dávám svou složku opravdu jen pro usnadnění vašeho startu s wow moddingem.
*DBCtoCSV
CSV je textové obdoba jednoduchých databázových tabulek. Výhodou CSV je, že na něj existují profesionální editory a že je velice snadné si na něj napsat i svůj vlastní editor, nebo script na hromadné úpravy. Naše editory, které pracují přímo s DBC soubory nejsou úplně 100% spolehlivé a chybí jim možnosti masové editace, což je někdy dost nepříjemná slabina. Navíc není až tak triviální napsat si nějaký script na jejich masové editace. Proto by se vám mohl hodit zde přihozený obousměrný converter DBCUtil.
*LightMapper
Tento prográmek vám umožňuje nechat si zobrazit libovolnou mapu a v ní užívané nastavení oblohy. Ta se skládá z věcí jako je model užívaný na nebe, nastavení mraků, mlhy apod. Pro práci s oblohou jen těžko postradatelná věc.
*Spell Editor V2
Abych řekl pravdu, tento editor nepoužívám k editacím kouzel, preferuji upravování DBC souboru přímou, standartní cestou. Nicméně tato aplikace je velice užitečná k přehlednému zobrazení většiny informací o konkrétním spellu a díky ní tak můžete snáze zjistit, co a kde potřebujete upravit k získání vámi požadovaného výsledku, nebo rychleji zjistit, jak ten či onen spell funguje. Samospásná tahle toolska ale není, protože spelly jsou velice složitý a rozsáhlý systém, částečně kontrolovaný i emulátorem serveru.
*DBC Editor
Tento stařičký editor je zde spíše pro pořádek, nikdy jsem jej moc nepoužíval a ani jej nemohu moc doporučit. Vždy si udělejte zálohu DBC souboru, který jím chcete upravovat a používejte jej jen pokud vás ostatní editory u konkrétního DBC zklamaly. Více si vysvětlíme, až se budeme bavit přímo o DBCčkách.
*MyDbcEditor
Preferovaný DBC editor. Má jen základní funkce, ale je ze všech, které mi zatím prošly pod rukami, nejspolehlivější. Nicméně i u něj jsem již bohužel zažil, že byla některá DBC po úpravě v něm poškozená. Právě proto vám dodávám ještě DBC editor a v jiné sekci umístěný Taliis, jako záložní programy.[/paragraph:1p5us31i]

Herní mapa


[paragraph:1p5us31i]I s touto sekcí vám bez problému pomohu s jakýmikoliv problémy, je hlavní náplní mé prakticky každodenní práce.
*ADT Adder
Šikovná věc pro rychlé vytváření ADT souborů, ze kterých je herní mapa poskládaná. Nebýt tohohle, museli byste soubory vytvářet ručně a všechny ručně přejmenovávat, leda byste si napsali nějaký script jako je tento program.
*Ground effecty
Zde najdete 2 toolsky, z nichž jednu už prakticky nepoužívám, nicméně hodit se vám bude určitě ta, která ground effecty přidává. Ground effecty generují modely na povrchu terénu (tedy modelová stébla trávy, kamení atd.).
*GruulMeWDT
WDT soubory jsou nezbytné pro správné fungování mapy ve hře. Pokud budete chtít vytvářet svou mapu, nebo upravovat velikost nějaké stávající, budete potřebovat upravovat WDT soubor dané mapy. K tomu slouží tato aplikace. Alternativou je multifunkční, avšak zastaralý a nespolehlivý Taliis.
*NoggitSDL1.3
Nejnovější finální verze Noggitu, prostředí pro úpravu ADT souborů (tedy modelování a texturování terénu, přidávání vody a spawn modelů do světa).
*NoggitSDL1.4
Obsahuje o dost více funkcí, než verze 1.3, nicméně je stále ještě ve vývoji. Jakkoliv s ním zatím nemám žádné problémy (přesněji žádné, které by neměly i starší verze), je oficiálně považován za ještě nedodělaný a tedy ne úplně "spolehlivý" (Noggit nikdy nebyl absolutně spolehlivý a nevěřím, že někdy bude). Pack obsahuje revizi 22, na tomto odkazu najdete případně aktuálnější .exe soubor.[/paragraph:1p5us31i]

Modely


[paragraph:1p5us31i]S touto částí mám zkušenosti teprve začátečnické. Podrobnější informace a odpovědi na další otázky vám tak bude muset poskytnout Alastor nebo někdo jemu podobný, kdo se 3D a hexa editingem zabývá.
*010
010 editor je preferovaný pro úpravy různých interních dat uložených přímo v souboru modelu. Samotný editor v packu nemám, budete si jej muset sehnat (a cracknout/obejít trial) sami. Zde najdete pouze templaty a scripty. Jak je používat vás naučit zatím bohužel nemohu.
*anim porter
Toolska ke kopírování animací z jednoho modelu na druhý. Pro WoWko nic neznámého, když se rozhlédnete třeba po pavoucích nebo po šelmách, uvidíte, že spoustu různých modelů vlastně používá tytéž animace.
*Automaty
Všechny možné konzolové scripty pro úpravy modelů. Některé by bylo možné dělat i přes 010 editor, pochopitelně, avšak tyto vám mohou značně ulehčit práci.
*HxD
Freeware náhražka za 010 editor, čistě jen na úplně elementární úpravy modelů se dá použít, ale na nic sofistikovanějšího.
*M2ModRedux 4.6.1
Rozšíření pro Blender umožňující pracovat se soubory M2 aniž byste je convertovali do OBJ formátu, se kterým se standartně pracuje.
*MDLVIS 1.40
Aplikace k vytváření a upravování MDX a MDL modelů, což jsou zastaralé formáty, nicméně lze je poté dostat do formátu M2.
*MDX
V této složce najdete convertory z MDX nebo OBJ na M2.[/paragraph:1p5us31i]

MPQpatche


[paragraph:1p5us31i]Opět mnou běžně používané věci, ohledně těch mě kdykoliv můžete kontaktovat.
*FuckItUp
Script pro zašifrování patche do podoby, která je pro běžné uživatele jen těžko otevíratelná. Oceníte jej zejména pokud chcete přidávat do hry zcela nové, vlastní soubory a nechcete, aby si je jakýkoliv ňouma vykradl z vašich patchů a použil nebo upravil pro své účely.
*LFE
Program pro filtrování řádků ze souboru (Listfile), užitečný pro sestavování textového importu pro noggit nebo získávání celého seznamu určitého typu souborů z patche.
*MPQEditor
Najdete zde dva. Stará verze je pro mě spolehlivá a ozkoušená, nikdy mě nezklamala a pro 3.3.5a funguje perfektně. Novější verze už mi párkrát zničila patch a pokud vím, je dělaná spíše na novější datadisky a Diablo 3. Nicméně můžete se na ni také podívat, jen s ní doporučuji pracovat opatrně a dělat si zálohy.[/paragraph:1p5us31i]

Nezařazené


[paragraph:1p5us31i]*Taliis
Tato aplikace dokáže pracovat se širokou škálou souborů, bohužel je ale už zastaralá a nespolehlivá. Berte tento program spíše jako záložní, občas se ale může hodit.
*WMV
WoW Model Viewer budete používat běžně pro export a testování či zobrazování textur a modelů, taktéž pro jejich vyhledávání pro jakékoliv vaše účely, jeden ze základních programů.[/paragraph:1p5us31i]

Scripty


[paragraph:1p5us31i]Zde časem najdete nějaké mé vlastní scripty, které vám dodám, až budou připraveny na vypuštění.[/paragraph:1p5us31i]

Textury


[paragraph:1p5us31i]*BLiPster
Tato aplikace slouží jako konvertor mezi BLP a PNG soubory, k tomu není moc co dalšího dodat, nezbytná pro kohokoliv, kdo si chce hrát s texturami.

Odkazy ke stažení packu verze 1:
https://www.dropbox.com/s/x53fer0mie6l2 ... ky.7z?dl=0

Velikost: 58,5MB
Aktuální k datu: 5.4.2015

<- 01 - Obecný přehled pojmů a systému hry
-> 03 - Instalace testovacího serveru[/paragraph:1p5us31i]

19
Serverside Modding / [RELEASE] 3.3.5a Gobject patch
« on: March 02, 2015, 01:01:03 pm »
Hello there little whelps,

I used to use patch made by one guy from Ownedcore which included all M2s and WMOs existing in WoW turned into spawnable gameobjects. That means that you can simply search for model name in game and you will always find gob you can spawn. Its just great thing for gob spammers, I know, but problem is that patch from Ownedcore is terribly messed up in my opinion. It contains a LOT of completely unneeded objects and displayIDs and also is full of displayIDs with messed up bounding boxes (all copied from one), which leads into gobs lootable from 50yd distances.

So I made my own patch. Here is MPQ patch, DBC file and SQL dump (for TrinityCore2 revisions after WDBVerified column was renamed to VerifiedBuild). I tryed to make this completely noob-friendly so if you want to use this patch, you don't need to know anything about MPQ patches or DBC files, you just need to know the very basics of running TrinityCore2 server. READ README file. You will find how-to guide there. All gobs with custom displayIDs have [AmPatch] placed behind their postfixes and have entrys 410000 and higher. Their displayIDs are 10000 and higher, meaning that every gob has displayID=entry-400000. Good for searching for displayIDs.

Version 1 - light pack
This version contains all M2s and WMOs from World and Spell folders spawnable. Other were excluded, because majority of them just can't be used as gobs (they have no hardcoded textures for example).

Version 2 - full pack
This pack contains really ALL M2s, even character, item, creature... And its needless to say that most of such things are completely useless as gobs. But someone still may preffer this version.

20
česky / 01 - Obecný přehled pojmů a systému hry
« on: February 10, 2015, 07:40:37 pm »

Náhled



[paragraph:1shmy4sv]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.:[/paragraph:1shmy4sv]



Client


[paragraph:1shmy4sv]Herní klient, tedy hra samotná, aplikace, kterou má spuštěnou hráč, využívá více zdrojů dat. Další informace jsou podle herního klienta verze 3.3.5a (poslední verzeWotLK). 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í.

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 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) 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ý, nicméně na jejich editaci nemáme žádný editor), SKINy jsou čí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

Interface
*LUA - programování interfacu (co se stane, když...)
*XML - kódování 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ů...)[/paragraph:1shmy4sv]

Server


[paragraph:1shmy4sv]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.
*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á (to je silně individuální, případ od případu, obecně však klientová DBC mají přednost spíše ve vizuálních záležitostech a serverová spíše v mechanismech)

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.


<- 00 - Úvod
-> 02 - Potřebný software[/paragraph:1shmy4sv]

21
česky / Zpětná vazba
« on: February 10, 2015, 05:10:06 pm »
Návrhy, připomínky, dotazy, nápady...

22
česky / 00 - Úvod
« on: February 10, 2015, 05:06:12 pm »
[paragraph:2dx651px]Jak někteří z vás možná vědí, češi jsou na scéně Modcraftu (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.

Tuto sérii 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. Je možné, že časem doplním k návodům jejich natáčené verze z mého YT kanálu, na to ale teď nemám úplně čas ani všechny potřebné prostředky. Co se týče mě, vyznám se ve většině věcech spíše povrchně. Nejsem 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 naší scény, kteří se více zaměřili na techniku ve WoWku, zatímco já jsem se zaměřoval vždy spíše na maximální praktické využití toho, co mám.

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 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, ale proto, že chci mít jistotu, že vše pochopíte napoprvé 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ěchto operačních systémů vám nemohu pomoci.

Pokud budete mít jakékoliv dotazy, návrhy či připomínky, neváhejte zanechat zpětnou vazbu v k tomu vyměřeném vlákně. Pokud mě chcete kontaktovat z nějakého důvodu osobně, můžete si mě přidat na Skypu striker159753. Chtěl bych vás jen poprosit, abyste rovnou s přidáním psali, že jste z Modcraftu, 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.

-> 01 - Obecný přehled pojmů a systému hry[/paragraph:2dx651px]

23
Noggit / [Problem] WMO doodad sets
« on: October 30, 2014, 01:30:51 pm »
I'm using noggit SDL 1.3 and have quite a problem with spawning WMOs without doodad sets. I spawn WMO, change doodad set to number which is empty (meaning no doodad set is used), save, add into patch, go into game... And nothing changes there. In noggit I see no doodads from WMO's doodad set, but ingame they are shown, like I didn't change anything. It, however, happens only with some WMOs. These are one of those where doodad set hiding doesn't work for me:

Code: [Select]
worldwmoazerothbuildingsguildhousesguildhouseb.wmo
worldwmodungeonsunstrider_anchoragesunstrideranchorage.wmo
worldwmoazerothbuildingscastlecastlelordaeron.wmo
worldwmolorderonbuildingssilvermoonbloodelf_bridgebe_sunstriderbridge.wmo

Log from editing guildhouseb.wmo. I loaded map, selected model, browsed doodad sets, only 0 contained some doodads, I changed used doodad set id to 1. Saved, applied patch aaand... Doodads still appear ingame, while in noggit they don't. When I reload map in noggit, doodad set ID is set to 1 as I left it.

http://pastebin.com/KRYydt06

Any ideas?

24
Serverside Modding / [SOLVED] Weird mini numbers
« on: September 14, 2014, 08:27:34 pm »
Hello community, I wanted to ask what the hell are numbers like these:
3,67340583333501E-40
2,8684579564729E-42

Taken from SkillRaceClassInfo.dbc, rev 12340, but I saw them in more DBCs. Its supposed to be race mask. How to get "normal" number from this? Is there any way? I am using MyDBCEditor if it will help.

25
Development and Presentation / [SHOWOFF] Arathor RP
« on: September 09, 2014, 01:29:59 am »
Making of Nimer (original, early version, settlement was wholly remade later, as show in second video):
[media:111hcns3]https://www.youtube.com/watch?v=LQbdyl1_3bY[/media:111hcns3]

Showoff video from most of Arathor zone. Erutia and Gar'thal are missing, those zones were added later and screenshots from there are in gallery linked below.
[media:111hcns3]https://www.youtube.com/watch?v=dkKU-WwHAGU[/media:111hcns3]

Ther est of the showoff moved to http://www.model-changing.net/gallery/album/18-amaroths-showoff-arathor-rp/. It is more reliable and easier to manage, than links from Imageshack which just tends to delete files.

26
Serverside Modding / Custom Taxi problem
« on: May 17, 2014, 03:39:31 pm »
Hi, I'm currently working on custom world transports using TaxiNode, TaxiPath and TaxiPathNode .dbcs.

I:
1. create 2 new harbors and make new records for them in TaxiNode.dbc (1 for each).

2. create 1 path in TaxiPath.dbc connecting those two taxi nodes.

3. create all waypoints for my path in TaxiPathNode.dbc. There are about 20 of them, making circle around isles. At those 2 waypoints which are at harbors (none of them is start or end of path) I also add value 2 for action flag (column 8, copied from blizzlike transports, I am not entirely sure what is that for, but even not-teleporting transports do have it) and value 10 for delay (column 9, self explanatory name). I leave script ID 0.

4. create gameobject for transport (currently copy of Auberdine-Teldrassil ship just with another data0, but I already tryed more patterns).

5. create new record in world.transports for my new transport gameobject (I run TC2 revision 53, so there's no respawn time column).

Everything works nearly fine but I have one bug. When my ship is reaching end of path, it suddenly just teleports to the start of new path. I was observing this problem for a while, ship skips last 30 seconds (so 1 circuit takes about 2 minutes without delays at harbors instead of about 2:30). Changing delays on harbors doesn't change anything, I tryed delays 0, 10 or 30 at both 1st or 2nd harbor and ship still just skips last 30 secs.

Does anyone know how to solve this? I had the same problem on TC2 revision 52, where transports table had respawn time column, but when I inserted higher value than was needed (f.i. 180000ms for 150000ms long circuit) it just created 30s time of standing on the place before ship skipepd its last part of circuit and teleported to it's start. It just ignores  and skips last waypoints/doesn't finish way from 2nd last to last waypoint.

EDIT: I run WotLK 3.3.5a.

27
Noggit / [SOLVED] Another noggit crash on startup
« on: May 05, 2014, 09:50:05 am »
Hi, I was forced to formate my disk and fully reinstall Windows. After it I simply can't get noggit SDL 1.2 running (before it worked without problems - both SDL 1.3 and 1.2). Its classic open and immediately crash without error showing problem. SDL 1.3 works fine, but I really don't want to use it until bug with not saving some objects is solved. So, the log and config files are here:

http://pastebin.com/6QKnHgGS
http://pastebin.com/kuMKQUY9

I am sure that paths are correct, I work with noggit pretty long time, this really isn't problem. What seems to be problem are acces rights to Data folder, because I can't open those MPQ files even while using MPQEditor 3.5.0.752 (Error message is: "Acces is denied."). When I copy MPQ files on my Deskop, they can be opened without this error. However, older version of MPQEditor (version 3.2.2.671) can open MPQ files even when they are in my WoW/Data folder, thats btw pretty strange because BOTH of my MPQEditor versions have option "Open MPQs with Read-only" switched off). Still, SDL 1.3 works, probably thanks to Read-only opening MPQs.

I've tryed to uncheck "Read-only" option in all folders which are included in path to WoW (Files, World of Warcraft 3.3.5a, Data), but I still can't get it working. Whenever I try to open Properties of folder where I've switched Read-only option off before, its back there. Just can't get rid of it.

So (if I haven't made other mistake) does anyone know how to really get rid of these Read-only acces rights? Seems to be quite a unique problem :D.

EDIT: Halfly solved by myself in the end. I made folder on my deskop where I placed MPQ and DBC files and used it as path to WoW and now it works (eh, btw, this folder has also that Rad-only perma on option...). Still this isn't most ideal solution and I would be glad if someone knew how to really fix this thing or what caused it.

EDIT2: Took 5 hours of observing, testing, observing, testing and again testing... I couldn't fix problem with acces rights, but running program as administrator solved it. I read somewhere that admin mode doesn't solve anything - I think you should reconsider it. It does - when someone just can't get rid of Read-only right because of Windows bug/bad configuration of system. Its not solved at all, but in the end I found 2 ways around.

28
Level Design / [QUESTION] Cataclysm water in WotLK
« on: March 27, 2014, 04:14:44 pm »
Name of topic says all. So, would it be possible to import water from cataclysm to WotLK? Its just question, I'm nearly sure it would need to make changes in engine and thats no simple work with MPQ patches, but if there is some way, I would welcome it. If not, just say no :P.

Pages: 1 [2]