30. 9. 2008

Doom online - ZDaemon - jak na to - v0.6

Upozornění - balíček není zdaleka hotov! Článek se již dá používat, chybí detaily! Poslední update: 9.10.2008


Klient - hráč

Hrát Dooma online je opravdu snadné díky mnoha službám a to zcela zdarma. Jelikož jsem toho fanda, provozoval jsem kdysi vlastní server a jelikož mne stále baví Doom hrát, rozhodl jsem se napsat krátký článek o tom, jak se zúčastnit hry a pobavit se tak na dlouho. Na internetu jsem našel mnoho článků, které se zabývaly tím samým, ale jak to tak chodí - ani jeden z nich mi nepřipadá dostatečně srozumitelný, takže sepisuji vlastní variantu pro staré i nové známé, u kterých hrozí, že by si se mnou nebo zkrátka spolu chtěli zahrát. Budu se snažit zahrnout všechny důležité informace, což znamená, že se nevyhnu teorii, ale pokusím se to psát formou snadno přístupnou, neřkuli zábavnou. Ti, kteří mají zájem čistě o praktickou stránku věci, mohou přeskočit ke kapitole "Spuštění klienta - praxe".

Doom 2

Co budeme určitě potřebovat v první řadě, je hra Doom 2. Přesněji řečeno - z této hry potřebujeme jakýsi základní soubor, kde je uložena veškerá grafika, hudba, zvuky a levely. Tento soubor se jmenuje doom2.wad a ve verzi 1.9 se stává naprosto nepostradatelnou povinností každého, kdo se chce dostat o krok dále. Tomuto souboru se zdrojem se obecně říká IWAD. Určitě jste se ale setkali s nějakými přídavnými levely do Dooma. To jsou opět soubory s příponou wad, ale nefungují samy o sobě - jsou vždy vázány na konkrétní IWAD, které je potřebný pro spuštění přídavných levelů. Tyto soubory se pak nazývají obecně PWAD. Jelikož v současné době naprosto převládá doom2.wad ve verzi 1.9 jako výchozí IWAD, bude vám postačovat na 99% PWADů. Pokud se tedy v dalším textu bude hovořit o wadech jako takových, jde skoro vždy o PWADy.

Doomovský klient

Původní Doom i Doom 2 umožňoval hraní po síti ve čtyřech hráčích, případně ve dvou po sériovém kabelu nebo modemu (což je v podstatě "on-line"). Postupem času se však možnosti hraní po síti rozšířily, ale kapacita hry byla pevně daná a vyčerpána. Co s tím? Fanoušci z celého světa naprogramovalo vlastní "klienty", tedy program, který z originálního wad souboru vytáhne vše potřebné, ale interpretuje ho vlastním způsobem. Tak hned z kraje - Doom byl původně pro operační systém DOS, což je dneska nemyslitelné. První klienti nebo také porty Dooma (odhlížím od existence Final Dooma, který byl designován pro Windows 95) tedy umožňovaly spustit tuto hru pod Windows. Tím to ale teprve začalo. Přibyla možnost vylepšeného rozlišení hry, vylepšení grafiky, akcelerace přes OpenGL, rozhlížení nahoru-dolů, 3D efekty, světelné zdroje, mlha a tak dále a tak podobně. A samozřejmě - přibyla možnost rozšířeného multiplayeru - nejlépe po internetu a to klidně pro 32 hráčů i více. Samozřejmě - pro takto masivní multiplayer musí být speciálně postavené wady, ale většina levelů je hratelná ve 4-10 hráčích, což by klasický Doom klient sotva zvládnul. Klientů je celá řada. Pro single player se obvykle doporučuje ZDoom nebo Doom Legacy. Pro online multiplayer jsou nejvhodnější asi Skulltag nebo ZDaemon. Nemusím snad ani psát, že mnozí klienti fungují také pod Linuxem nebo MacOS, takže použitelnost je skutečně široká.

ZDaemon

Je to můj oblíbený klient. Bez jakéhokoliv nastavování má příjemně vylepšenou grafiku, ale zachovává původní atmosféru, je dobře upravený pro multiplayer s podporou nejen kooperační hry a deathmatche (jak má původní Doom), ale také týmový deathmatch a režim capture the flag, což je boj o vlajku (dva týmy, každý má jednu vlajku, snaží se ubránit svoji a zároveň ukrást cizí). ZDaemon je ale především komunita. Samotný klient je dobře odladěný, ale krom toho autoři klienta provozují tzv. "Master Server". Ten umí počítat vaše nahrané hodiny - počítá, kolikrát jste umřeli, kolikrát zabili, jakou máte nejoblíbenější zbraň a jaký level. To je samozřejmě všechno zdarma ;). Aby se ale tyto statistiky počítaly, musíte hrát na některém z "Ranked serverů". Nejjednodušeji, jak se dostat do hry je stáhnout ZDaemon, do stejného adresáře vložit doom2.wad a spustit ZLauncher. Naběhne vám okno se seznamem serverů - tento seznam aktualizuje právě Master Server. Vidíte, jaká hra kde běží, kdo kde hraje a kde je kolik hráčů. Pokud není server obsazen nebo pokud není zaheslován, můžete se připojit kdykoli do jakékoli hry. Pokud je navíc server "rankovací", bude se vám zapisovat nahrané score - to vše pouze na základě nickname, přezdívky, kterou si určíte. ZLauncher vám zobrazí všechny potřebné informace o serveru a můžete se pustit do hry. To ale neznamená, že ZLauncher zobrazí všechny servery na světě! Jsou také privátní servery, které na Master Server neposílají informace, tudíž se v ZLauncheru nezobrazí. Musím ale předem varovat, že hraní na nějakém ranked serveru je poměrně o hubu, profíci jsou prostě profíci.

