Server Counter-Strike 1.6 potřebuje zhruba 256 MB paměti, jedno jádro procesoru, z něhož využije jen jediné vlákno, a jediný port UDP. To se za dvacet let nezměnilo. Změnilo se to, že původní Valve HLDS už téměř nikdo nepoužívá: servery, na kterých se skutečně hraje, běží na ReHLDS, reimplementaci enginu, s Metamodem, který nad ním načítá AMX Mod X, a právě tahle sestava je rozdíl mezi serverem, který působí jako rok 2004, a serverem, který působí jako muzeum.
Tento návod pokrývá celek: co jsou ReHLDS a ReGameDLL a proč nahradily originály, instalaci přes SteamCMD, každé nastavení v server.cfg, které stojí za změnu, Metamod a AMX Mod X, příznaky adminů a seznam příkazů, mapy a stahování, boty a upřímnou situaci s cheatováním a klienty bez Steamu. Instalace CS 1.6 na RE:NODE se dodávají s ReHLDS, AMX Mod X a Metamodem už na svém místě, takže pokud jsi na jedné z nich, čti to jako vysvětlení toho, co už tam je.
Co na serveru CS 1.6 běží: HLDS, ReHLDS a ReGameDLL#
Původní sestava má tři části. Engine (hlds_linux s engine_i686.so na Linuxu, hlds.exe s swds.dll ve Windows) řídí svět a síť. Herní knihovna (cstrike/dlls/cs.so na Linuxu, mp.dll ve Windows) implementuje samotný Counter-Strike - nákupní menu, bombu, peníze. A složka modu cstrike/ obsahuje mapy, konfigurace a vše, co budeš skutečně upravovat.
Komunita nahradila první dvě:
| Část | Originál | Náhrada | Proč |
|---|---|---|---|
| Engine | HLDS | ReHLDS | Opravy pádů a exploitů, lepší výkon, další cvary |
| Herní knihovna | cs.so / mp.dll | ReGameDLL_CS | Opravené dlouholeté chyby, napevno zadrátované chování zpřístupněné jako cvary |
| Zavaděč pluginů | žádný | Metamod, nebo Metamod-r | Umožňuje AMX Mod X a dalším pluginům napojit se na hru |
ReHLDS se vyměňuje jednoduše: přepíšeš binárku enginu a všechno ostatní funguje dál. ReGameDLL_CS platí totéž pro herní knihovnu a právě ten přidává většinu nových cvarů mp_, které lidé citují - režim každý proti každému, nekonečné kola, chování zbraní, které bývalo pevně v kódu. Žádný z nich ve výchozím nastavení nemění, jak se hra hraje. Oba jsou vyvíjeny na GitHubu a oba stojí za to nasadit, protože čistý HLDS nedostal smysluplnou opravu už velmi dlouho a několik jeho chyb lze spustit na dálku.
Instalace základní hry ze SteamCMD je aplikace 90, dedikovaný server Half-Life, s modem vybraným před spuštěním aktualizace:
$ steamcmd +force_install_dir /home/cs16/server +login anonymous \ +app_set_config 90 mod cstrike +app_update 90 validate +quit$ cd /home/cs16/server$ ./hlds_run -game cstrike +ip 0.0.0.0 +port 27015 \ +maxplayers 24 +map de_dust2Aplikace 90 je pověstně protivná. SteamCMD často při prvním pokusu selže s chybou předplatného nebo manifestu a při druhém či třetím stejném spuštění uspěje a +app_set_config 90 mod cstrike musí stát před +app_update, jinak dostaneš místo toho deathmatch Half-Life. GoldSrc je 32bitový, takže 64bitový Linux potřebuje před čímkoli dalším nainstalovanou 32bitovou knihovnu C. Na hostingu s panelem se to všechno už stalo a server, který dostaneš, je hotový strom souborů.
hlds_run je obalový skript, který server znovu spustí, když skončí; hlds_linux je samotná binárka. Staré návody přidávají -pingboost 1 až 2 nebo 3, což mění, jak engine mezi snímky spí. Bylo to řešení pro jádra, která už neexistují, a na ReHLDS to nech vypnuté.
Požadavky a spotřeba zdrojů#
| Konfigurace | RAM | CPU | Poznámky |
|---|---|---|---|
| 12-16 slotů, čistá hra plus AMXX | 256-512 MB | 1 jádro | Běžný veřejný server |
| 24-32 slotů, tucet pluginů | 512 MB - 1 GB | 1 jádro | Počet pluginů znamená víc než sloty |
| Zombie Plague, CSDM, Jailbreak na 32 slotech | 1-2 GB | 1 rychlé jádro | Náročné mody AMXX se stavem pro každého hráče |
| Dva servery na jednom stroji | Dvojnásobek výše uvedeného | 1 jádro na každý | Jedno vlákno užitečně sdílet nebudou |
Instalace zabere pod gigabajt. Vše, co roste, je obsah, který přidáš: vlastní mapy, sprity, zvuky a modely, a právě na to je na tarifu opravdu disk.
CPU je u 1.6 neobvyklé. GoldSrc provádí celou simulaci v jednom vlákně, takže počet jader nic nedělá a vše rozhoduje taktovací frekvence. sys_ticrate nastavuje cílovou snímkovou frekvenci serveru a komunitní výchozí hodnota 1000 opravdu utrácí CPU za plynulejší pohyb a registraci zásahů. Na tarifu, který poskytuje jen zlomek jádra, je sys_ticrate 500 rozumný kompromis a rozdíl je těžké poznat; sys_ticrate 100 už ne a hráči to poznají.
Síťový provoz je na dnešní poměry nepatrný - plný server na 32 slotů je pár stovek kilobajtů za sekundu. Záleží na latenci a jitteru, protože kompenzace lagu v 1.6 je dobrá, ale ne zázračná, a server o dvě země dál je server, kde prohráváš souboje.
server.cfg řádek po řádku#
cstrike/server.cfg se čte při startu a při každé změně mapy. Tady je kompletní pro veřejný server, bez ozdob:
hostname "Longship 1.6 // Classic maps // EU"rcon_password "a-long-random-string"sv_password ""sv_contact "you@example.com"sv_lan 0sv_region 3// Rounds and rulesmp_timelimit 30mp_maxrounds 0mp_winlimit 0mp_freezetime 6mp_roundtime 2.5mp_buytime 0.25mp_c4timer 35mp_startmoney 800mp_friendlyfire 0mp_tkpunish 0mp_autoteambalance 1mp_limitteams 2mp_autokick 0mp_flashlight 1mp_footsteps 1mp_forcecamera 0mp_fadetoblack 0mp_hostagepenalty 0mp_chattime 10mp_playerid 0// Physicssv_gravity 800sv_maxspeed 320sv_airaccelerate 10sv_cheats 0pausable 0// Networksys_ticrate 1000sv_maxrate 25000sv_minrate 5000sv_maxupdaterate 101sv_minupdaterate 20sv_unlag 1sv_maxunlag 0.5sv_timeout 65// Contentsv_allowupload 1sv_allowdownload 1sv_downloadurl ""mp_consistency 1// Logslog onmp_logmessages 1mp_logdetail 3sv_logbans 1sv_logecho 1exec banned.cfgexec listip.cfg| Nastavení | Výchozí | Co dělá |
|---|---|---|
mp_roundtime | 5 | Délka kola v minutách, mezi 1 a 9. Soutěžní hra používá 1.75 |
mp_freezetime | 6 | Nákupní zmrazení na začátku kola, v sekundách |
mp_buytime | 1.5 | Doba nákupního menu v minutách. 0.25 je patnáct sekund |
mp_c4timer | 45 | Časovač bomby. 35 je soutěžní hodnota |
mp_startmoney | 800 | Peníze v prvním kole, 800 až 16000 |
mp_friendlyfire | 0 | Zapnuté pro soutěžní hru, vypnuté pro veřejný server, který chce zůstat zalidněný |
mp_autoteambalance | 1 | Na konci kola přesouvá hráče, aby se týmy vyrovnaly |
mp_limitteams | 2 | Maximální rozdíl velikosti týmů, než se připojení zablokuje |
mp_forcecamera | 0 | 1 omezí mrtvé hráče na sledování vlastního týmu |
mp_fadetoblack | 0 | 1 zčerná obrazovku po smrti. Ochrana proti ghostingu v zápasech |
mp_playerid | 0 | 0 jména pro všechny, 1 jen tým, 2 nikdo |
sv_maxupdaterate | 60 | Snímků za sekundu na klienta. 101 je komunitní standard |
sv_unlag | 1 | Kompenzace lagu. Nikdy ji nevypínej |
mp_consistency | 1 | Odmítá klienty, jejichž soubory modelů a spritů nesedí |
Poslední dva řádky konfigurace znamenají víc, než se zdá. banned.cfg a listip.cfg jsou soubory, do nichž engine zapisuje bany po writeid a writeip, a ne ve všech buildech se načítají automaticky - jejich spuštění přes exec ze server.cfg způsobí, že bany přežijí restart. Zapomenout na to je klasické hlášení „včera jsem ho zabanoval a je zpátky“.
Porty, RCON a připojení#
| Port | Protokol | Účel |
|---|---|---|
27015 | UDP | Herní provoz a dotazy Steamu, které používá prohlížeč serverů |
27015 | UDP | RCON. GoldSrc provozuje RCON přes UDP na herním portu |
27020 | UDP | HLTV, jen pokud provozuješ proxy |
Ten řádek o RCON je past pro každého, kdo přichází ze hry na Source. CS:GO a CS2 mluví RCON přes TCP; GoldSrc ho vede přes UDP na stejném portu jako hra, nešifrovaně, s heslem v každém paketu. Kdokoli, kdo zachytí provoz mezi tebou a serverem, získá heslo, a neexistuje verze protokolu, která by to opravila. Používej konzoli v panelu, která se ověřuje tvým účtem, a drž rcon_password dlouhé a pravidelně měněné. Bezpečné používání RCON je obecný případ a tady platí dvojnásob.
Tarif CS 1.6 na RE:NODE přichází s jedním přidělením portu, což je přesně to, co server potřebuje. HLTV je druhý proces na druhém portu, který v případě zájmu přidáš na kartě Network.
Hráči se připojují třemi způsoby: v prohlížeči serverů ve hře pod Find Servers, z oblíbených přidaných podle adresy, nebo příkazem connect 203.0.113.10:27015 zadaným do konzole. Přímé připojení funguje, i když je hlavní seznam pomalý, a je to to, čím testovat dřív, než uvěříš, že problém je skutečný. Pokud raději rozdáváš jméno než adresu, připojení domény k herním serverům popisuje záznam A a pro 1.6 to funguje bez potíží, dokud port zůstává v adrese.
Metamod a AMX Mod X#
Metamod je vložená vrstva mezi enginem a herní knihovnou, díky níž se na hru může napojit několik pluginů najednou. AMX Mod X je platforma pluginů, kterou provozuje téměř každý server 1.6, a načítá se jako plugin Metamodu. Nic jiného ve světě 1.6 nemá ani zlomek jeho katalogu pluginů.
Metamod se instaluje tak, že na něj mod místo na herní knihovnu ukážeš. V cstrike/liblist.gam:
gamedll "addons\metamod\dlls\metamod.dll"gamedll_linux "addons/metamod/dlls/metamod_i386.so"Metamod pak načte vše, co je uvedeno v cstrike/addons/metamod/plugins.ini, jeden plugin na řádek, s platformou na začátku:
linux addons/amxmodx/dlls/amxmodx_mm_i386.sowin32 addons\amxmodx\dlls\amxmodx_mm.dllSpusť server a do konzole napiš meta list. Pokud se AMX Mod X ukáže jako běžící, napiš amxx version. Dva příkazy, třicet sekund, a víš, jestli sestava žije. Strom pod tím vypadá takto:
cstrike/addons/amxmodx/ configs/ amxx.cfg core settings users.ini admins plugins.ini which plugins load modules.ini which modules load maps.ini the map vote list cmds.ini commands run at map start plugins/ the .amxx files modules/ engine, fun, cstrike, fakemeta, hamsandwich data/lang/ translations logs/ one file per day scripting/ .sma sources and the compilerPluginy jsou soubory .amxx v plugins/, zapnuté přidáním jejich názvu do configs/plugins.ini. Několik pluginů nejdřív potřebuje zapnutý modul v modules.ini - obvyklými podezřelými jsou fun, cstrike, fakemeta a hamsandwich - a plugin, který se nenačte s řádkem „module not found“ v logs/, má problém téměř vždy tady. Pluginy psané v Pawnu se kompilují ze .sma na .amxx kompilátorem ve scripting/, což je dobré vědět, protože polovina užitečných pluginů pro 1.6 se zveřejňuje jako zdrojový kód.
configs/amxx.cfg obsahuje základní nastavení. amx_default_access určuje, co smí hráč bez záznamu v users.ini, a měl by zůstat prázdný. amx_show_activity 2 oznamuje akce adminů jejich jménem, což je nastavení, které drží tým adminů poctivý. amx_password_field "_pw" pojmenovává proměnnou na straně klienta, do které se zadává heslo admina, tedy řádek setinfo _pw "yourpassword", který si admin přidá do vlastní konfigurace.
Admini, příznaky a příkazy#
Admini žijí v cstrike/addons/amxmodx/configs/users.ini, jeden na řádek, ve čtyřech polích: identita, heslo, přístupové příznaky, příznaky účtu.
; identity password access flags account flags"STEAM_0:1:123456" "" "abcdefghijklmnopqrstu" "ce""STEAM_0:0:987654" "" "bcdefijmnu" "ce""Anna" "herring42" "bcdefij" "a"Příznaky účtu rozhodují, jak se admin rozpozná. c znamená, že identita je SteamID, d znamená IP adresu, e znamená, že se nevyžaduje heslo, a a odpojí každého, kdo při použití daného jména zadá špatné heslo. SteamID s ce je správná odpověď pro každého, komu věříš; jméno plus heslo je pro lidi, jejichž ID zatím nemáš, a je tak dobré, jak dobré je heslo.
Přístupové příznaky jsou jednotlivá písmena a sčítají se:
| Příznak | Uděluje |
|---|---|
a | Imunitu vůči ostatním adminům |
b | Rezervovaný slot |
c | amx_kick |
d | amx_ban, amx_unban, amx_banip |
e | amx_slay, amx_slap |
f | amx_map |
g | amx_cvar pro většinu cvarů |
h | amx_cfg |
i | amx_chat, amx_say, amx_psay, amx_tsay |
j | Příkazy hlasování |
k | Přístup k chráněným cvarům, například sv_password |
l | amx_rcon a rcon_password |
m až t | Vlastní úrovně, které si definují jednotlivé pluginy |
u | Přístup do menu admina |
z | Běžný uživatel, bez práv admina |
Rozdávat všem abcdefghijklmnopqrstu je způsob, jak servery 1.6 ničí jejich vlastní adminové. Moderátor potřebuje bcdefiju a nic víc; l dává RCON, tedy celý server, a patří jedné osobě.
| Příkaz | Účinek |
|---|---|
amx_kick <name> [reason] | Odstraní hráče |
amx_ban <minutes> <name> [reason] | Ban podle SteamID. 0 je trvalý |
amx_banip <minutes> <name> | Zabanuje adresu |
amx_addban <steamid> <minutes> | Zabanuje někoho, kdo není připojený |
amx_unban <steamid> | Zruší ban |
amx_slay <name> / amx_slap <name> [damage] | Zabije, nebo udeří a odhodí |
amx_map <map> | Změní mapu |
amx_extendmap <minutes> | Přidá čas aktuální mapě |
amx_votemap <map...> | Spustí hlasování o mapě |
amx_cvar <cvar> [value] | Přečte nebo nastaví cvar |
amx_rcon <command> | Spustí příkaz serveru |
amx_who | Vypíše hráče s jejich přístupem |
amx_reloadadmins | Znovu načte users.ini bez restartu |
amx_plugins / amx_modules | Co se načetlo a co selhalo |
amxmodmenu | Otevře menu admina ve hře |
amx_reloadadmins je příkaz k zapamatování: přidání moderátora během večera nestojí nic a nevyžaduje restart.
Mapy, cyklus map a stahování#
Mapy jsou soubory .bsp v cstrike/maps/, často vedle souboru .res, který uvádí další zvuky, sprity a modely, jež mapa potřebuje, aby klienti věděli, co stáhnout. mapcycle.txt v cstrike/ je rotace, jeden název mapy na řádek, a motd.txt je textový panel, který hráči vidí při připojení.
Rotaci na většině serverů přebírá AMX Mod X. configs/maps.ini je seznam, který nabízejí pluginy pro hlasování, a standardní pluginy mapchooser, nextmap a timeleft mezi sebou zajišťují hlasování na konci mapy, oznamují, co bude dál, a odpovídají na say timeleft. Pokud chceš pevnou rotaci, odeber mapchooser z plugins.ini a nech to na mapcycle.txt.
U vlastního obsahu servery 1.6 ztrácejí hráče. Klient, který tvou mapu nemá, ji může získat dvěma způsoby:
- Stahování přímo v enginu, s
sv_allowdownload 1. Funguje, ale je trýznivě pomalé a 20MB mapa znamená dvě minuty zírání na ukazatel postupu. Někteří klienti to vzdají. sv_downloadurl "http://files.example.com/cstrike", ukazující na webový server, který zrcadlí strukturu složek -maps/,sound/,sprites/,models/. Soubory lze uložit komprimované bzip2 jakode_yourmap.bsp.bz2a klient je rozbalí. Je to desítkykrát rychlejší a dělá to každý vytížený server.
Pro druhou možnost postačí jakýkoli statický webhosting, včetně malého tarifu webhostingu - je to složka souborů přes HTTP, nic chytrého. Obsah udržuj shodný s tím, co má server, protože neshodný sprite s mp_consistency 1 skončí vyhozením hráče se zprávou, které nikdo nerozumí.
Boti, cheatování a klienti bez Steamu#
CS 1.6 se dodává se ZBotem, botem převzatým z Condition Zero. bot_add, bot_add_t, bot_add_ct, bot_quota <n>, bot_difficulty 0 až 3 a bot_kick jsou celé rozhraní. Boti potřebují navigační soubor pro mapu, maps/de_dust2.nav, který oficiální mapy mají a vlastní mapy téměř nikdy. Alternativou je bot pro Metamod, například YaPB nebo POD-Bot, které si přinášejí vlastní waypointy, lépe zvládají vlastní mapy a lze je nastavit pro každou mapu zvlášť - proto téměř každý zalidněný server 1.6, který boty používá, používá jeden z těchto, a ne ZBota.
Cheatování je upřímně slabé místo hry. VAC existuje a chytí neopatrné. Obrana na straně serveru je sv_cheats 0, mp_consistency 1 a anti-cheat plugin pro AMX Mod X, který hlídá nemožné chování, plus ReAuthCheck na straně ReHLDS, který odmítá klienty předkládající cizí SteamID. Nic z toho není vyřešený problém a server, který roste, potřebuje aktivního admina víc než další plugin. Udržování modovaného serveru v čistotě je o modech, ne o cheatech, ale disciplína je stejná.
A pak je tu věc, kterou přeskakuje každý návod k 1.6. Velká část zbývající populace 1.6 hraje na buildech klienta bez Steamu a servery, které tyto hráče chtějí, instalují ReUnion, který je přijímá a vydává jim vygenerované identity. Je to skutečná křižovatka, ne detail. Přijmi je a získáš vytíženější server, neověřenou populaci a bany podle SteamID i adminy podle SteamID, které už moc neznamenají, protože zabanovaný hráč se vrátí s novou identitou. Odmítni je a zachováš sv_lan 0, skutečné ověřování přes Steam, bany, které drží, a menší okruh hráčů. Existují oba druhy serverů a oba fungují. Rozhodni se vědomě, protože dodatečná změna na zavedeném serveru znamená přestavět seznamy adminů i banů.
Řešení potíží#
SteamCMD nenainstaluje aplikaci 90. Spusť ho znovu. A znovu. Nejsi to ty; manifest aplikace 90 občas selže a stejný příkaz při pozdějším pokusu uspěje. Zkontroluj, že +app_set_config 90 mod cstrike stojí před +app_update 90.
Server naběhne, ale v prohlížeči se neobjeví. Zkontroluj sv_lan 0 a sv_region, pak vyzkoušej přímé connect podle adresy. Pokud přímé funguje, server je v pořádku a hlavní seznam je pomalý.
`meta list` neříká nic. liblist.gam stále ukazuje na původní herní knihovnu. Zkontroluj oba řádky, gamedll i gamedll_linux - upravit jen ten pro svou platformu stačí, neupravit žádný je obvyklá chyba.
AMX Mod X se načte, ale plugin ne. Přečti addons/amxmodx/logs/. Pojmenuje chybějící modul nebo chybu kompilace. Moduly se zapínají v modules.ini, pluginy v plugins.ini a samotný soubor pluginu musí existovat v plugins/.
Admini nemají práva. Buď SteamID v users.ini není přesně to, které hráč má, nebo v příznacích účtu chybí c. Spusť amx_who, zatímco jsou připojeni, abys viděl, za koho je server považuje, a pak amx_reloadadmins.
Hráči jsou vyhazováni kvůli nekonzistentním souborům. mp_consistency 1 s obsahem na serveru, který se liší od toho, co nabízí adresa ke stahování. Udělej je shodné.
Všechno sekne při 32 hráčích. Než začneš vinit pluginy, podívej se na sys_ticrate vůči limitu CPU. Server na pevném limitu CPU je pomalý, ne rozbitý, a neoznámí se jinak než snímkovou frekvencí.
FAQ#
Vyplatí se v roce 2026 ještě hostovat Counter-Strike 1.6?
Ano, v tom smyslu, že servery s komunitou se každý večer stále plní. Je to zdaleka nejlevnější hra k hostování, scéna modů má za sebou dvacet let hloubky a veškerá zbývající populace se rozhodla zůstat. Není to hra, pro kterou spustíš server a čekáš, až tě někdo najde.
Jaký je rozdíl mezi HLDS a ReHLDS?
ReHLDS je reimplementace téhož enginu, binárně kompatibilní se stávajícími mody a pluginy, s opravenými nashromážděnými pády a exploity a přidanými cvary. Je to přímá náhrada a dnes není praktický důvod provozovat původní HLDS.
Kolik RAM potřebuje server CS 1.6?
256 MB pro malý server, 512 MB pro plný server na 32 slotů s běžnou sadou pluginů a 1 GB nebo víc pro náročné herní režimy AMXX jako Zombie Plague, které drží stav každého hráče. Paměť je u 1.6 téměř nikdy limit; limitem je výkon jednoho vlákna CPU.
Jak se udělám adminem?
Přidej do cstrike/addons/amxmodx/configs/users.ini řádek se svým SteamID, bez hesla, s přístupovými příznaky, které chceš, a příznaky účtu ce. V konzoli spusť amx_reloadadmins. Pak ve hře napiš amxmodmenu.
Proč si hráči stahují mapy tak pomalu?
Protože vlastní přenos souborů v enginu je z roku 1998. Nastav sv_downloadurl na webový server se stejnými složkami maps/, sound/ a sprites/, ideálně s kopiemi komprimovanými bzip2, a stahování bude dost rychlé na to, aby lidé zůstali.
Mohou se na můj server připojit klienti bez Steamu?
Jen pokud nainstaluješ ReUnion, který je přijímá a přiděluje jim vygenerované identity. Cenou je, že bany podle SteamID a adminové založení na SteamID jsou mnohem slabší. Výchozí server s sv_lan 0 přijímá jen klienty Steamu.




Komentáře
Zcela anonymně: žádný účet, žádný e-mail, žádné cookie. Ukládáme jen jméno, které napíšeš, text a čas - nic dalšího. Počet odkazů je omezený a značkování se nevykresluje.