Před časem jsem dostal bojový úkol, dát dohromady server postavený na Linuxu se hrou Call of Duty 2. Počítač už byl složený, takže o starost méně (díky Souky). Jako konkrétní Linuxovou distribuci jsem zvolil Slackware 10.2. Jednak proto, že mi prostě přirostl k srdci a druhak proto, že je jednoduše konfigurovatelný právě podle mých představ – instalace jednoduchá přes pár textových menu (disk je nutno nejprve rozdělit v Linuxovém fdisku nebo cfdisku včetně manuálního vytvoření SWAPovacího oddílu, to se zařídí ještě před samotným setupem s výběrem balíčků). Ručně jsem si zvolil potřebné balíčky (z nichž nejpotřebnější je samozřejmě MAN s GROFem :)).

Po rychlé instalaci jsem zkompiloval jádro 2.6.15 (poslední je 2.6.17.1, ale "patnáctka" je pro tento účel víc než dostačující a standardně se po instalaci jelo na jádru 2.4.xx) přesně pro ten stroj (aneb mocná kombinace "make menuconfig", "make", "make bzImage", "make modules_install" a "make install"). Jedná se o Celeron na 2 GHz (a nějaké drobné) s 512 MB RAM. Paměť v případě potřeby přidáme, zatím je víc než dostačující (taky tam běží jenom CoD 2).

Potom jsem nakonfiguroval firewall (iptables), nainstaloval poslední SSH kvůli bezpečnosti (jak jinak) a pustil se do ubastlení CoD 2 dedicated serveru.

Celá instalace CoD 2 serveru spočívala v tom, nakopírovat data hry z DVD na disk, rozbalit do adresáře s daty linuxové binárky serveru (ve verzi 1.3, pokud si budete stavět vlastní server tak u těchhle binárek najdete podrobný postup, co kam nakopírovat). S Kerďákem jsme dořešili DNS a voi lá, server jede a už se na něm i sem tam někdo objeví.

Nastavení CoD2 serveru (ne celého linuxu, ale hry) jsem vyřešil velice jednoduše přes tuto šikovnou stránečku.

Server se spouští následujícím skriptem:

#!/bin/bash

./cod2_lnxed +set net_port 28960 +set dedicated 2 +set sv_punkbuster 0 +exec dedicated.cfg +map_rotate > /dev/null 2>&1 &

Právě konec příkazu (> /dev/null 2>%1 %) má za následek, že se server pustí na pozadí a neukončí se automaticky při vypnutí Putty. Potom jsem ještě potřeboval dořešit automatické spuštění serveru po restartu počítače, protože při zavolání "cod2" s absolutní cestou (/home/multi/cod2/cod2) server nenaběhl, protože svoje data hledal v ROOTu. Vyřeší se to úplně prostě, a to sice že do /etc/rc.d/rc.local stačí přidat:

cd /home/multi/cod2
./cod2 (název spouštěného souboru)
cd / (pro jistotu návrat do kořenového adresáře)

Rozepisuji se tady o tom spouštění tak moc právě proto, že jsem o tom moc zmínek nenašel a pokud dílem náhody (osudu?) někdo bude chtít provozovat CoD 2 na Linuxu a narazí na tenhle příspěvek, tak se mu to holt bude hodit. 

Nuže, server jede a dnes jsem tam zastihl tři cizince a chvíli jsem si s nimi zahrál:

cod2

To nejdůležitější na konec:

IP ADRESA SERVERU JE: 84.244.102.12

Přijďte si taky zahrát 😉 Případné dolaďování serveru a připomínky spíš než zde v komentářích řešte, prosím, zde. Pro příznivce Call of Duty (prvního dílu) je připraven server na adrese: 84.244.102.5