Server

Jak asi vyplývá, samotný ZDaemon klient je k ničemu, když není k dispozici server. Naštěstí - v základní instalaci ZDaemona je také přítomna serverová část hry. Stačí tedy nahrát ZDaemon na nějaký počítač, který má v internetu veřejnou IP adresu, spustit server a na něm nastavit všechno, co je potřeba. Tedy - typ hry, výběr levelu, obtížnost, heslo pro vstup a mimo jiné i to, jestli se tento server objeví všem hráčům na světě v ZLauncheru - pokud budu spouštět server pouze pro sebe a své známé, je lepší zůstat v anonymitě. Zde začínají první problémy - provoz vlastního serveru sice není extra náročného, ale mít serverhousing a připojení se může prodražit, pokud nehrajeme vysloveně denně či pokud daná banda hráčů neposkytuje finance ;). Naštěstí jsou tady alternativy i mimo servery ZDaemona.

Obláček

Obláček je název serveru, kde je možné zcela zdarma hrát ZDaemon Dooma do zemdlení. A nejen to. Krom pěti serverů, kde jsou pevně stanovaná pravidla (a některé jsou ranked) a kam může každý, je-li na serveru místo, je zde možné si nastavovat vlastní hry - na dalších pěti serverech. Kdokoli je na Obláčku zaregistrovaný si může zabrat server, vybrat typ hry, heslo, level - zkrátka všechno podstatné a spustit server. Pak stačí, aby dotyčný rozeslal IP adresu a případně heslo svým známým (pokud nevyplní heslo, může do hry vlézt prakticky kdokoli, protože na stránkách Obláčku je vidět stav serverů - ale to nemusí být nutně na škodu, pokud se domluví malý počet hráčů a je vítaný kdokoli) a všichni mohou začít hrát. Registrace je potřeba pouze pro založení samotného serveru, na samotné hraní není potřeba ničeho dělat, jen se připojit. Musím dodat, že (což je možné poznat i podle adresy) Obláček je server v rámci ČVUT, je nevýdělečný a nelze se na něj odvolat. Je možné, že hry spadne, že budou servery nedostupné nebo plné (a to zejména k večeru) či že vůbec nepojedou. Stejně tak není možné na Obláčku používat libovolné wady - ale nebojte, samotný Obláček má k dispozici mnoho kooperačních, deathmatch i capture the flag wadů, že snad nikdo nebude trpět.

Na Obláčku je rovněž systém vypínání serverů. Pokud nikdo na serveru nehraje po více, než 10 minut, automaticky se vypne a může jej jakýkoliv jiný, u Obláčku registrovaný uživatel využít pro vlastní hru.

Spuštění klienta - praxe

Takže - máme ZDaemon a doom2.wad v jednom adresáři, případně další PWADy také? Můžeme spustit hru.

Hra se spouští nejlépe z příkazové řádky. Já používám Total Commander, který si pamatuje poslední příkazy, takže jen zmáčknu CTRL+E, modifikuji poslední příkaz a hraju. Nejčastější forma spuštění bude patrně vypadat nějak takto:

zdaemon.exe -iwad /název_iwadu/ -file /název_pwadu/ +connect /ip_adresa_serveru_a_port/ +password /"heslo"/

IWAD je obvykle v adresáři se hrou jenom jeden - tedy doom2.wad, takže jeho uvádění je nepovinné. Parametr file použijete vždy, budete-li chtít hrát jakákoliv dodatečný level. Pokud budeme chtít tedy hrát multiplayer čistě v Doomovi 2, nemusíme tento parametr použít. Connect je výmluvné - klient se hned po spuštění bude snažit připojit na server. Heslo - to je také jasné. Konečně tedy - takto bude nějak vypadat příkaz, kterým se budeme chtít napojit na nějaký server - dejme tomu někde na Obláčku:

zdaemon.exe -file coopbuildlm.wad +password "blaxyz456" +connect 147.32.30.5:15265

