Vytváření serverů
Jako každá hra pro více hráčů od Valve založená na Source Enginu, Team Fortress 2 používá síťovou architekturu klienta a serveru. Klient je kopie hry běžící na počítači hráče, server je software ke kterému se klient připojuje. Aktuálně je provozováno několik tisíc Team Fortress 2 serverů celosvětově.
Server je odpovědný za několik aspektů průběhu Team Fortress 2 hry. Odpovídá na hráčovi změny pozice a změny stavů, například, výstřel zbraně před tím než rozhodne o výsledku situace, například, udělení poškození cíli a oznámení útočníkovi výsledek akce, například, zobrazení uděleného poškození. Server se též stará o úkoly mimo hráče, jako je například čas mapy, ovládání Sentry Gun, ...
Obsah
Výhody
Místo toho aby se hráč připojoval na existující server, může se rozhodnout o vytvoření vlastního serveru pro hostování hry. Toto umožní hostitely hry nastavit vlastní rotaci map, což určí jaké mapy a herní módy se budou hrát. Dodatečně můžou být upraveny další zabudované nastavení jako je gravitace, limit počtu tříd, Highlander konfiguraci a tak dále. Vlastní modifikace můžou být též nainstalovány za účelem jiného herního stylu.
Typy
Existují 2 typy herních serverů které mohou běžet na Source Enginu.
Lokální/Naslouchací server
Lokální server je server běžící na hráčově klientu. Může být jednoduše vytvořen pomocí vybraní tlačítka Vytvořit Server v hlavní nabídce. Ostatní hráči se na tento server mohou připojit ale běh serveru na klientově systému často zatěžuje systém. Tyto servery jsou nejlepší pro eventy na síti LAN.
Dedikované servery
Dedikovaný server je samostatný server který ke svému provozu nevyžaduje Steam. Dedikované servery jsou preferovány kvůli snížené režii. Mnoho dedikovaných serverů běží na kvalitním hardwaru v data centrech díky čemu jsou rychlé a dávají hráčům stabilní připojení k síti které není u připojení z domácnosti zaručeno. Dedikované servery jsou často provozovány na portech 27000 až 27050, převážně ale na portu 27015.
Systémové požadavky
Zatímco většina poskytovalů herních serverů běžně používá kvalitní dedikovaný hardware k provozu, téměř každý může vytvořit server pokud jejich počítač splňuje následující požadavky:
Lokální/Naslouchací server
- Mac OS X Verze 10.5.8 nebo 10.6.3 nebo vyšší verze splňující minimální požadavky hry.
- Windows XP nebo vyšší verze splňující minimální požadavky hry.
Dedikovaný server
- GNU/Linux (x86 nebo amd64) používající glibc 2.3.2 nebo novější.
- FreeBSD (x86 nebo amd64) používající kód kompatibility Linuxu v kernelu a nejnovější sbírku portů základního systému Linuxu.
- Windows 2000 nebo novější
Historie aktualizací
- Vydána beta verze Linuxového Dedikovaného Serveru.
- U dedikovaných serverů není afinita hlavního vlákna explicitně nastavena. Tím se správně vyváží zátěž více instancí vyhrazeného serveru běžícího na víceprocesorovém stroji. Pro klienty a lokální servery je stále nastavena afinita na CPU 1.
- Odstraněn cvar mp_friendlyfire pro servery. Team Fortress 2 se při jeho zapnutí v mnoha ohledech rozbije.
- Opraven vzácný pád serveru kvůli poškození dat v síti.
- Opraven pád serveru způsobený Spyovi Sappery.
- Extra nabídky přidány do nabídky "Hry" v menu vytvoření serveru.
- Vylepšena inicializace sítě při spuštění, aby se zachytily problémy spojené se serverovými firewally, které se objevují na pozadí.
- V hrách Dustbowl a Hydro byly opraveny problémy, které mohly nastat, když se server uprostřed kola vyprázdnil.
- Opraveny problémy honeypot serverů.
- Na server byla přidána možnost sv_pure, v současné době je výchozí hodnota vypnuta. Pro získání úplného popisu zadejte do konzole "sv_pure".
- Přidány položky protokolu serveru pro: Přidány nové položky v logu: Round_Start, Round_Setup_Begin, Round_Setup_End, Round_Overtime, Round_SuddenDeath, Round_Stalemate, Round_Win, Round_Length, Mini_Round_Selected, Mini_Round_Start, Mini_Round_Win a Mini_Round_Length.
- Záznamy v protokolu serveru pro Round_Win a změny úrovní budou nyní podrobně uvádět skóre týmů a počty hráčů.
- Aktualizované záznamy v protokolu serveru pro zachycení příznaků budou podrobně uvádět počet zachycení a hodnotu tf_flag_caps_per_round.
- Opraveno přesunutí okna dedikovaného serveru pro Windows spuštěného v režimu -console při spuštění dopředu místo dozadu. * Opravena chyba dedikovaného serveru pro Windows (v režimu -console), kdy bylo psaní čehokoli do okna konzole pomalé a zdlouhavé.
- Opravena chyba při aktualizaci jména 32. hráče na serveru.
- Režim náhlé smrti je nyní volbou serveru (convar) a ve výchozím nastavení je vypnut.
- Opraven příkaz rcon/console, který mohl způsobit pád serveru.
- Opraven vzácný pád, ke kterému mohlo dojít, když uzdravovaný hráč náhle opustil server.
- Přidána možnost, aby servery měly ve složce cfg soubory .cfg specifické pro mapu.
- Do logování událostí serveru (player_death, player_builtobject, teamplay_flag_event, object_destroyed, teamplay_point_captured, teamplay_capture_blocked) byly přidány údaje o poloze hráče.
- Do dialogového okna Možnosti -> Multiplayer byla přidána možnost filtrovat vlastní herní soubory stahované ze serverů.
- Přidán cvar serveru "nextlevel". Pokud je nastaven na platný název mapy, server při příští změně úrovně změní na tuto mapu.
- Přidán záznam do protokolu serveru pro budovy zničené jejich vlastníkem.
- Opraveno nevyhazování nečinných hráčů ze serveru, pokud byla hodnota mp_allowspectators nastavena na 0.
- Herní server se nyní pokusí spustit na 32 po sobě jdoucích portech, pokud všechny pocházejí ze stejného počítače. Dříve se zastavil na 10.
- Opraven pád serveru při nastavení mp_forcecamera na 1 (vráceno k chování před vydáním).
- Opravena nefunkčnost změn SourceTV, pokud servery nebyly spuštěny s +tv_enable 1 v příkazovém řádku.
- Servery nyní mohou zadávat meta značky popisující vlastní pravidla, která přijaly.
- Přidány možnosti pro servery, které se chtějí stát vlastními hrami: Zakázat kritické zásahy (tf_weapon_criticals), odstranit dobu respawnu (mp_disable_respawn_times) a zvýšit počet hráčů nad 24.
- Vylepšení statistik na straně serveru (netýkají se statistik jednotlivých hráčů).
- Oprava příkazu "-maxplayers" na příkazovém řádku, který správně nenastavuje hodnotu maxplayers pro server.
- Odstraněn sv_alltalk ze seznamu convars, které ovlivňují vlastní značky serveru.
- Opraveno přidání tagu "increased_maxplayers" pro servery s maxplayers <= 24, na kterých běží SourceTV.
- Opraveny problémy s načítáním mapy dedikovaného serveru Linux na některých procesorech Athlon.
- Opraveno sestavení pro Linux, které nezpracovávalo správně cvars FCVAR_REPLICATED a FCVAR_NOTIFY.
- Odstranění chyby, při které mohl server odeslat spustitelný kód klientovi.
- Přidán conVar mp_stalemate_at_timelimit pro správce serveru, který umožňuje náhlou smrt, když mp_timelimit zasáhne na neoficiálních mapách.
- Opraven problém, který bránil některým dedikovaným serverům v nahrávání gamestatů.
- Opraven pád dedikovaného serveru pro Linux při změně mapy.
- Opravena možnost klientů spouštět sv_soundscape_printdebuginfo na serveru.
- Opraven potenciální "nuke" exploit v subsystému rcon.
- Opraven příkaz _resetgamestats způsobující pád serveru.
- Vylepšená logika připojení, která pomáhá serverům, které se automaticky nepřipojují ke službě Steam.
- Opravena chyba setinfo, která umožňovala nastavit omezené convars při připojení k serveru.
- Opraveno neomezování horní hodnoty ConVar "citlivost", což někdy způsobovalo pád serveru.
- Přidána kontrola verze klienta/serveru při připojení klienta.
- Opraven případ, kdy se servery mohly zaseknout v nekonečné smyčce při spawnování botů.
- Opraven pád serveru související s přenášením budov na začátku kola.
- Vylepšena chybová zpráva o neshodě verzí, která se zobrazí při připojení k serveru s jinou verzí, než má klient.
- Opraveno zneužití pádu serveru způsobené chybnými síťovými pakety.
Patch z 24. února 2011 (Community Map Pack Update)
- Opraveno další zneužití pádu serveru způsobené chybnými síťovými pakety.
- [Nezmíněno] Oprava obchodů, při kterých se na serveru zobrazuje pouze jednu z obchodovaných položek.
Patch z 10. března 2011 (Shotgun Pack)
- Přidána kontrola, která zabraňuje serverům pro více hráčů předávat připojujícím se klientům hodnotu 1 jako maxplayers.
- Opravena možnost klientů používat částicové exploity na serverech sv_pure.
- Opraven pád serveru způsobený použitím Half-Zatoichi k zasažení osoby, která nedrží zbraň.
- Opraven pád serveru způsobený tím, že server spustil hlasování na další úrovni.
- Byl opraven pád serveru, ke kterému mohlo dojít, pokud se při změnách mapy používali TFBots/csTFBots.
- Publikační systém Replay se pokusí provést přejmenování pro místní režim HTTP, ale pokud se přejmenování nezdaří, soubor ručně zkopíruje a odstraní, což se může stát, pokud jsou zdroj a cíl na různých svazcích.
- Opraveny problémy s vláknování v systému Linux, které způsobovaly velké zpoždění.
- Opraven systém čištění dat přehrávání, který na konci každého kola vyčistí zastaralá data. Tuto asynchronní operaci lze explicitně vyvolat provedením příkazu replay_docleanup na serveru.
- Replay
- Opraveno zablokování serveru při čištění dat.
- Opraven pád serveru způsobený neshodným schématem položek.
- Opraveno několik pádů serveru způsobených systémem Replay.
- Opraven pád serveru způsobený systémem hlasování.
- Opraven pád serveru způsobený systémem replay.
- Opraven pád serveru způsobený převlékáním Spye.
- Opraven pád serveru při spuštění způsobený zápisem do konzole.
- Opraven pád serveru způsobený čištěním entit.
- Přidána zpráva na konzoli serveru, když je hráč odeslán na server prostřednictvím systému hledání zápasu.
- Opraven pád dedikovaného serveru Linux v souboru vphysics.so
- Opraven výpočet poškození v Mantreads na serveru Linux, který mohl způsobit pád fyziky.
- Opraveno zneužití pádu serveru způsobené neplatnými úhly pohledu hráče.
- Opraven častý pád serveru související s balíčkovými soubory.
18. října 2011 Patch č. 2
- Byla opravena chyba serveru týkající se modelů, které nejsou uloženy v mezipaměti.
- Upraveny chybové zprávy na serverech, když hráči vypadnou z důvodu selhání ověřování Steam, aby byly jasnější.
- Další důležité zprávy serveru se nyní odesílají do protokolu serveru, nikoli pouze do konzoly.
- Opraven pád serveru způsobený kritickým útokem na fyzikální objekty pomocí Holiday Punch.
- Opraveno nepřijímání požadavků na restart dedikovaného serveru při vydání aktualizací.
- Opraveno
+randommap
nefungující správně při spuštění serveru. - Opraven bug z konzole vyhrazeného serveru související s klientem Replay a úhly pohledu.
- Opraven pád klienta, ke kterému mohlo dojít, když server použil
SetCustomModel
ke změně modelu hráče.
- Opravena chyba, která někdy bránila serverům v opětovném připojení k serveru s položkami po přerušení spojení.
- Přidán serverový příkaz changelevel_next, který změní mapu na další v cyklu map.
Patch z 27. června 2012 (Pyromania Update)
- Přidány ConVars
sv_rcon_maxpacketsize
asv_rcon_maxpacketbans
, které umožňují správcům serveru kontrolovat maximální velikost paketů RCON a to, zda uživatelé budou či nebudou za překročení tohoto limitu zabanování. Výchozí hodnoty odrážejí stávající chování. - Oprava nefunkčnosti událostí anotací spouštěných mapou na dedikovaných serverech.
- Hlasování vytvořené dedikovaným serverem již nevyvolávají neúspěšný cooldown hlasování.
- Použití jmenovky ve hře upozorní všechny na změnu jména.
- [Nezmíněno] Servery již nevyžadují restart během úplňku, aby si hráči mohli vybavit halloweenské předměty.
- Opraven problém, který umožňoval podvrženým IP adresám navázat spojení s herním serverem.
- Opraven pád klienta/serveru při opětovném připojení k serveru položek.
- Byl přidán
sv_namechange_cooldown_seconds
, aby bylo možné omezit příliš rychlou změnu jména klientů. (Výchozí hodnota je 20 sekund) - Přidán
sv_netspike_on_reliable_snapshot_overflow
pro selektivní povolení automatického výpisu souboru netspike, pokud se klient odpojí kvůli "reliable snapshot overflow". (výchozí hodnota je 0, což vypne ladění). - Přidána kontrola, která zabraňuje tomu, aby jména hráčů obsahovala barevné kódy.
- Oprava chyby, která způsobovala, že herní servery správně nepřijímaly aktualizace inventáře klienta. (Častá příčina chybové zprávy "Server, na kterém hrajete, ztratil spojení s item serverem".)
- Opraveno, že dedikované servery nemohly nastavit
sv_region
.
- Fix server crash bug caused by setting
tf_mm_servermode
before map command.
- Aktualizováno ukončení dedikovaného serveru při pokusu o spuštění mapy Mann vs. Machine s méně než 32 hráči.
- Opraven
mp_timelimit
, který způsoboval, že se režim Mann vs. Machine správně neresetoval, když obránci prohráli. - Aktualizován ConVar
tf_mm_strict
pro vyhledání zápasů.- Hodnota 2 skryje server před prohlížečem, ale stále umožní přímé připojení.
August 17, 2012 Patch #2
- Byla opravena chyba, kdy odmítnutí hráči mohli zanechat "ducha", který zabíral místo v prohlížeči serveru.
- Fixed a rare server crash when firing hitscan weapons.
- Byl přidán příkaz "
kickall
", který vyhodí všechny připojené klienty kromě replaye, HLTV a případně hostitele listenserveru.
- Opravena chyba, která umožňovala škodlivým serverům provádět na hráčích omezené konzolové příkazy.
- Opravena chyba, která umožňovala škodlivým serverům zabránit hráčům provádět konzolové příkazy.
- Oprava pádu serveru souvisejícího s Demomanovou bot AI.
- Žádosti hráčů:
- Přidání nového serverového ConVaru "
tf_avoidteammates_pushaway
", který řídí, zda se spoluhráči při obsazování stejného prostoru budou nebo nebudou vzájemně odstrkovat. - Přidání nového serverového ConVaru "
tf_arena_override_team_size
", který umožní majitelům serverů nastavit maximální velikost týmu v režimu arény.
- Přidání nového serverového ConVaru "
September 21, 2012 Patch #2
- Opravena chyba, která způsobovala, že se herní servery hlásily do systému hledání hry jako plné.
- Opraven pán serveru který mohl nastat když Spy se přestrojil když držel Gunslinger.
- Opraven pád dedikovaného serveru pro Linux související s Mann vs. Machine.
- Opraveno zaseknutí dedikovaného serveru při vyhledávání cesty bota
- Opraven pád serveru související se statistikami hry.
- Zabráněno herním serverům otevřít panel MOTD více než jednou, pokud se hráč připojil přes matchmaking nebo quickplay.
- Vylepšený výkon binárních souborů dedikovaného serveru Linux
- Zakázany pluginy, které uživatelům umožnily připojit se k zabezpečeným herním serverům, i když je na příkazovém řádku zadáno -insecure.
- Přidán ConVar sv_motd_unload_on_dismissal, který umožňuje operátorům serveru řídit výchozí chování jejich MOTD.
- [Nezmíněno] Opraveny problémy se serverem, klientem a enginem.
- Opraven pád dedikovaného serveru související s neplatnými příkazy klienta.
- Opraven vzácný pád klienta související s komunitními módy.
- Opraveno, že servery nebyly schopny načíst soubory Mann vs. Machine .pop pro mapy workshopu.
Zhlédněte také
Externí odkazy
- Source Dedicated Server na Valve Developer Community
- Nastavování dedikovaného Steam source serveru – Steam Support site