Bezbolestná cesta k vlastnímu Counter-Strike serveru – část 3 (banování)

Po "malé" odmlce tu máme další pokračování našeho seriálu o provozování Counter-Strike serveru. Už umíme spustit, nastavit a vyladit server podle našich požadavků, ale stále nevíme jak vyhazovat a banovat neposlušné hráče ze serveru.

Asi každému z vás už se někdy stalo, že na serveru narazil na člověka, kterého chtěl z nějakého důvodu vyhodit ze serveru. K takovému účelu slouží příkazy kick, banid a addip. Někdy se dokonce neopatrnou prací s vlastním server omylem zabanujete. V tom případě pomůžou příkazy removeid a removeip
Než začneme s popisem samotných příkazů musíme si vysvětlit jak server identifikuje hráče. Každému hráči je po připojení na server přiděleno číslo, které se nazývá userid. Navíc má ještě každý hráč unikátní číslo nazývané uniqueid, v podobě STEAMID (Steam) nebo WONID (Counter-Strike 1.5 a starší). UniqueID je závislé na CD-key, který hráč obdržel s hrou Half-Life. V případě, že není server napojený na internet (LAN server), mají všichni hráči na serveru hodnotu uniqueid VALVE_ID_LAN, nebo STEAM_ID_LAN. Hráče lze identifikovat také podle IP adresy. Poslední možnost jak identifikovat hráče na serveru je pomocí jména, což ovšem není moc přesné a nedoporučuju tuto možnost moc využívat. Ať už z důvodu složitosti některých nicků, nebo třeba pro nešťastnou podobu písmen "l" a "I". Všechny tyto údaje o hráči lze zjistit příkazy users, nebo status.

Kick
Příkaz kick vykopne hráče ze serveru. Jeho použití je následovné.
kick <jmeno_hrace> | #<id_hrace>
Vidíme, že pokud chceme vyhodit hráče ze serveru, lze to udělat dvěma způsoby. Buď uvedeme hráčovo jméno, nebo za znak # uvedeme jeho id.
Např. pokud chceme vyhodit hráče s userid 66 napíšeme do konzole:
kick #66

Ban podle uniqueid
Mnohdy se ovšem stane, že hráč kterého jste právě vyhodili se ihned vrátí. Aby se tento hráč už vrátit nemohl, stačí použít příkaz ban. Tento příkaz zabanuje hráče na serveru na určitou dobu podle jeho uniqueid, případně jej může také kicknout.
banid <pocet_minut> [<unikatni_id> | #<id_hrace>] {kick}
Pro kicknutí a zabanování hráče s userid 66 na 120 minut, použijeme příkaz:
banid 120 #66 kick
Pokud chceme hráče zabanovat nastálo jako <pocet_minut> uvedeme 0.
Jestli chceme aby hráč byl zabanovaný i po restartování serveru, musíme zabanované id zapsat do souboru banned.cfg pomocí příkazu writeid. Navíc v souboru server.cfg musíme mít řádek:
exec banned.cfg

Ban podle IP adresy
Pokud chceme zabanovat hráče na LAN serveru který není připojený na internet nezbývá nám než použít příkaz addip. Příkaz addip se používá k zabanování hřáče podle IP adresy a lze jej samozřejmě použít také na internetu.
Jeho syntaxe je následující:
addip <pocet_minut> <ip_adresa>
IP adresu hráče zjistíme pomocí příkazu status.
Pokud tedy chceme zabanovat hráče s IP adresou 169.254.1.66 permanentně, napíšeme:
addip 0 169.254.1.66
Pro zapsání IP adresy do souboru listip.cfg se používá příkaz writeip a jeho použití je totožně s příkazem writeid. V souboru server.cfg musíme nastavit proměnnou sv_filterban 1, která zaručí spuštění souboru listip.cfg při každém restartu serveru. V případě problémů můžete zkusit do souboru server.cfg přidat:
exec listip.cfg
Někdy se stává, že hráč má dynamickou IP adresu. V tom případě je možné zabanovat celou podsíť. Například kdybychom v našem případě chtěli zabanovat všechny IP adresy v rozsahu 169.254.1.1 až 169.254.1.254 na 60 minut, stačí použít příkaz:
addip 60 169.254.1

Odbanování
Pro odbanování hráče slouží příkazy removeid resp. removeip. Jejich syntaxe je následovná.
removeid <uniqueid> | #<slotnumber>
Slotnumber je pořadí záznamu v souboru banned.cfg.
removeip <ip_adresa>

Všechny zabanované hráče si lze prohlédnout v souborech banned.cfg pro hráče zabanované podle uniqueid a listip.cfg pro hráče zabanované podle IP adresu. Přes konzoli si obsah těchto souborů vypíšeme příkazy listid a listip. Pokud chceme obsah souboru upravovat, lze tak činit pouze v případě, že je server vypnutý. Za chodu serveru lze obsah obou souborů měnit pouze přes konzoli příkazy writeid a writeip!

V případě, že server ovládáme přes RCON uvedeme před všechny zmíněné příkazy příkaz rcon, např.:
rcon kick #66

Na závěr malá rekapitulace. Chceme-li zabanovat hráče napořád podle uniqueid a navíc si chceme pojistit, že z jeho počítače už nebude nikdo hrát ani s novým CD-key. Postup bude následující:
status (např. zjistíme, že hráčovo uniqueid je STEAM_0:0:521616 a jeho IP adresa 62.24.64.22)
banid 0 STEAM_0:0:521616 kick (permanentní ban hráče s uniqueid STEAM_0:0:521616)
writeid (zapsání banu do souboru banned.cfg)
addip 0 62.24.64.22 (permanentní ban hráče s IP adresou 62.24.64.22)
writeip (zapsání banu do souboru listip.cfg)

Změníte-li názor a chceme hráče odbanovat, provedeme zhruba toto:
listid (vypsání všech zabanovaných uniqueid)
removeid STEAM_0:0:521616 (odbanování hráče s uniqueid STEAM_0:0:521616)
writeid (zapsání změny do souboru banned.cfg)
listip (vypsání všech zabanovaných IP adres)
removeip 62.24.64.22 (odbanování hráče s IP adresou 62.24.64.22)
writeip (zapsání změny do souboru listip.cfg)

V souboru server.cfg nezapomeňte na tyto řádky:
sv_filterban 1
exec banned.cfg
exec listip.cfg

Možností jak banovat je více, obvykle nám práci hodně usnadní různé pluginy jako AMX Mod X nebo AdminMod. Také HLSW se dokáže s banováním poměrně slušně vypořádat.

Bohužel jsem trochu podcenil rozsáhlost této kapitoly a tak se HLTV budeme zabývat až v další části seriálu.

Obsah seriálu Bezbolestná cesta k vlastnímu Counter-Strike serveru
Bezbolestná cesta k vlastnímu Counter-Strike serveru – část 1 (instalace)
Bezbolestná cesta k vlastnímu Counter-Strike serveru – část 2 (konfigurace)
Bezbolestná cesta k vlastnímu Counter-Strike serveru – část 3 (banování)
Bezbolestná cesta k vlastnímu Counter-Strike serveru – část 4 (HLTV)
Bezbolestná cesta k vlastnímu Counter-Strike serveru – část 5 (spuštění)

posted by rhin0 on July 14th, 2004 at 0:44
comments: 0
views: 3709