Pokud máme všechno správně, během vteřiny jsme ve hře. Všimněte si hesla v uvozovkách. Na pořadí parametrů nezáleží. Nejčastěji se ale mění pouze IP adresa, takže je lepší ji mít na konci.

Mnoho lidí ale pro lenost či zvyklost nepřekousne nutnost spouštět hru z příkazové řádky. Jsou zde dvě hlavní možnosti - vytvořit si dávkový soubor - tedy BAT - nebo si vytvořit zástupce kamkoli na Plochu třeba a ve vlastnostech zástupce dopsat parametry. Obojí má svoje výhody i nevýhody. Například v době, kdy jsem provozoval vlastní server, měl jsem vytvořené tři zástupce - na každou hru jeden - a jelikož jsem dlouhodobě neměnil nastavení, bylo to velice pohodlné. Jenže když se hraje na Obláčku, tak se nikdy dopředu přesně neví, jakou IP adresu serveru dostaneme přidělenou, takže je nutné neustále editovat BAT soubor nebo i zástupce - oproti tomu přepsání jedné číslice v příkazovém řádku je elegantnější a rychlejší. Mnohdy se třeba domluví, že se bude hrát jiný wad, takže zase se musí přepsat název souboru za parametrem file a tak podobně. Já osobně tedy, když zakládám server, posílám všem hráčům kompletní příkazový řádek po ICQ, takže si jej obvykle jen zkopírují právě do Total Commanderu a můžou okamžitě hrát. Každému, podle jeho gusta.

Nastavení klienta

Před spuštěním hry by bylo ale vhodné nastavit klienta tak, aby nám vyhovoval. Je fakt, že většina nastavení je ve výchozí hodnotě pro většinu hráčů přijatelná, ale mohou být výjimky nebo si například nemusíte vědět rady s grafikou. Takže moje doporučení je - pro pohyb W-S-A-D - to je snad mezinárodní standard. U nastavení myši zásadně vypnout pohyb dopředu dozadu - snižujete tak přesnost při rychlých pohybech. Citlivost doprava-doleva si musí každý nastavit sám. Klávesa "USE" je standardně na mezerníku a používá se pro respawn - není důvod ji mapovat kamkoli jinam. Zkontrolujte si v Options, jestli máte zapnutý AutoRun, bez něj se skoro nedá hrát. Pravé tlačítko myši bych doporučil vypnout, případně na něj nastavit pohyb dopředu - to se může relativně hodit pro hráče, kteří nemohou hrát na klávesnici a když mají možnost se na myši otáčet, pohyb vpřed je vše, co jim chybí pro (omezený) pohyb. Docela důležité je nastavení zbraní, jejich priorit. Není nic horšího, než když při střelbě brokovnicí seberete bazuku, která se vám přepne a vypálíte raketu do blízko stojícího cíle - za to prostě nemůžete. Díky nastavení priorit ovšem tato nepříjemnost mizí - doporučuji nechat na místech nejvyšších BFG, Plazmu a Dvouhlavňovku, teprve pak bazuku - ale to je dle osobních zkušeností a citu. A ještě ke grafice - Původní Doom běžel v rozlišení 320x200 pixelů, což je dneska neúnosně málo. Na druhou stranu - od 800x600 je grafika v klientovi prakticky na maximu možností. Já osobně i během hraní používám neustále ICQ, když řeším něco herního a vnitřní textovací režim mi nevyhovuje. Takže na svém monitoru s rozlišením 1280x1024 spustím ZDaemon v okně 1152x864 - což překrývá drtivou většinu obrazovky - a zároveň po stisknutí ESC jsem okamžitě v ICQ - a naopak. Velkou výhodou je pak samozřejmě druhý monitor počítače, kde můžu sledovat stav serverů na stránkách a ICQ zároveň.

Ještě dodám, že některá nastavení jsou podřízená nastavení serveru, takže i když si vy v options nastavíte například rozhlížení nahoru-dolů nebo skákání či zaměřovací křížek, nikde není psáno, že to server dovoluje. Obvykle se tyto věci nechávají tedy ve výchozích hodnotách. Jedna z posledních věcí, kterou byste si měli nastavit je jméno a výchozí barva vaší postavičky. Učiníte tak v sekci Player Options. Důležité upozornění - aby se tyto změny projevily, je nutné je dělat vždy v singleplayeru hry. Takže se spustí holý zdaemon.exe, nastavíte vše dle potřeby, hru opustíte a teprve pak spouštíte online hru. Profíci si mohou vytvořit extra CFG soubory pro kooperaci nebo deathmatch - pak je na to parametr zdaemon.exe +exec /nazev_cfg_souboru/ nebo je to možné měnit během hry v konzoli, ale to je pro většinu hráčů zbytečné.

(Remote) Console

Jak stanovili iD software ve svém dalším hitu Quake standard, i Doomovští klienti převzali systém ovládání skrz takzvanou konzoli. Do té se kdykoli během hry dostanete stiskem klávesy "~", což je nahoře vedle číslovky "1". Konzole je jádrem ovládání a nastavení hry. Je možné skrz ni nejenom měnit veškerá nastavení od kláves po světlost obrazovky (ano, veškerá menu ve hře jsou de facto jenom grafické nástavby samotných konzolových příkazů), ale hlavně se používá k nastavování levelů, obtížnosti nebo pravidel hry. Určitě si všichni pamatujeme cheaty do Dooma na přeskakování levelů - to již dneska není potřeba, ale přitom z různých důvodů potřebujeme level přeskočit - třeba při testování. Rád bych sem dal několik příkazů, které by měl každý alespoň zběžně znát.

map nazev_mapy
map map15

Tento příkaz dělá přesně to, co bychom si představili - přepne na jiný level. Doom z principu používá systém 32 levelů na IWAD, což je naprosto dostatečné, protože se obvykle setkáváme s menšími balíčky levelů, pokud jde o specializované CTF nebo DM mapy, tak mnohdy jde jenom o jedinou mapu. Tvůrce mapy si může určit, na které pozici (tj. 1-32) se jeho level bude vyskytovat - nejčastěji jde samozřejmě o jedničku. Kažodpádně - pokud tento level dokončíme (což lze pouze tehdy, je-li v mapě umístěn Exit, což u DM levelů není pravidlem), posune se hra automaticky o level výše. Pokud měl wad pouze jeden level, ocitneme v druhém levelu Dooma 2. Takže se nelekněte, je to naprosto v pořádku. Obvykle jsou ale wady balíkem více levelů, což platí hlavně pro coop.

fraglimit číslo
fraglimit 100

Výmluvný parametr. Udává počet fragů, při kterém bude hra uzavřena. Pozor u CTF! Tam se dává (podobně, jako v coop) fraglimit 0 (což je také výchozí hodnota), i když lze fraglimit použít, jako tickety. Podle počtu hráčů se hraje na 20-40 (pro dva hráče), ale i 100 (od tří výše skoro nutnost) fragů. Většina lidí preferuje nějakou hodnotu, aby hraní mělo smysl a mohl se jednoznačně určit vítěz.

teamscorelimit číslo
teamscorelimit 5

Tento parametr určuje počet bodů nutných k výhře při CTF. Nenechte se unést a nenastavujte nějaké závratné čísla. Udělat bod v CTF je mnohem náročnější, než udělat frag, proto se ve hře pro čtyři hráče používá teamscorelimit 3, u větších partiček 6-10, málokdy více, hra se pak hraje neúnosně dlouho. Samozřejmě to podléhá také vhodnému výběru levelu.

timelimit číslo
timelimit 15

Rovněž výmluvný parametr. Nastavuje délku hry v minutách, po které se hra sama uzavře a podle počtu fragů či bodů v CTF se určí vítěz. Jak je asi zřejmé, všechny tři limity lze libovolně kombinovat, není nezvykem hrát DM na padesát fragů a patnáct minut.

skill 0-4

skill 3

Tento příkaz do konzole mění obtížnost mapy. Každá mapa má nadefinováno, jaké objekty se objeví při jaké obtížnosti. Obvykle autoři levelů na tento parametr kašlou, takže bez ohledu na obtížnost budete mít vždy identický level. Přesto se může stát, že s tím autor počítal nebo že hrajete nějaký standardní level Dooma 2. Pomocí tohoto příkazu můžete změnit obtížnost hry bez restartu celého klienta. Musí se ale restartnout samotný level (nejlépe pomocí příkazu map), což je pochopitelné. Někdy má toto nastavení vliv na umělou inteligenci botů (těmi se v tomto článku zatím nemám v plánu zabývat).

Všechny tyto příkazy platí pro singleplayer hru, tedy pro offline válčení. Pokud se pokusíte napsat nějaký tento příkaz během online hry, je možné, že se nestane vůbec nic nebo že se ocitnete mimo server - v offline hře (to platí zejména pro příkaz map). Pokud je nutné něco změnit za běhu serveru (a občas je to skutečně nutné), musí se na to použít vzdálená konzole - Remote Console - neboli RCON. Ten, kdo spouští server, musí jednak povolit používání vzdálené konzole a jednak k ní musí dát heslo. Kdokoliv pak zná heslo, může během online hry měnit mnoho parametrů dle potřeby. Přihlášení do vzdálené konzole je pomocí příkazu:

rcon_password "heslo"
rcon_password blablabla123

Pokud je heslo správně, napíše se, že jsme se do vzdálené konzole úspěšně přihlásili - access granter.

Jak se RCON používá? Velice jednoduše. Před jakýkoliv příkaz se napíše RCON. Takže chceme-li během hraní online změnit mapu, napíšeme (po ověření heslem výše) pouze:

rcon map map15
rcon fraglimit 50
rcon skill 3

A je to. Stejně tak můžeme měnit obtížnost, přidávat nebo odebírat boty (pokud to server podporuje samozřejmě, nemám s tím zkušenosti). Každopádně přepínání map je jedna z nejčastěji využívaných věcí. Mnoho wadů nám nemusí sedět, tak chceme zkrátka level přeskočit. Na serveru se může také nastavovat pořadí map, které ne každému musí sednout a tak podobně - ten, kdo zná heslo, pak může v konzoli pěkně řádit. Jak je asi patrné, když hru opustí zakladatel hry (a tedy i ten, který nastavoval heslo do RCON), hra běží dál. Je dobrým zvykem, aby zakladatel před opuštěním někomu sdělil heslo do RCON, protože se mu může hodit.

Skrz RCON lze samozřejmě vykopávat nežádoucí hráče (rcon kick číslo_hráče), měnit nastavení samotného serveru (viz. níže) a tak dále. To si administrátoři nastudují jistě sami.

Konzole jako taková má ještě několik využití. Samotné psaní ve hře je docela nešikovné a texty poměrně rychle mizí - když otevřete konzoli, uvidíte všechny poslední hlášky hry. Bohužel, u online hraní je hlášek tolik, že rychle zmizí i z konzole (proto mám pořád puštěné ICQ na důležitější zprávy). Jo a jinak konzole se ovládá jako klasická command line - šipky nahoru-dolů si pamatují poslední příkazy.

Nastavení serveru

Následující odstavce jsou určené zejména pro lidi, co spravují nebo nastavují server, ale i pro klienty se tady může skrývat hodně informací, které jim usnadní pochopení některých detailů hry.

DMFLAGS


Nyní opouštíme nutnost pro běžné lidi, ale tyto informace by mohly pomoci osvětlit některá temná zákoutí stylu hraní. Krom samotného levelu a obtížnosti je možné ve hře (a tedy i na serveru) definovat jakási "pravidla hry", která zásadně ovlivňují styl hraní a navíc se různá pravidla hodí pro různé typy her. Pomocí těchto pravidel, které se jmenují obecně DMFLAGS, se nastavují věci jako zranění po pádu z výšky, mizení zbraní po sebrání, zasekávání o hráče v ose Z a mnoho dalších, které ovlivní zejména multiplayer - proto DMFLAGS. Mnohé přepínače dokonce v původním Doomovi neexistovali a byly vyvinuty až s novými klienty. Krom DMFLAGS jsou tady i DMFLAGS2, což je to samé, jen pro jiné pravidla.

Vliv na hru je obrovský, což člověk pocítí ovšem až tehdy, když si to vyzkouší. Typický příklad. V historickém Doomovi 2 (v1.666) v deathmatchi byla pravidla nastavena asi takto: po sebrání zbraně tato zmizela (i v případě, že ji již hráč vlastnil - sebrání zbraně mu přidalo munici). V praxi si představte, že dva vlítnou do "modré místnosti" v map01 a jeden z nich sebere brokovnici. Výsledek je jasný. Zbraň se ovšem po chvíli respawnuje. Toto je jedna z věcí, kterou ovlivňují DMFLAGS. V současném deathmatchi se hraje tak, že zbraň je permanentně na zemi. Když skrz ni přejdete a nemáte ji - získáte ji. Pokud ji máte - nic se nestane. V obou případech je zbraň stále na zemi. Důvod je poměrně logický. Sebrání zbraně vám přidělí (v případě brokovnice) 12 nábojů, což je dost na to, abyste to nestihli "do konce života" vůbec vystřílet. Hra je tak spravedlivější i vůči těm, kteří vlítnou do "modré místnosti" naráz - mají stejnou šanci. Podobně tak se dá pomocí DMFLAGS nastavit rychlost příšer, jejich výdrž, obnovování předmětů jako lékárničky nebo barely, nekonečná munice (pro kooperační hru nutnost) a tak dále a tak podobně.

Jak to tedy funguje v praxi? Z hlavy si asi nikdo nepamatuje žádné DMFLAGS. Každopádně jsou tady konvence.

Pro (T)DM:
DMFLAGS: 4920324
DMFLAGS2: 392704

Pro COOP:
DMFLAGS = 198660
DMFLAGS2 = 1212416

Pro CTF:
DMFLAGS: 21508
DMFLAGS2: 910848

Každému ovšem vyhovuje něco jiného a když mám chuť na oldschool deathmatch, musím si nastavit vše tak, jak to bylo. Jak na to? Použiju DMFLAGS kalkulátor! To je celé tajemství. Kalkulátor je stručně, ale jasně popsaný, takže zaškrtáváním hodnot si doladím pravidla dle libosti a tyto DMFLAGS pak nastavím při spouštění serveru. A naopak - dostanu-li do ruky nějaké číslo "otestuj tyhle DMFLAGS", vložím je do kalkulačky a vidím, o co asi tak jde.

Jak asi tušíte, hlavní předností DMFLAGS je možnost ladit pravidla za běhu serveru bez jeho restartu. Jednak si s tím můžete hrát sami v offline hře (do konzole se napíše prostě DMFLAGS číslo), ale hlavně to jde dělat skrz RCON i během online hry. Tím je podstata RCON dotažena k dokonalosti.

Styly nastavení hry

První pravidlo pro správce serveru: Zkušenosti s konkrétním nastavením serverů nejlépe naberete tak, že si vyzkoušíte připravené templaty, které jsou v ZDaemonu jako defaulty! Nahrajte si template a prolezte si všechny advanced položky. Porovnávejte rozdíly mezi coopem a deathmatchem - prozkoumejte možnosti sdílení wadů ze serveru (autodownload), podívejte se na možnosti botů. Jedině takto je možné se sžít z interface a rychle najít přesně tu položku, kterou potřebujete. Udělejte si extra adresář na vlastní konfigurace her - pouhým poklikáním je pak budete spouštět přímo z plochy Windows třeba.

Deathmatch (Team Deathmatch) - DM (TDM)

Deathmatch je asi to nejdůležitejší, co Doom nabízí i po letech, jako svěží záležitost. Týmový deathmatch to vše jen podtrhuje. Hrát DM dneska znamená používat zavedené DMFLAGS (viz výše), které jsou z objektivního hlediska spravedlivé, ale zdaleka nemusí jít o tak zábavnou záležitost. Když si do DMFLAGS kalkulačky vložíte výše uvedené, uvidíte přesně, jaká pravidla hry budou aplikovaná. Osobně, když chci moderní hru, nastavím hru takto:
DMFLAGS: 4396615
DMFLAGS2: 1048592
Co je zapnuté - jednak ochrana hráče - tedy že bude po respawnu na dvě sekundy nesmrtelný. Je to docela dobré pro začátečníky i pokročilé, dvě sekundy bohatě stačí k tomu, aby se hráč uklidil. Weapons stay - po přeběhnutí přes zbraň zůstane tato na zemi, při opětovném přeběhnutí nepřibydou náboje. Tempo hry je obvykle tak rychlé, že více munice není třeba. Je vypnutá hlavně možnost skočit do jiné mapy při exitu (to se dělá ručně skrz rcon) a další detaily.

Dále je možné hrát opravdu newschool DM, které vypadá takto:
DMFLAGS: 21700
DMFLAGS2: 163840
Tady je zajímavé, že se respawnují itemy a že je povolené skákání.

Osobně dávám přednost klasickému oldschoolu, který má nastavení přibližně takto:
DMFLAGS: 4935680
DMFLAGS2: 507392
Jsou zde nastavené klasické hodnoty, jak si je pamatuji z pařeb po kabelu. Nelze přeskakovat hráče, je možný běžet rychle o stěnu, respawnují se lékárničky i armor. Prostě klasika. Ideální je pak tyto pravidla obohatit o protekci, zakázat exit a podobně, dle chuti.

Nezapomínejte, že DMFLAGS lze měnit i za běhu serveru pomocí RCON, obvykle je potřeba restart mapy, ne celé aplikace, což je výhodné.

Z hlediska klienta není moc co řešit.
zdaemon.exe -file dwango5.wad +connect 127.0.0.1 +password "heslo"
Pro DM se obvykle nepoužívají žádné dodatečné wady, i když je možné, že správce serveru si přeje nové zvuky - třeba z wadu zwox2.wad:
zdaemon.exe -file dwango5.wad -file zwox2.wad +connect 127.0.0.1 +password "heslo"
Jak jste si všimli, všechny tyto věci lze testovat na lokálním stroji. Stačí spustit ZLauncher, v položce File vybrat "Start New Server", nastavit hodnoty, spustit (i třeba s boty) a následně spustit klienta, připojit se na localhost čili 127.0.0.1 a testovat.
Prakticky všechno výše napsané platí i pro týmovou hru. Nezapomeňte v Player Options nastavit správně barvy týmů!

Cooperation (COOP)

Cooperation čili coop neboli kooperace - pokud existuje nějaký nováček, pro kterého je DM příliš rychlá a destrukční záležitost, může si principy hry nejlépe osahat v kooperaci. Zde platí jen pár pravidel, ale jsou prakticky neměnná. Tak například - nehrajte kooperačně stanardní levely Dooma (2). Nejsou pro kooperaci stavěné. Prvních pár levelů se ještě dá hrát, ale v těch vyšších je to opravdu opruz. Buď se z toho stane čistý singleplayer, kde na nějaké spolupráci nezáleží nebo čistá otrava. Například v levelu deset zemřete i s veškerým zbrojním arzenálem. Již nemáte šanci si zbraně zase nabrat - jenom ty, které autoři dali do levelu deset. Tím se hra stává nehratelnou. V dřívějších dobách bylo možné ve hře ukládat pozici. To se dneska nenosí.

Nastavení DMFLAGS je prakticky jednotné. Starý styl hry je pro kooperaci naprosto nevhodný, takže se hraje prakticky jedině takto:
DMFLAGS: 198660
DMFLAGS2: 1212416
Toto nastavení obsahuje zůstávání zbraní, nekonečnou munici, pokračování v levelech po exitu, spawne se armor a samozřejmě příšery. Většina coop map je stavěna pro toto nastavení pravidel, takže nemá moc smysl se v tom babrat. Pokud by někdo chtěl nějakou extra modifikaci, doporučil bych ultrahardcorenightmare nastavení:
DMFLAGS: 239620
DMFLAGS2: 1212800
Příšery jsou dvakrát rychlejší, dvakrát více vydrží a dvakrát více zraňují ;).
Ještě jedno-dvě nastavení může být v některých coop levelech praktické. Jednak sdílení a držení klíčů po smrti (mnohé logické levely tak dostávají smysl hrát) a nice weapons, což znamená, že místo pistole začínáte po respawnu s jednohlavňovkou.
DMFLAGS: 198660
DMFLAGS2: 5406816
Tím jsou možnosti coopu prakticky vyčerpány, z hlediska klienta se nic nemění.
zdaemon.exe -file coopbuildlm.wad +connect 127.0.0.1 +password "heslo"
Při provozu coop serveru mějte na paměti jednu důležitou věc. Coop servery jsou z hlediska potřebného výkonu počítače i vytížení linky zdaleka nejnáročnější! Je hezké, že se v DM potká desítka lidí a v coopu jenom pět, ale počty příšer, projektily, nemizící mrtvoly - to jsou všechno věci, které musí server udržet a rozesílat hráčům. Přesto, že nároky na provoz serveru jsou opravdu minimální z dnešního hlediska, je docela možné, že při coopu server selže. Provozovat to na Pentiu 200 MMX není dobrý nápad!

Capture the Flag (CTF)

Capture the Flag je režim, který je čím dál populárnější, ale zároveň se s ním táhnou největší problémy. Původní Doom tento režim nikdy nepodporoval, takže jeho implementace proběhla zcela mimo iD Software. Ne snad, že by podpora CTF nebyla v ZDaemonovi dotažená do konce, jenom je z hlediska serveru i klienta maličko odlišná. Parametr teamscorelimit jsem probíral výše, tím to jenom začíná. Mnohem důležitější je výběr správných wadů. Probereme si určitou základní a nejvíce populární možnost. Budeme potřebovat tři wady, které musí být na serveru nastavené, jako required. Jmenovitě ZDCTFMP, ZDCTFMP2, ZDCTFMP3-. Tyto balíky obsahují mapy, dodatečnou grafiku, zvuky a herní systém CTF. Dále si musíme nastavit správné DMFLAGS. Drtivá většina CTF map je stavěna na tyto pravidla:
DMFLAGS: 21508
DMFLAGS2: 655360
Zbraně zůstávají na zemi, to je důležité. Po splnění limitu dojde k exitu a posunu mapy. Ve hře se vyskytují lékárničky a armor, které se respawnují. Trochu nezvyklé je povolení mouselook (tj. rozhlížení nahoru - dolů) a skákání. Velké mapy tyto vymoženosti podporují a tak je lepší je mít povolené. Hlavně ale musí být nastavený team start, aby hráči dvou týmů začínali blízko sebe, u základny. A také CTF kompatibilita.
Z hlediska klienta se jedná o několik důležitých bodů. Například hned rozhlížení a skákání si musí ručně nastavit v options (tady přichází velká výhoda nastavení vlastních CFG souborů dle stylu hry), i když je fakt, že malé mapy nemají šanci využít tyto featury. Dále - CTF mapy jsou nejčastěji stavěny pro dva týmy - červený a modrý. Pokud bude v player options nastavená jiná barva, není možné se do hry připojit. A samozřejmě - hráč musí mít k dispozici všechny wady a spouštět následně příkazem:
zdaemon.exe -file zdctfmp.wad -file zdctfmp2.wad -file zdctfmp3-.wad +connect 127.0.0.1 +password "heslo"
Doporučuji si všechno nejprve otestovat v lokálu, zkontrolovat, jestli se správně detekují a zobrazují vlajky a podobně. Zbytek je naprosto identický s klasickým DM nebo COOP.

Populární levely - DM, TDM, COOP, CTF

Zde toho není moc co vymyslet, oblíbené wady má každý vlastní. Ale do začátku bych se nebál inspirovat u zkušenějších. Například samotný server Obláček nabízí desítky wadů pro všechny styly hry. Stejně tak je velice vhodné se podívat na nejpopulárnější wady přímo na Master Serveru ZDaemon - použít to jako výchozí bod. Za sebe - nejvíce preferuji Dwango5 pro DM (ideální pro 2-4 hráče), ale klasická map01 plní většinu účelů. Coopbuildlm pro kooperaci (některé levely jsou dost překombinované tlačítky a chce to minimálně 4-6 lidí, ale hodně levelů je slušně hratelných i ve dvou) a klasické ZDCTFM1-2-3 pro CTF - je tam široký výběr map pro 4-32 hráčů. Ozkoušejte ještě Brit11, Dietest3, Dib20b nebo InvasionUAC3 - nebudete zklamáni!

Pokročilé nastavení konzole, makra, CFG soubory, boti

ZDaemon toho ale umí ještě víc. Jde o moderního klienta, takže věci, které znáte z Quake (zejména multiplayerová trojka) se zde vyskytují rovněž.

Balíček ZDaemon_WP

16 komentářů:

  1. Výborně, snad se dozvím, jak nastavit CTF. Sice se mi podaří založit hru a dokonce nějako tu CTF mapu, ale chybí tam vlaječky :-(

    OdpovědětVymazat
  2. To bude špatným doplňkovým wadem ;). Zrovna CTF věci (a obecně wady, které podporují skiny a další nestandardní nedoomovské prvky) potřebují ještě dodatečné wady, které se nastavují na serveru. Vím, že jsem to kdysi rozchodil i na svém, i na Obláčku, takže to snad pojede.

    Když se to pustilo bez nich, tak místo vlajek byly klíče a chovaly se divně, to je fakt ;).

    OdpovědětVymazat
  3. No celkem jsi me nalakal, Dave. Stahuju to a doufam, ze se domluvime na nejakem matchi. Sice jsem to nekolik let nehral, ale zrovna u Dooma probiha aklimatizace pomerne rychle :)

    OdpovědětVymazat
  4. Dave: Doplňkový wad s ctf jsem stáhl z Obláčku :-(

    OdpovědětVymazat
  5. Musíš dát více parametrů -file s více wadama. Hele já to dodělám tenhle návod, ono to chce trochu čas, jo? ;)

    OdpovědětVymazat
  6. Server jede! (A pojede nějakou tu hodinku snad).
    Oldschool Doom 2 map01 - navrch je pouze spawn protection na 2 sekundy
    zdaemon.exe +password "heslo" +connect 147.32.30.5:15292
    Jsem tam, ale zatím neaktivní, musím se dát ještě dokupy!

    OdpovědětVymazat
  7. Článek ve verzi 0.6 se začíná považovat za prakticky kompletní. Chybí dopsat speciální nastavení, boti a CFG a je to hotové. Pak tedy ještě někam lupnu odladěný balíček ZDaemon se všemi základními wady a bude to v1.0 ;).

    OdpovědětVymazat
  8. Zkouším serverovat a pokud použiji dwango5, tak dostanu nový hud a i zvuky asi nejsou úplně klasické. Jak to udělat tak aby zvuky i hud byly použity z doom2.wad?

    OdpovědětVymazat
  9. Obávám se, že tyhle featury jsou dané samotným wadem, tj. není je možné ovlivnit nějakým nastavením. Musel bys překopat přímo wad. Možná existuje modnutej dwango5, nevím ale o tom. Každopádně mi to nikdy nevadilo, takže jsem se tím nezabýval. (Nastavení DMFLAGS2 na classic sound atd. nepomáhá, zkoušel jsem).

    OdpovědětVymazat
  10. OK, díky.

    S tím se lehce smířím, akce se blíží :-) možná trochu rychleji než bych potřeboval.

    OdpovědětVymazat
  11. Pánové proč to nespouštíte klasicky přes zlauncher.exe? Tam stačí vyplnit jen nick a heslo a rovnou vás to pošle na seznam všech aktivních i neaktivních serverů (včetně založených přes obláček).
    Spousta lidí používá IDE, což je obdoba Zlauncheru - http://doomutils.ucoz.com

    Každopádně všechno je lepší než vypisovat ručně adresy atd.. GL

    OdpovědětVymazat
  12. ZLauncher je prima, ale princip článku spočívá v popsání, jak to dělat "podomácku", vysvětlit funkce a nastavení. Samozřejmě, že je jednodušší poklikat na server "a hotovo".

    Mezi náma - ručně vypisovat cestu nemusíš, jen ji pošleš po ICQ kamarádům a jede se ;).

    OdpovědětVymazat
  13. Dobrý den a ahoj,
    máte někdo zkušenosti s nastavením vlastního serveru na hostingu, který pracuje na unixu? Hledal jsem všude možně, ale téměř na nic sem nepřišel a hlavně mám problém se na server připojit přes Zluncher. V seznamu vůbec není a když jej přidam ručně nic se mi nenačte jen prázdný server. Přes konzoli se připojím.
    Server mám od fakaheda.eu a pište mi prosím buď sem nebo na email Ganjasta@seznam.cz předem děkuji.

    OdpovědětVymazat
  14. Obávám se, že s tímhle budeš muset jít na ofiko fóra ZDaemona a zároveň to prokomunikovat s hostingem.

    OdpovědětVymazat
  15. Aha děkuji za radu :)

    OdpovědětVymazat