<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://hlds.pl/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
		<id>http://hlds.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=D4rk</id>
		<title>HLDS.pl - Wkład użytkownika [pl]</title>
		<link rel="self" type="application/atom+xml" href="http://hlds.pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=D4rk"/>
		<link rel="alternate" type="text/html" href="http://hlds.pl/Specjalna:Wk%C5%82ad/D4rk"/>
		<updated>2026-04-26T09:53:00Z</updated>
		<subtitle>Wkład użytkownika</subtitle>
		<generator>MediaWiki 1.18.1</generator>

	<entry>
		<id>http://hlds.pl/Rcon</id>
		<title>Rcon</title>
		<link rel="alternate" type="text/html" href="http://hlds.pl/Rcon"/>
				<updated>2008-05-19T13:06:21Z</updated>
		
		<summary type="html">&lt;p&gt;D4rk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Opis ==&lt;br /&gt;
 {{stub}}&lt;br /&gt;
&lt;br /&gt;
===Co to jest rcon?===&lt;br /&gt;
Nazwa '''rcon''' jest skrótem słów '''r'''emote '''con'''sole i oznacza [[konsola|konsolę]] zdalną,&lt;br /&gt;
podobną do takiej jaką masz w grze [[Half-Life]], jednakże bez auto uzupełnienia (jak naciśniesz tab to ci nie uzupełni początku komendy do rozpoznawalnej nazwy, przynajmniej tka było w [[Counter-Strike 1.6]]&lt;br /&gt;
&lt;br /&gt;
===Do czego służy rcon?===&lt;br /&gt;
Rcon służy do zdalnej administracji serwerem gry, np [[Half-Life]], czyli [[HLDS]], albo gry [[Source]] czyli [[SRCDS]], ale jest też spotykany w większości gier FPP, takich jak [[Quake 3]], [[Unreal Tournament]] itd. Moze to byc serwer na lanie (tzn [[Klient - Serwer#listen|Listen Server]]) czy też najczęściej serwer dedykowany [[Klient - Serwer#dedicated|Dedicated Server]] albo serwer [[HLTV]], czy innej, podobnej usługi, np w [[QuakeWorld|QW]] serwer [[Proxy]].&lt;br /&gt;
&lt;br /&gt;
===Jak to skonfigurowac na serwerze?===&lt;br /&gt;
&amp;lt;div id=&amp;quot;konfiguracja&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Aby dostęp do rcon'a był mozliwy serwer musi miec zdefiniowana zmienna, najczęściej rcon_password&lt;br /&gt;
np dla serwerów [[HLDS]] mamay&lt;br /&gt;
 rcon_password &amp;quot;TwojeUlubioneHalso&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Najlepiej w linii startowej hlds jest umieścić rcon_password np&lt;br /&gt;
 hlds_run -ip 123.45.67.89 -port 27015 +exec server.cfg +map de_dust +rcon_password &amp;quot;zupa_jarzynowa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Mozna takze w pliku konfiguracyjnym takim jak [[HLDS server.cfg|server.cfg]] (czy [[HLDS server.cfg|listenserver.cfg]]) - tam po prostu dodajemy kolejną linijke typu:&lt;br /&gt;
 rcon_password &amp;quot;zupa_jarzynowa&amp;quot;&lt;br /&gt;
ale odradzamy to rozwiązanie z przyczyn bezpieczeństwa.&lt;br /&gt;
&lt;br /&gt;
Rcon moze byc takze ładowany z [[SQL|bazy danych SQL]] jeśli mamy odpowiedni plugin do [[AMX Mod]]a (''czy inne narzędzie do komuniakcji z bazą danych pod serwer gry'').&lt;br /&gt;
&lt;br /&gt;
Haslo może byc dowolne ale radze ustawiac w miarę długie, nie moze zawierac znakow zakazanych przez slinik gry - czyli żadnych polskich itp, najlepiej pisac prostymi literkami.&lt;br /&gt;
&lt;br /&gt;
Najlepiej aby rcon_password byl unikalny na serwer, szczegolnie jak jest kilka serwerow na tym&lt;br /&gt;
samym numerze ip ale na różnych portach.&lt;br /&gt;
&lt;br /&gt;
Rcon jest bardzo potężną komendą - mozna nia zdziałać bardzo wiele.&lt;br /&gt;
Osoby, ktore nie znają sie na serwerze gry mogą tylko zaszkodzić na serwerze, jesli będą bezmyślnie&lt;br /&gt;
korzystać z komend i przestawiać zmienne. Jedynie wybrane zaufane osoby powinny mieć dostęp do rcon'a. Co więcej istnaieją przypadki gdzie rcon nie powinen byc kompletnie znany jednye przez Head Admina w związku z innymi działającymi programamy na serwerze rgy (korzystającymi z rcon;a do komunikacji z serwerem, jego mziana może spowodować, ze te aplikacje przestaną działać).&lt;br /&gt;
&lt;br /&gt;
Wiele pluginów daje mozliwosc nadawania adminom prawa dostepu do rcon'a ale bez znajomosci&lt;br /&gt;
hasła rcon_password - np cm_rcon, amx_rcon, admin_rcon. Jednakze ma to swoje ograniczenia&lt;br /&gt;
np dziala to w jedym kierunku - serwer moze otrzymac komende od admina, ale czasem serwer nie zwraca nic do admina - np z potwierdzeniem o ustawieniu zmiennej itp.&lt;br /&gt;
&lt;br /&gt;
===Jak tego uzywac bedac w grze?===&lt;br /&gt;
Musisz najpierw znać kilka rzeczy:&lt;br /&gt;
*rcon_address - ip serwera do ktorego chcesz sie podlaczyc rcon'em,&lt;br /&gt;
jesli puste - domyslnie numer ip do ktorego jestes podlaczony aktualnie w czasie gry, inaczej trza podac&lt;br /&gt;
*rcon_port - port serwera do ktorego sie chcesz podlaczyc rconem,&lt;br /&gt;
jesli puste domyslnie port na ktorym jestes podlaczony do serwera gry, inaczej trza wpisac.&lt;br /&gt;
trzeba uwazac jak jest klika serwerow na tym samym numerze ip ale na roznych portach - lepiej precyzowac port&lt;br /&gt;
czesto wtedy servery sa na tym samym ip ale ronych portach i majak rozne hasla na serwery&lt;br /&gt;
* rcon_password - haslo do rcona, takie jakie jest na serwerze (patrz punkt 4.)&lt;br /&gt;
&lt;br /&gt;
Przewaznie starczy, ze podczas gry znasz tylko rcon_password - bo reszta bedzie uznawana za domyslna&lt;br /&gt;
i bedzie przypisana do aktualnie podlaczanego serwera.&lt;br /&gt;
&lt;br /&gt;
Podczas gry na danym serwerze do ktorego mamy rcon_password,&lt;br /&gt;
w konsoli gracza (przewaznie u siebie) wpisujemy&lt;br /&gt;
 rcon_password &amp;quot;zupa_jarzynowa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nastepnie nalezy sie upewnic ze podane haslo jest prawidlowe - przeprowadzamy maly test&lt;br /&gt;
 rcon say Test raz dwa trzy&lt;br /&gt;
powinien sie pojawic w czesci chat na ekranie tekst wypowiedziany prez serwer (jako imie gracza bedzie nazwa hostname serwera)&lt;br /&gt;
&lt;br /&gt;
Jesli to dziala mozemy smialo operowac rconem dalej. Jesli nie to '''nie''' probujmy na sile bo zostaniemy zbanowani z serwera! Trzeba sie upewnic, ze mamy poprawny host, port, no i oczywiscie haslo :D&lt;br /&gt;
&lt;br /&gt;
Komendy wstukiwane przy uzyciu rcon'a sa dokladnie takie same jabysmy je wstukiwali bezposrednio do&lt;br /&gt;
konsoli serwera gry - jedyna roznica polega na tym ze trzeba dodac magiczne slowo '''rcon''' na poczatku.&lt;br /&gt;
Jednakże nie wszystkie komendy w serwerze hlds sa dostepne w serwerach listen albo z komend u klienta.&lt;br /&gt;
== Komendy ==&lt;br /&gt;
Najczesciej uzywane komendy poprzez rcon dla serwera [[HLDS]]&lt;br /&gt;
*lista graczy (''zobacz także [[SteamID]]'')&lt;br /&gt;
 rcon status&lt;br /&gt;
 rcon users&lt;br /&gt;
(users powinien chyba dzialc nawet bez rcon'a)&lt;br /&gt;
&lt;br /&gt;
*restart rundy&lt;br /&gt;
 rcon sv_restartround 1&lt;br /&gt;
&lt;br /&gt;
*zmiana mapy&lt;br /&gt;
 rcon changelevel de_dust&lt;br /&gt;
&lt;br /&gt;
*zmiana mapy z wykopaniem graczy&lt;br /&gt;
 rcon map de_dust&lt;br /&gt;
&lt;br /&gt;
*zmiana zmiennych (przyklad trzech)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rcon mp_timelimit 0&lt;br /&gt;
rcon mp_winlimit 12&lt;br /&gt;
rcon hostname &amp;quot;Serwer zajety!&amp;quot;&lt;br /&gt;
rcon sv_lan 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*zmian hasla na serwerze np na mecz&lt;br /&gt;
 rcon sv_password &amp;quot;haslo_na_cw&amp;quot;&lt;br /&gt;
*czyszczenie hasla na serwerze po meczu&lt;br /&gt;
 rcon sv_password &amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;div id=&amp;quot;banowanie&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
*kopanie/banowanie (''zobacz także [[SteamID]]'')&lt;br /&gt;
wpisujemy&lt;br /&gt;
 status&lt;br /&gt;
(albo users, zalezy od przyzwyczajenia)&lt;br /&gt;
patrzymy na liste jaka sie pojawi w konsoli&lt;br /&gt;
patrzymy na uid (unique id gracza) i steamid (ew zastap steamnid wonid'em)&lt;br /&gt;
&lt;br /&gt;
i piszemy&lt;br /&gt;
 rcon banid 1440 # uniqueid kick //ban z wykopem&lt;br /&gt;
 rcon writeid //zapisanie banow&lt;br /&gt;
 rcon writeip //zapisanie banow na ip&lt;br /&gt;
&lt;br /&gt;
 rcon banid 0.0 # uniqueid //permanent ban&lt;br /&gt;
 rcon kick # uid //wykopanie gracza&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*gadanie&lt;br /&gt;
 rcon say Nie biegac!!&lt;br /&gt;
&lt;br /&gt;
Oczywiscie mozemy wykonac inne komendy dostepne, np z pluginow&lt;br /&gt;
 rcon cm_say @g &amp;quot;Muahaha Wasz Pan Wrocil!&amp;quot;&lt;br /&gt;
 rcon amx_nextmap de_dust&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Radze korzystac z programow typu HLSW ktore lepiej sie nadaja do zdalenej administracji serwerem via rcon&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
===Nie chce mi się pisać w konsoli, można podpisać pod klawisz komendy ?===&lt;br /&gt;
A: Tak, tylko zanim naciśniesz klawisz upewnij się, że masz poprawnie wpisane '''rcon_password'''&lt;br /&gt;
&lt;br /&gt;
przyklad&lt;br /&gt;
 bind &amp;quot;[&amp;quot; &amp;quot;rcon say Restart !;rcon sv_restartround 3&amp;quot;&lt;br /&gt;
 bind &amp;quot;'&amp;quot; &amp;quot;rcon say GL &amp;amp; HF !;&amp;quot;&lt;br /&gt;
 bind &amp;quot;]&amp;quot; &amp;quot;rcon mp_timelimit 0;rcon mp_winlimit 12;rcon servercfgfile 'clanbase.cfg';rcon mapcyclefile '';rcon sv_password clanwar;rcon Ustawienia na mecz zaladowane;rcon exec clanbase.cfg;&amp;quot;&lt;br /&gt;
 bind &amp;quot;/&amp;quot; &amp;quot;rcon mp_winlimit 0;rcon servercfgfile 'server.cfg';rcon mapcyclefile 'mapcycle.txt';rcon sv_password '';rcon say Ustawienia normalne zaladowane;rcon exec server.cfg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Ban===&lt;br /&gt;
&amp;lt;div id=&amp;quot;ban&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
'''Mialem zbindowany klawisz na restart, pare razy wcisnalem a zapomnialem ze nie wpisalem hasla!&lt;br /&gt;
Zbanowalo mnie i nie moge wejsc na serwer!! '''&lt;br /&gt;
&lt;br /&gt;
A: Musisz sprawdzic swoje ip z którego grałeś albo łączyłeś sie rconem do serwera.&lt;br /&gt;
Następnie musisz wykonac komendę&lt;br /&gt;
 removeip&lt;br /&gt;
 writeip&lt;br /&gt;
Na przykład łączyłeś się z 192.169.10.2 to z innego numeru ip przez rcon albo bezpośrednio w konsoli serwera (na screenie)&lt;br /&gt;
musisz wpisać&lt;br /&gt;
 removeip 192.169.10.2&lt;br /&gt;
 writeip&lt;br /&gt;
&lt;br /&gt;
Ewentualnie jak to nie wchodzi w grę to wyłącz serwer i uruchom ponownie. &lt;br /&gt;
&lt;br /&gt;
Zobacz także [[#banowanie|kopanie i banowanie]].&lt;br /&gt;
&lt;br /&gt;
===Jak się zabezpieczyć przed przejęciem hasła do rcon'a?===&lt;br /&gt;
A: Kilka metod:&lt;br /&gt;
*CS 1.5 - Zainstaluj update x.1.1.1e, natomiast na serwery typu listen nie ma i nie będzie łatki&lt;br /&gt;
*Steam - Do tej pory expolity istnieją na stare wersje (te sprzed 2006 roku)&lt;br /&gt;
&lt;br /&gt;
Nie trzymaj '''rcon_password''' w pliku '''server.cfg''' (''bo plik może być ściągnięty'')&lt;br /&gt;
* '''sv_allowdownload 0'''&lt;br /&gt;
Jak używasz '''sv_downloadurl''' nie zamieszczaj tam plików konfiguracyjnych z aktualnie chodzącego serwera bez przejrzenia i wycięcia ważnych informacji.&lt;br /&gt;
&lt;br /&gt;
Sposób, który nie zabezpiecza do końca możliwości ściągnięcia rcona, ale generalnie na kid-hackierów wystarczy:&lt;br /&gt;
* Haslo rcon'a trzymajcie w jakimś dziwnym pliku, typu: mam2leweN0gi.cfg&lt;br /&gt;
Niestety, pozostają jeszcze hasła adminów w plikach, których nazwy są ogólnie znane, ale to też można zmienić.&lt;br /&gt;
&lt;br /&gt;
Kolejnym sposobem zabezpieczenia jest dodanie zmiennej '''rcon_password''' do linii poleceń odpalanego serwera.&lt;br /&gt;
&lt;br /&gt;
===Jak się zabezpieczyć przed złamaniem hasła do rcon'a ?===&lt;br /&gt;
Na serwerze [[HLDS]] albo [[SRCDS]] w '''server.cfg''' wpisz:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sv_rcon_minfailures 2&lt;br /&gt;
// # of failures needed before ban&lt;br /&gt;
// Liczba nie udanych prob potrzebnych do zbanowania&lt;br /&gt;
sv_rcon_minfailuretime 600&lt;br /&gt;
// amount of time (seconds) failed rcon attempts must occur within for the ban to be applied&lt;br /&gt;
sv_rcon_banpenalty 300&lt;br /&gt;
// minutes to ban.  300 = 5 hours.&lt;br /&gt;
// Ile ma trwac czasu ban. 300 minut = 5 godzin.&lt;br /&gt;
sv_rcon_maxfailures 3&lt;br /&gt;
// similar to sv_rcon_minfailures, except this setting doesn't rely on sv_rcon_minfailuretime.&lt;br /&gt;
// Any IP address that fails 3 rcon authentications (during a server uptime session) will be banned for the banpenalty.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dodatkowo odradzamy dawanie rcon'a osobom do których nie mamy pełnego zaufania, albo jeśli nie mamy możliwości wyłączenia serwera czy innego rodzaju kontroli nad nim.&lt;br /&gt;
&lt;br /&gt;
Informacja pochodzi z Forum UnitedAdmins z sekcji Half-Life Support / HLDS.&lt;br /&gt;
&lt;br /&gt;
==Podziękowania==&lt;br /&gt;
*Pawels&lt;br /&gt;
*vib&lt;br /&gt;
&lt;br /&gt;
=Zobacz także=&lt;br /&gt;
*[[Konfigi meczowe]]&lt;br /&gt;
*[[HLTV]]&lt;br /&gt;
*[[SteamID]]&lt;br /&gt;
* [[Prosze o odbanowanie]]&lt;br /&gt;
[[kategoria:gry]]&lt;br /&gt;
[[kategoria:serwery gier]]&lt;/div&gt;</summary>
		<author><name>D4rk</name></author>	</entry>

	<entry>
		<id>http://hlds.pl/Insurgency_(mod)</id>
		<title>Insurgency (mod)</title>
		<link rel="alternate" type="text/html" href="http://hlds.pl/Insurgency_(mod)"/>
				<updated>2007-07-17T09:34:51Z</updated>
		
		<summary type="html">&lt;p&gt;D4rk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Opis=&lt;br /&gt;
Insurgency to [[mod]] na silniku [[Source]]. Realistyczny Counter-Strike w Iraku. :)&lt;br /&gt;
&lt;br /&gt;
Aktualnie wersja beta! Czekamy na najbliższego patcha, który ma się pojawić w połowie lipca.&lt;br /&gt;
[[kategoria:gry]]&lt;br /&gt;
&lt;br /&gt;
=Linki=&lt;br /&gt;
*[http://www.insmod.net Oficjalna strona] po angielsku.&lt;br /&gt;
*[http://www.insmod.net/manual Instrukcja obsługi] po angielsku.&lt;br /&gt;
&lt;br /&gt;
=Wymagania=&lt;br /&gt;
*[[Steam]]&lt;br /&gt;
* Zainstalowana gra na silniku [[Source]], np. Half-Life 2, Counter-Strike: Source albo Day of Defeat: Source.&lt;br /&gt;
*Sprzęt który udźwignie Source powinien i to pociągnąć, aczkolwiek gra potrafi zżerać [[FPS]].&lt;br /&gt;
*1.4 GB miejsca na dysku&lt;br /&gt;
&lt;br /&gt;
=Instalacja=&lt;br /&gt;
*Pobieramy plik [http://www.insmod.net/downloads jeden z tej listy], czekamy aż zassiemy 700MB.&lt;br /&gt;
*Wyłączamy Steam&lt;br /&gt;
*Uruchamiamy instalatora, wybieramy katalog docelowy - powinien automatycznie to wykryć.&lt;br /&gt;
*Włączamy Steam&lt;br /&gt;
* Steam każe sobie dossać z netu Source SDK Base - jakieś 60MB, trochę poczekamy.&lt;br /&gt;
*W liście gier widzimy nowy mod Insurgency - odpalamy i konfigurujemy grę jak klawisze, grafikę itp.&lt;br /&gt;
&lt;br /&gt;
=Cechy charakterystyczne=&lt;br /&gt;
Do gry trzeba sie przyzwyczaić, poniżej lista charakterystycznych rzeczy:&lt;br /&gt;
&lt;br /&gt;
* brak celownika, jest walenie z biodra i iron sights&lt;br /&gt;
* jak robimy sprint to nie można strafeować na boki oraz czułość myszki sie zmniejsza, wiec trzeba większe wymachy zrobić aby zakręcić, co więcej opuszczamy bron i nie można strzelać.&lt;br /&gt;
* gra zespołowa&lt;br /&gt;
* przeważnie 1 kula i jesteś trupem&lt;br /&gt;
* wychylanie sie na boki&lt;br /&gt;
* kilka trybów rozgrywki, ogólnie trzeba przejąć punkty na mapie aby zwiększyć swoją ilość kolejnych respawnów, przejmowanie w zależności od ilości graczy na serwerze - czyli przy malej ilości osób sami przejmiemy, a jak jest bardzo dużo to trzeba np. we 3 osoby.&lt;br /&gt;
* moim zdaniem gra wygląda naprawdę rewelacyjnie, nie umywa się do CS:S - te modele biegają naturalnie, a nie jak geje-baletnice w CS:S, animacje są płynniejsze, mniej drętwe niż w RO.&lt;br /&gt;
* duże wymagania sprzętowe, większe niż RO, ale następny patch ma poprawić ilość FPS.&lt;br /&gt;
* przebijane ściany i obiekty oraz rykoszety&lt;br /&gt;
&lt;br /&gt;
=Błędy=&lt;br /&gt;
Bugi jakie znalazłem jak dotąd:&lt;br /&gt;
*&amp;lt;s&amp;gt;sprint przy rzucie granatem = nie masz szansy na zmianie broni ani rzut granatem, wiec tylko sie idzie zabić&amp;lt;/s&amp;gt;&lt;br /&gt;
*wychylanie sie na boki niestety nie działa podczas strafe - prostuje do pionu, poza tym uważam ze jest za słabe.&lt;br /&gt;
*granaty trzeba rzucać bardzo wysoko - wtedy lecą daleko, są dymne i odłamkowe&lt;br /&gt;
*śmieszne dźwięki Irakijczyków, &amp;quot;frrrraaaaag auuut&amp;quot; ;)&lt;br /&gt;
*dziwny efekt rozmycia po wybuchu granatu, szczerze, powinien być jak w RO, ale jest nałożenie sie kilku obrazów jeden na drugim - trochę brakuje tu do efektu z CSS:S&lt;br /&gt;
*można sie zaciąć na mapie, na respie czasem ludzie włażą jeden na drugiego&lt;br /&gt;
*koszmarny spawn raping (czyli idziesz na respa wroga i masakrujesz jak się pojawia) oraz spawn killing - czyli byle buc z naszego teamu pociągnie seria i cały team leży&lt;br /&gt;
*czasem jest bug ze scope - wygięcie obrazu&lt;br /&gt;
*&amp;lt;s&amp;gt;bugi na mapach, np. czasem jest przenikalna skrzynia i można w nią wleźć, czyli taki noclip&amp;lt;/s&amp;gt; powoli usuwają błędy map&lt;br /&gt;
*&amp;lt;s&amp;gt;ubogie radio menu&amp;lt;s&amp;gt; - można wreszcie trochę lepiej pogadać&lt;br /&gt;
*&amp;lt;s&amp;gt;brak opisów klas przy wyborze&amp;lt;/s&amp;gt;  jest teraz więcej info&lt;br /&gt;
*serwery '''linuksowe''' są '''niekompatybilne''' z klientami = wszystkie są puste bo nie można na nie wejść, wywala komunikat ''Different class'', czekamy na najbliższego patcha, co ma się pojawić w połowie lipca.&lt;br /&gt;
*serwery na Windows często zdychają, np. czasem raz na 10 min, ale czasem i parę godzin działa bez problemu&lt;br /&gt;
&lt;br /&gt;
=Obrazki=&lt;br /&gt;
==Z gry==&lt;br /&gt;
*http://forums.insmod.net/index.php?showtopic=5375&lt;br /&gt;
==Mapy==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Grafika:Ins almaden.jpg&lt;br /&gt;
Grafika:Ins baghdad.jpg&lt;br /&gt;
Grafika:Ins haditha.jpg&lt;br /&gt;
Grafika:Ins hillah.jpg&lt;br /&gt;
Grafika:Ins karkar.jpg&lt;br /&gt;
Grafika:Ins ramadi.jpg&lt;br /&gt;
Grafika:Ins sinjar.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
==Tapeta==&lt;br /&gt;
... czyli wallpaper ;)&lt;br /&gt;
[[Grafika:Insurgency wallpaper 1280x1024.jpg|thumb|left]]&lt;br /&gt;
{{clr}}&lt;br /&gt;
&lt;br /&gt;
=Filmy=&lt;br /&gt;
* [http://www.red.orchestra.pl/datas/kaszpir/insmod_1024.avi Film]  246MB - 1024x768, XviD, 8000kbps, 25fps, full quality in Source game.&lt;/div&gt;</summary>
		<author><name>D4rk</name></author>	</entry>

	<entry>
		<id>http://hlds.pl/CS_1.6_Netcode_Po_Polsku</id>
		<title>CS 1.6 Netcode Po Polsku</title>
		<link rel="alternate" type="text/html" href="http://hlds.pl/CS_1.6_Netcode_Po_Polsku"/>
				<updated>2007-07-06T12:25:45Z</updated>
		
		<summary type="html">&lt;p&gt;D4rk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[kategoria:HLDS]]&lt;br /&gt;
[[kategoria:E-Sport]]&lt;br /&gt;
[[Kategoria:Netcode]]&lt;br /&gt;
=Wstęp=&lt;br /&gt;
Trochę stary artykuł, będę musiał go odkurzyć z debilizmów, więc się będzie zmieniał co jakiś czas.&lt;br /&gt;
&lt;br /&gt;
--[[Użytkownik:KaszpiR|KaszpiR]] 15:52, 9 sie 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
=Historia=&lt;br /&gt;
CS 1.6 Netcode Explained po Polsku (tłumaczenie by _KaszpiR_ http://nvt.prv.pl )&lt;br /&gt;
&lt;br /&gt;
Artykuł był najpierw dostępny ogólnie na Gotfrag.&lt;br /&gt;
Następnie stał się tzw. Primie - czyli widocznym tylko dla zarejestrowanych.&lt;br /&gt;
Cóż, ale http://google.com przeszło przez niego i zrobiło cache - dlatego bez obrazka, ale liczy się treść.&lt;br /&gt;
&lt;br /&gt;
A ja pozwoliłem sobie to przetłumaczyć, ale bez zbytniego lania wody zostawiając esencje. Dodatkowo trochę zmieniłem układ aby treść nie była tak poszatkowana jak w oryginale - więc opisy zmiennych/komend są razem a nie osobno (co wprowadzało w pewne zakłopotanie co poniektórych :D )&lt;br /&gt;
&lt;br /&gt;
*''Originally by:''' Jon MellinBy, Submitted by: Jason, last updated April 7 2004 at 4:34 PM EDT Gotfrag http://www.gotfrag.net&lt;br /&gt;
CS Netcode Explained&lt;br /&gt;
&lt;br /&gt;
=Opis=&lt;br /&gt;
*W artykule zapoznasz się z tzw. netkodem gry [[Half-Life]], czyli ta częścią gry która odpowiada za protokół sieciowy itp.&lt;br /&gt;
Mam nadzieje, że pomoże ci on lepiej ustawić wartości aby osiągnąć lepsze wyniki w grze, jak i usprawnić serwer.&lt;br /&gt;
&lt;br /&gt;
*'''Notka:''' Komendy/zmienne zaczynające się od sv_ czy też sys_ są komendami/zmiennymi działającymi tylko na serwerze - dedykowanym czy tzw listen.&lt;br /&gt;
Wykonanie powyższych komend w konsoli u klienta zwróci ustawienia na lokalnym komputerze a nie na serwerze.&lt;br /&gt;
Dlatego też trzeba te komendy wpisywać albo w konsoli hlds bezpośrednio (jak jest na screen'ie itp., albo wraz z użyciem komendy rcon,&lt;br /&gt;
albo z żzyciem rcon zastępczych komend/aplikacji działających na serwer - mam tu na myśli komendy typu amx_rcon czy cm_rcon.&lt;br /&gt;
&lt;br /&gt;
Zależność miedzy komenda ex_interp a cl_updaterate jest bardzo ważna i prosimy nie czytać tylko jednego opisu,&lt;br /&gt;
tylko przeczytać też info o drugiej komendzie.&lt;br /&gt;
Ogólnie przeczytaj wszystko aby mieć ogólny zarys tego, co się dzieje jak się bawimy kilkoma komendami na raz.&lt;br /&gt;
&lt;br /&gt;
Artykuł oryginalnie był napisany dla osób o szerokopasmowym dostępie do internetu.&lt;br /&gt;
W naszych warunkach czytaj - coś lepszego niż SDI, najlepiej Neostrada i temu podobne.&lt;br /&gt;
&lt;br /&gt;
*Najpierw ogólny opis komend/zmiennych a potem szczegóły, więc się nie wkurzać że 2x to samo czytacie - oryginalny artykuł był bardziej poszatkowany.&lt;br /&gt;
&lt;br /&gt;
=Ogólnie o zmiennych=&lt;br /&gt;
==cl_cmdrate==&lt;br /&gt;
*definiuje ile maksymalnie pakietów może wysłać klient (tzn. ty, graczu że swojej maszyny) do serwera.&lt;br /&gt;
*numer oznacza liczbę pakietów na sekundę&lt;br /&gt;
Oczywiście więcej znaczy lepiej - szybciej serwer zareaguje na twoje reakcje.&lt;br /&gt;
Traktuj to mniej więcej tak - im większa wartość tym mniejszy poślizg pomiędzy naciśnięciem fire a wysłaniem pakietu.&lt;br /&gt;
&lt;br /&gt;
Jak masz dobre łącze i siedzisz na łączu sam to spoko możesz zwiększyć.&lt;br /&gt;
Jak współdzielisz z kimś łącze (np. neo na 2 osoby) to zbyt wysokie wartości u obu graczy będą powodować nagle lagi i ping spike.&lt;br /&gt;
Wartość maksymalna zależy tu od tego jaki masz upstream do provider'a - czyli ile możesz wysłać w internet.&lt;br /&gt;
&lt;br /&gt;
W idealnym przypadku ta komenda powinna się równać liczbie fps serwera!!! a nie klienta.&lt;br /&gt;
Jak wyślesz więcej pakietów to serwer je po prostu zignoruje bo nie będzie wyrabiać.&lt;br /&gt;
Tak więc za wysokie wartości nie zaszkodzą ale tylko będą marnować twoje łącze :D&lt;br /&gt;
'''Rekomendujemy''' cl_cmdrate równe fps serwera lub trochę większe.&lt;br /&gt;
&lt;br /&gt;
Dlatego na serwerach linuksowych często jest 50 a na windowsowych 70&lt;br /&gt;
oczywiście jak serwer ma więcej fps to walimy 100 i się cieszymy&lt;br /&gt;
&lt;br /&gt;
==cl_updaterate==&lt;br /&gt;
*podobna do poprzedniej komendy ale działa w odwrotnym kierunku.&lt;br /&gt;
*numer definiuje maksymalna liczbę pakietów na sekundę jaka ty możesz otrzymać od serwera.&lt;br /&gt;
*więcej znaczy lepiej ale też zwiększa użycie łącza.&lt;br /&gt;
&lt;br /&gt;
traktuj to jak efekt błyskawicy - ktoś strzela to następuje błysk (widoczny dla serwera natychmiast),&lt;br /&gt;
jednakże ty jesteś nastawiony na grzmot.&lt;br /&gt;
im większa wartość tym szybciej do ciebie grzmot dojdzie (wiem wiem, łopatologicznie...)&lt;br /&gt;
&lt;br /&gt;
*Po prostu szybciej będziesz mógł zareagować.&lt;br /&gt;
*Dodatkowo daje to dokładniejsze informacje o rzeczywistym położeniu przeciwników, trafień po kulach itp.&lt;br /&gt;
&lt;br /&gt;
*Wartość maksymalna zależy od twojego downstream'u czyli jak szybko możesz zasysać od provider'a.&lt;br /&gt;
Przeważnie ta wartość (mam na myśli downstream) jest 4x większa od twojego upstream'u&lt;br /&gt;
Dlatego czasem cl_updaterate jest większy 4 razy od cmdate&lt;br /&gt;
&lt;br /&gt;
*Minimalna wartość jest 10 (dlatego ex_interp ma 0.1, patrz niżej)&lt;br /&gt;
&lt;br /&gt;
Kiedyś myślano że cl_updaterate trza walnąć na 101 i zjeżdżać w dół z wartościami aż będziemy mieli w miarę niski&lt;br /&gt;
i zadowalający choke (prawie zero ale może być 2...3)&lt;br /&gt;
choke widać na net_graph 3&lt;br /&gt;
&lt;br /&gt;
Jednak cały system cl_updaterate jest bardziej złożony.&lt;br /&gt;
np. serwery CAL dają sv_maxupdaterate 101 więc normalnie każdy by se tyle dal na kliencie.&lt;br /&gt;
w teorii jest to poprawne jednak praktyka się tu rozmija.&lt;br /&gt;
&lt;br /&gt;
Większość serwerów nie wyciąga 100fps aby obliczyć te właśnie 100 updaterate na sekundę.&lt;br /&gt;
oznacza to że nie ma szans aby serwer tyle wysłał w rzeczywistości.&lt;br /&gt;
&lt;br /&gt;
Pomyślisz - walnę se 101 updaterate i tak czy siak tyle max pakietów dostanę.&lt;br /&gt;
&lt;br /&gt;
Jak u siebie dasz cl_updaterate 101 to ex_interp będzie 0.009ms - spodziewa się gra że będziesz miał pakiety co 9ms&lt;br /&gt;
i wszystko będzie cacy.&lt;br /&gt;
Jednakże serwer ma 50 fps czyli maksymalnie puści 50 pakietów!!! tak więc 2 razy mniej.&lt;br /&gt;
Co się stanie?&lt;br /&gt;
Pakiety przychodzą za rzadko i gra nie ma z czego interpolować położenia graczy - masz efekt skaczących modeli.&lt;br /&gt;
No dobra. dajmy na to że zjadę na 70 - efekt skaczących modeli spadnie.&lt;br /&gt;
Oczywiście idealnie jak będziemy mieli cl_updaterate 50 - wtedy interp będzie 0.02 i modele nie powinny aż tak skakać (tylko z rzadka z powodu lagów)&lt;br /&gt;
&lt;br /&gt;
*Ponieważ klient bez rcon'a nie ma jak sprawdzić ile serwer ma fps i se dobrze dobrać tę zmienną, trzeba zgadywać.&lt;br /&gt;
&lt;br /&gt;
Na szczęście można to zrobić doświadczalnie w prosty sposób.&lt;br /&gt;
1. zacznij z cl_updaterate 101, ex_interp 0&lt;br /&gt;
2. zjeżdżaj z cl_updaterate w dol. (mniej więcej o 10 ) aż zauważysz że modele aż tak bardzo nie skaczą. (tylko z rzadka z powodu zmiany pinga, lagów itp.)&lt;br /&gt;
&lt;br /&gt;
Oczywiście &amp;quot;bardzo nie skaczą&amp;quot; to kwestia gustu.&lt;br /&gt;
Dopóki ex_interp = 1/cl_updaterate modele będą na swoich rzeczywistych miejscach.&lt;br /&gt;
&lt;br /&gt;
Oznacza to że każdy serwer będzie miał swoje własne ustawienia cl_updaterate zależne od ilości graczy/łącza/fps - po prostu ile w danej chwili serwer może z siebie wycisnąć.&lt;br /&gt;
Nie bójmy się zejść z wartościami poniżej updaterate 50 bo tak czy siak interpolacja będzie działać.&lt;br /&gt;
&lt;br /&gt;
No dobra, ktoś pomyśli, ale ja wezmę updaterate 20 i będę szedł w gore.&lt;br /&gt;
No to nie jest dobry pomysł bo ex_interp = 1/cl_updaterate.&lt;br /&gt;
Jak mamy 20 to ex_interp = 1/20 = 0.05 &lt;br /&gt;
a jak zwierzymy na 50 to mamy ex_interp = 1/50 = 0.02&lt;br /&gt;
a ex intern 0.05 &amp;gt; 0.02 a H-L domyślnie nie zmniejsza sam z siebie interna.&lt;br /&gt;
wtedy musisz wystukać za kadmy razem ex_interp 0 ręcznie aby obliczyć go.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tak więc widać że istnieje zależność pomiędzy serwer fps, cl_udpaterate i ex_interp 0 razem.&lt;br /&gt;
najlepiej mieć updaterate równy fps serwera a ex_interp 0&lt;br /&gt;
&lt;br /&gt;
'''Rekomendacja:'''&lt;br /&gt;
cl_updaterate równy fps serwera i nie większy od sv_maxupdaterate.&lt;br /&gt;
&lt;br /&gt;
Końcowa notka: wiele serwerów używa sv_maxupdaterate 30 tak więc cl_updaterate 30 będzie wtedy wartością najlepszą w&lt;br /&gt;
takiej sytuacji.&lt;br /&gt;
&lt;br /&gt;
==sv_maxupdaterate==&lt;br /&gt;
*Jak cl_maxupdaterate ale działa na serwer - ile klient maksymalnie może przyjąć od serwera.&lt;br /&gt;
*Szczególnie użyteczna jak serwer nie ma za dobrego łącza.&lt;br /&gt;
*Numer oznacza liczbę pakietów na sekundę jaką serwer może wysłać na sekundę do klienta.&lt;br /&gt;
* przeważnie daje się sv_maxupdaterate 101.&lt;br /&gt;
Dlatego jeśli klient ma cl_updaterate 100, a serwer ma sv_maxupdaterate 50,&lt;br /&gt;
to ten klient i tak nie dostanie więcej niż. te 50.&lt;br /&gt;
&lt;br /&gt;
''Rekomendujemy'' zmieniać jeśli pozwana na to łącze serwera i jego moc procesora.&lt;br /&gt;
&lt;br /&gt;
==sys_ticrate==&lt;br /&gt;
*Definiuje ile maksymalnie tików na sekundę serwer może przetworzyć. Przekłada się to nie bezpośrednio na ilość klatek na sekundą jakie wyciąga serwer.&lt;br /&gt;
*Domyślnie jest 100, maksymalnie 10 000.&lt;br /&gt;
&lt;br /&gt;
Po co to komu?&lt;br /&gt;
&lt;br /&gt;
Miedzy innymi więcej fps daje ci lepsze poczucie gry.&lt;br /&gt;
Serwery normalnie maja około 50fps na linuksie i 64 na windowsach - ale czasem spada to do 20-30 to już słabo.&lt;br /&gt;
Dobre serwery maja tak ustawione ten ticrate aby fps się wahało w granicy 150-180 fps (tzn. ogólnie do 200 fps).&lt;br /&gt;
Więcej i tak ci nic nie da bo nie zauważysz.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Jak nikogo na serwerze nie ma to powinieneś mieć około 100 albo 60 fps - serwer po prostu nic nie robi jak nikogo na serwerze nie ma, i dopiero zaczyna się grzać jak wejdzie ktoś na serwer. Więc zawsze sprawdzaj fps z graczami na serwerze.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Czasem ta komenda nie działa na niektórych platformach.&lt;br /&gt;
*Im większy ticrate tym większe użycie procesora.&lt;br /&gt;
Czasem na mapach de_inferno i de_aztec użycie procka skacze czasem do szalonych wartości - ale to mowie - czasem.&lt;br /&gt;
Oczywiście najlepiej aby mieć w miarę stabilny poziom fps - bo skoki z 100 do 500 i po chwili znowu na 100 nie są&lt;br /&gt;
przyjemne i wszystko raczej działa gorzej - to zależy od hardware'u&lt;br /&gt;
Więc lepiej aby mieć mniej ale z mniejszymi fluktuacjami.&lt;br /&gt;
&lt;br /&gt;
*Jak masz dostęp do rcon to możesz sprawdzić aktualne fps na serwerze wpisując&lt;br /&gt;
 rcon stats&lt;br /&gt;
Aby sprawdzić jakiego kopa dostanie serwer na chwile włącz&lt;br /&gt;
 rcon sys_ticrate 10000&lt;br /&gt;
Jest teraz sprawdzisz rcon stats i twój serwer ma powyżej 100fps to znaczy że boosting działa i się ciesz, inaczej szukaj innych metod poprawy działania sprzętu&lt;br /&gt;
&lt;br /&gt;
*Zawsze sprawdź stats kilka razy.&lt;br /&gt;
&lt;br /&gt;
Znajdowanie optymalnej wartości wymaga trochę eksperymentów.&lt;br /&gt;
Najpierw sprawdź czy serwer jest boots'owany, bo inaczej nic ci to nie da.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;Pamiętaj że podnoszenie fps powyżej 200 jest zbyteczne ze względów możliwości samej gry i łączy internetowych.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dodatkowo wyciskanie za dużo fps na maszynie która ma kilka serwerów hlds na sobie jest niekorzystne dla innych serwerów - spowoduje to tylko pogorszenie gry na obu serwerach bo procesor nie będzie wyrabiał. Nie zapominaj że często na serwerach działa też www , mail i ftp.&lt;br /&gt;
&lt;br /&gt;
Nie każdy wie że czasem serwer fps wskazuje na niektóre tylko wartości albo po prostu działa na innych&lt;br /&gt;
np. na jednej z maszyn zaobserwowano że fps układają się tak: 85, 102, 128, 170, 256 ...&lt;br /&gt;
i żadnych fps (liczb) miedzy nimi.&lt;br /&gt;
&lt;br /&gt;
Więc jak damy w tym przypadku sys_ticrate 100 to serwer będzie działał na prędkości niższej niż zapodana&lt;br /&gt;
w tym wypadku będzie to 85 fps&lt;br /&gt;
&lt;br /&gt;
Dlatego lepiej jest dawać sys_ticrate zwiększone o 20 do 50 fps niż. tę którą chcesz osiągnąć&lt;br /&gt;
np. może się zdarzyć że masz sys_ticrate 150 a serwer będzie wyciągał tylko 128 fps.&lt;br /&gt;
&lt;br /&gt;
rekomendowane:&lt;br /&gt;
sys_ticrate 110 - 180 w zależności od możliwości twojego sprzętu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' sys_ticrate 125, ale lepiej nie przekraczać 200.&lt;br /&gt;
&lt;br /&gt;
==fps_max==&lt;br /&gt;
*ustawia maksymalna ilość FPS jakie ma serwer wyciągać, ale działa także u gracza, tzn jest to zarówno zmienna klienta jak i serwera. Zależy ona od sys_ticrate  -im większe sys_ticrate tym większe fps_max można wycisnąć. Domyślnie serwera stara się wycisnąć 100fps przy pełnym obciążeniu. Jednakże nieraz ta wartość spada jak serwer nie wyrabia.&lt;br /&gt;
* ustawiamy pewna wartość jak poniżej ( wartośc 100 jest wartością domyślną na serwerach) w [[server.cfg]]&lt;br /&gt;
 fps_max 100&lt;br /&gt;
* nie opłaca się ustawiać raczej fps więcej niż 200, w rzeczywistości aktualnie zoptymalizowane binarki HLDS spokojnie wyciągają i działają ładnie na fps_max 125&lt;br /&gt;
* ilość fps na serwerze zależy od ilości graczy, i można ją sprawdzić komendą '''stats'''&lt;br /&gt;
*pamiętaj, że jak nikogo na serwerze nie ma albo jest jeden gracz to ilość fps będzie różnie skakać i nie osiągnie wartości 100 -  dlatego ilość fps sprawdzaj najlepiej przy pełnym obciążeniu serwera.&lt;br /&gt;
==ex_interp==&lt;br /&gt;
*interpolacja czyli przybliżenie wartości korzystając z co najmniej 2 wartości granicznych&lt;br /&gt;
np. średnia ocen w szkole to interpolacja .... :D&lt;br /&gt;
* często blokowany prze [[HLGuard]] w celu zapobieganiu nadużyciom (dość często niesłusznie blokowany).&lt;br /&gt;
Czemu to służy?&lt;br /&gt;
W idealnym ustawieniu miałbyś nieskończoną liczbę synchronizacji i byś wiedział gdzie jest przeciwnik.&lt;br /&gt;
Oczywiste internet na to ci nie pozwoli i dostaniesz tylko skończoną liczbę pakietów.&lt;br /&gt;
Najłatwiej tu jest się posłużyć interpolacją koła.&lt;br /&gt;
Masz kolo - idealny kształt rzeczywisty. Ale ty masz skończoną liczbę kresek do wykorzystania.&lt;br /&gt;
tak więc wpisujesz wielokąt foremny aby jak najbardziej upodobnić go do kola&lt;br /&gt;
Z daleka patrząc nie zauważysz różnicy czy masz wielokąt o 100 bokach czy kolo no ale jak usiądziesz z lupa to się kapniesz :D&lt;br /&gt;
Przeważnie w CS mamy wielokąt o 20 bokach no i tu widać że nie zawsze pozycja gracza jest pozycja realna gracza.&lt;br /&gt;
&lt;br /&gt;
Na szczęście do gry to starcza gdyż działa interpolacja - wszelkie pozycje gdzie nie masz informacji gdzie się znajduje gracz sa interpolowane.&lt;br /&gt;
Po prostu modele na ekranie nie skaczą, tylko poruszają się płynnie bo są interpolowane bazując na pakietach jakie otrzymujesz od serwera.&lt;br /&gt;
&lt;br /&gt;
*Oznacza to przedział czasowy do wykorzystania przez grę - jako ułamek sekundy.&lt;br /&gt;
Domyślnie jest to maksymalnie 0.1 Czyli 100 ms - oznacza to że jeśli nie dostaniesz pakietu o położeniu gracza w ciągu 100ms to H-L będzie&lt;br /&gt;
Obliczał gdzie on się znajduje.&lt;br /&gt;
&lt;br /&gt;
*Normalnie ex_interp powinien być równy lub troszkę większy od 1/cl_updaterate&lt;br /&gt;
*Niektórzy rekomendują ex_interp 0&lt;br /&gt;
wtedy H-L sam obliczy tę wartość i ci powie że &amp;quot;ex_interp forced to msec&amp;quot;&lt;br /&gt;
tylko że jest problem&lt;br /&gt;
#jak zmieniasz jakkolwiek cl_updaterate to potem musisz wywołać ex_interp 0 aby to obliczył&lt;br /&gt;
#jak masz ex_interp 0 to modela mogą zacząć skakać - bo pakiety się spóźniają, to normalne.&lt;br /&gt;
&lt;br /&gt;
Maksymalnie ex_interp ma 0.1 czyli 100 milisekund - to jest dużo.&lt;br /&gt;
Najczęściej jak masz cl_updaterate 20 to masz ex_interp 0.05 - oczywiście im większy update tym mniejsza liczba&lt;br /&gt;
&lt;br /&gt;
Niektórzy tylko rekomendują operowanie cl_updaterate i zostawianie ex_interp'a w spokoju aby sam się kalkulował... no ale jesteśmy na polskich łączach...&lt;br /&gt;
&lt;br /&gt;
*Czasem wartości ex_interp poniżej 1/cl_updaterate nie da się ustawić.&lt;br /&gt;
Czasem wartości powyżej 1/cl_updaterate są uważane za exploit gdyż powoduje to, że musisz strzelać za rzeczywistym modelem - dlatego jest efekt spóźniony headshot'ów - koleś przebiegł, ty strzeliłeś gdzie on &amp;quot;był&amp;quot; i dostał heda, a krew sika z pustki&lt;br /&gt;
&lt;br /&gt;
Ja sugeruje popatrzeć ile ex_interp 0 wyliczy i potem dodać ręcznie +0.01,&lt;br /&gt;
np. cl_updatertae 20 =&amp;gt; ex_interp 0.05,&lt;br /&gt;
dodajemy i mamy ex_interp 0.06&lt;br /&gt;
efektu spóźnionych hedów nie powinno być tak wiele i modele nie powinny aż tak bardzo skakać - no chyba że lagi :D.&lt;br /&gt;
Natomiast modele nie biegają na tyle wcześnie aby inni uważali że oszukujesz.&lt;br /&gt;
Ja uważam że dodanie 0.01 to nie jest expliotem bo netcode nie jest idealny, szczególnie jak na polskie warunki&lt;br /&gt;
&lt;br /&gt;
Moim zdaniem exploitem jest jak gracz ma cl_updaterate 101 i wtedy powinien mieć ex_interp 0.009 (no powiedzmy 0.01) a w rzeczywistości używa ex_interp 0.1 czyli 10x większego!!!&lt;br /&gt;
&lt;br /&gt;
'''Rekomendacja''' ostateczna &lt;br /&gt;
ex_interp 0.1 czyli nie dotykać - wtedy HLGuard i jego blokowanie zmiennych nie będzie tak uciążliwe.&lt;br /&gt;
&lt;br /&gt;
==rate==&lt;br /&gt;
Jest to ile bajtów możesz przesłać do serwera. maksymalnie jest 20000, bo wyżej H-L nie wyciągnie.&lt;br /&gt;
standardowo jest chyba 5000 albo i mniej ale np. clanbase używa 9999.&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' zatem albo 9999 albo 20000 jeśli serwer pozwala, ew jeśli masz słabe łącze to nie więcej niż 80% twojego uploadu.&lt;br /&gt;
&lt;br /&gt;
==sv_maxrate==&lt;br /&gt;
Domyślnie jest równe 0 co nie oznacza że jest najlepiej.&lt;br /&gt;
&lt;br /&gt;
Dlaczego?&lt;br /&gt;
sv_maxrate 0 wykryje rate każdego gracza i będzie się starało spełnić wymogi gracza.&lt;br /&gt;
&lt;br /&gt;
Teraz załóżmy że H-L daje możliwość dania rate powyżej 20 kafli, a jakiś gracz ma fantazję i walnie ostrą wartość np. 9999999999 (kosmiczna liczba).&lt;br /&gt;
Serwer w tym przypadku próbowałby wypchać tę kosmiczną ilość danych do tego gracza i tylko by marnował łącze do tej osoby bo i tak tyle nie wyśle, a reszta będzie lagowana bo nie dostanie nic.&lt;br /&gt;
&lt;br /&gt;
*Dodatkowo, dzięki ustawieniu wartości sv_maxrate możemy przewidywać maksymalne użycie łącza na miesiąc - jeśli płacimy za transfer w GB.&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' dlatego ustawiać sv_maxrate na 20000.&lt;br /&gt;
&lt;br /&gt;
=LAN=&lt;br /&gt;
No a jak grac na LAN'ie?&lt;br /&gt;
&lt;br /&gt;
organizacje typu [[CPL]] używają cl_updaterate 101 gdyż to się wiąże z jakością posiadanych przez nich serwerów - silne maszyny z booster'ami na bardzo dobrych łączach.&lt;br /&gt;
&lt;br /&gt;
Aby łatwo się przekonać czy serwer na lanie jest z booster'em - popatrz na ping graczy z lan'u.&lt;br /&gt;
*normalny serwer bez booster'a na 60-65 fps powoduje że gracze maja pingi powyżej 15ms.&lt;br /&gt;
*jak serwer ma więcej fps ( np ma booster'a)  to pingi są o wiele mniejsze - przeważnie w granicy 5ms.&lt;br /&gt;
&lt;br /&gt;
Wiadomo że CPL, ESWC i WCG używają serwerów z booster'ami bo ich na to stać.&lt;br /&gt;
&lt;br /&gt;
=Podziękowania=&lt;br /&gt;
Podziękowania dla:&lt;br /&gt;
*Alfred Reynolds, Valve Software&lt;br /&gt;
*Yahn Bernier, Valve Software&lt;br /&gt;
*Zibbo, UDPSoft&lt;br /&gt;
*The HLDS Mailing Lists&lt;br /&gt;
*The http://server.counter-strike.net forums&lt;br /&gt;
&lt;br /&gt;
translated from english by _KaszpiR_&lt;br /&gt;
&lt;br /&gt;
9 May 2004&lt;/div&gt;</summary>
		<author><name>D4rk</name></author>	</entry>

	<entry>
		<id>http://hlds.pl/CS_1.6_Netcode_Po_Polsku</id>
		<title>CS 1.6 Netcode Po Polsku</title>
		<link rel="alternate" type="text/html" href="http://hlds.pl/CS_1.6_Netcode_Po_Polsku"/>
				<updated>2007-07-06T12:20:53Z</updated>
		
		<summary type="html">&lt;p&gt;D4rk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[kategoria:HLDS]]&lt;br /&gt;
[[kategoria:E-Sport]]&lt;br /&gt;
[[Kategoria:Netcode]]&lt;br /&gt;
=Wstęp=&lt;br /&gt;
Trochę stary artykuł, będę musiał go odkurzyć z debilizmów, więc się będzie zmieniał co jakiś czas.&lt;br /&gt;
&lt;br /&gt;
--[[Użytkownik:KaszpiR|KaszpiR]] 15:52, 9 sie 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
=Historia=&lt;br /&gt;
CS 1.6 Netcode Explained po Polsku (tłumaczenie by _KaszpiR_ http://nvt.prv.pl )&lt;br /&gt;
&lt;br /&gt;
Artykuł był najpierw dostępny ogólnie na Gotfrag.&lt;br /&gt;
Następnie stal się tzw Primie - czyli widocznym tylko dla zarejestrowanych.&lt;br /&gt;
Cóż, ale http://google.com przeszło przez niego i zrobiło cache - dlatego bez obrazka, ale liczy się treść.&lt;br /&gt;
&lt;br /&gt;
A ja pozwoliłem sobie to przetłumaczyć, ale bez zbytniego lania wody zostawiając esencje. Dodatkowo trochę zmieniłem układ aby treść nie była tak poszatkowana jak w oryginale - więc opisy zmiennych/komend są razem a nie osobno (co wprowadzało w pewne zakłopotanie co poniektórych :D )&lt;br /&gt;
&lt;br /&gt;
*''Originally by:''' Jon MellinBy, Submitted by: Jason, last updated April 7 2004 at 4:34 PM EDT Gotfrag http://www.gotfrag.net&lt;br /&gt;
CS Netcode Explained&lt;br /&gt;
&lt;br /&gt;
=Opis=&lt;br /&gt;
*W artykule zapoznasz się z tzw. netkodem gry [[Half-Life]], czyli ta częścią gry która odpowiada za protokół sieciowy itp.&lt;br /&gt;
Mam nadzieje, że pomoże ci on lepiej ustawić wartości aby osiągnąć lepsze wyniki w grze, jak i usprawnić serwer.&lt;br /&gt;
&lt;br /&gt;
*'''Notka:''' Komendy/zmienne zaczynające się od sv_ czy też sys_ są komendami/zmiennymi działającymi tylko na serwerze - dedykowanym czy tzw listen.&lt;br /&gt;
Wykonanie powyższych komend w konsoli u klienta zwróci ustawienia na lokalnym komputerze a nie na serwerze.&lt;br /&gt;
Dlatego też trzeba te komendy wpisywać albo w konsoli hlds bezpośrednio (jak jest na screen'ie itp., albo wraz z użyciem komendy rcon,&lt;br /&gt;
albo z żzyciem rcon zastępczych komend/aplikacji działających na serwer - mam tu na myśli komendy typu amx_rcon czy cm_rcon.&lt;br /&gt;
&lt;br /&gt;
Zależność miedzy komenda ex_interp a cl_updaterate jest bardzo ważna i prosimy nie czytać tylko jednego opisu,&lt;br /&gt;
tylko przeczytać też info o drugiej komendzie.&lt;br /&gt;
Ogólnie przeczytaj wszystko aby mieć ogólny zarys tego, co się dzieje jak się bawimy kilkoma komendami na raz.&lt;br /&gt;
&lt;br /&gt;
Artykuł oryginalnie był napisany dla osób o szerokopasmowym dostępie do internetu.&lt;br /&gt;
W naszych warunkach czytaj - coś lepszego niż SDI, najlepiej Neostrada i temu podobne.&lt;br /&gt;
&lt;br /&gt;
*Najpierw ogólny opis komend/zmiennych a potem szczegóły, więc się nie wkurzać że 2x to samo czytacie - oryginalny artykuł był bardziej poszatkowany.&lt;br /&gt;
&lt;br /&gt;
=Ogólnie o zmiennych=&lt;br /&gt;
==cl_cmdrate==&lt;br /&gt;
*definiuje ile maksymalnie pakietów może wysłać klient (tzn. ty, graczu że swojej maszyny) do serwera.&lt;br /&gt;
*numer oznacza liczbę pakietów na sekundę&lt;br /&gt;
Oczywiście więcej znaczy lepiej - szybciej serwer zareaguje na twoje reakcje.&lt;br /&gt;
Traktuj to mniej więcej tak - im większa wartość tym mniejszy poślizg pomiędzy naciśnięciem fire a wysłaniem pakietu.&lt;br /&gt;
&lt;br /&gt;
Jak masz dobre łącze i siedzisz na łączu sam to spoko możesz zwiększyć.&lt;br /&gt;
Jak współdzielisz z kimś łącze (np. neo na 2 osoby) to zbyt wysokie wartości u obu graczy będą powodować nagle lagi i ping spike.&lt;br /&gt;
Wartość maksymalna zależy tu od tego jaki masz upstream do provider'a - czyli ile możesz wysłać w internet.&lt;br /&gt;
&lt;br /&gt;
W idealnym przypadku ta komenda powinna się równać liczbie fps serwera!!! a nie klienta.&lt;br /&gt;
Jak wyślesz więcej pakietów to serwer je po prostu zignoruje bo nie będzie wyrabiać.&lt;br /&gt;
Tak więc za wysokie wartości nie zaszkodzą ale tylko będą marnować twoje łącze :D&lt;br /&gt;
'''Rekomendujemy''' cl_cmdrate równe fps serwera lub trochę większe.&lt;br /&gt;
&lt;br /&gt;
Dlatego na serwerach linuksowych często jest 50 a na windowsowych 70&lt;br /&gt;
oczywiście jak serwer ma więcej fps to walimy 100 i się cieszymy&lt;br /&gt;
&lt;br /&gt;
==cl_updaterate==&lt;br /&gt;
*podobna do poprzedniej komendy ale działa w odwrotnym kierunku.&lt;br /&gt;
*numer definiuje maksymalna liczbę pakietów na sekundę jaka ty możesz otrzymać od serwera.&lt;br /&gt;
*więcej znaczy lepiej ale też zwiększa użycie łącza.&lt;br /&gt;
&lt;br /&gt;
traktuj to jak efekt błyskawicy - ktoś strzela to następuje błysk (widoczny dla serwera natychmiast),&lt;br /&gt;
jednakże ty jesteś nastawiony na grzmot.&lt;br /&gt;
im większa wartość tym szybciej do ciebie grzmot dojdzie (wiem wiem, łopatologicznie...)&lt;br /&gt;
&lt;br /&gt;
*Po prostu szybciej będziesz mógł zareagować.&lt;br /&gt;
*Dodatkowo daje to dokładniejsze informacje o rzeczywistym położeniu przeciwników, trafień po kulach itp.&lt;br /&gt;
&lt;br /&gt;
*Wartość maksymalna zależy od twojego downstream'u czyli jak szybko możesz zasysać od provider'a.&lt;br /&gt;
Przeważnie ta wartość (mam na myśli downstream) jest 4x większa od twojego upstream'u&lt;br /&gt;
Dlatego czasem cl_updaterate jest większy 4 razy od cmdate&lt;br /&gt;
&lt;br /&gt;
*Minimalna wartość jest 10 (dlatego ex_interp ma 0.1, patrz niżej)&lt;br /&gt;
&lt;br /&gt;
Kiedyś myślano że cl_updaterate trza walnąć na 101 i zjeżdżać w dół z wartościami aż będziemy mieli w miarę niski&lt;br /&gt;
i zadowalający choke (prawie zero ale może być 2...3)&lt;br /&gt;
choke widać na net_graph 3&lt;br /&gt;
&lt;br /&gt;
Jednak cały system cl_updaterate jest bardziej złożony.&lt;br /&gt;
np. serwery CAL dają sv_maxupdaterate 101 więc normalnie każdy by se tyle dal na kliencie.&lt;br /&gt;
w teorii jest to poprawne jednak praktyka się tu rozmija.&lt;br /&gt;
&lt;br /&gt;
Większość serwerów nie wyciąga 100fps aby obliczyć te właśnie 100 updaterate na sekundę.&lt;br /&gt;
oznacza to że nie ma szans aby serwer tyle wysłał w rzeczywistości.&lt;br /&gt;
&lt;br /&gt;
Pomyślisz - walnę se 101 updaterate i tak czy siak tyle max pakietów dostanę.&lt;br /&gt;
&lt;br /&gt;
Jak u siebie dasz cl_updaterate 101 to ex_interp będzie 0.009ms - spodziewa się gra że będziesz miał pakiety co 9ms&lt;br /&gt;
i wszystko będzie cacy.&lt;br /&gt;
Jednakże serwer ma 50 fps czyli maksymalnie puści 50 pakietów!!! tak więc 2 razy mniej.&lt;br /&gt;
Co się stanie?&lt;br /&gt;
Pakiety przychodzą za rzadko i gra nie ma z czego interpolować położenia graczy - masz efekt skaczących modeli.&lt;br /&gt;
No dobra. dajmy na to że zjadę na 70 - efekt skaczących modeli spadnie.&lt;br /&gt;
Oczywiście idealnie jak będziemy mieli cl_updaterate 50 - wtedy interp będzie 0.02 i modele nie powinny aż tak skakać (tylko z rzadka z powodu lagów)&lt;br /&gt;
&lt;br /&gt;
*Ponieważ klient bez rcon'a nie ma jak sprawdzić ile serwer ma fps i se dobrze dobrać tę zmienną, trzeba zgadywać.&lt;br /&gt;
&lt;br /&gt;
Na szczęście można to zrobić doświadczalnie w prosty sposób.&lt;br /&gt;
1. zacznij z cl_updaterate 101, ex_interp 0&lt;br /&gt;
2. zjeżdżaj z cl_updaterate w dol. (mniej więcej o 10 ) aż zauważysz że modele aż tak bardzo nie skaczą. (tylko z rzadka z powodu zmiany pinga, lagów itp.)&lt;br /&gt;
&lt;br /&gt;
Oczywiście &amp;quot;bardzo nie skaczą&amp;quot; to kwestia gustu.&lt;br /&gt;
Dopóki ex_interp = 1/cl_updaterate modele będą na swoich rzeczywistych miejscach.&lt;br /&gt;
&lt;br /&gt;
Oznacza to że każdy serwer będzie miał swoje własne ustawienia cl_updaterate zależne od ilości graczy/łącza/fps - po prostu ile w danej chwili serwer może z siebie wycisnąć.&lt;br /&gt;
Nie bójmy się zejść z wartościami poniżej updaterate 50 bo tak czy siak interpolacja będzie działać.&lt;br /&gt;
&lt;br /&gt;
No dobra, ktoś pomyśli, ale ja wezmę updaterate 20 i będę szedł w gore.&lt;br /&gt;
No to nie jest dobry pomysł bo ex_interp = 1/cl_updaterate.&lt;br /&gt;
Jak mamy 20 to ex_interp = 1/20 = 0.05 &lt;br /&gt;
a jak zwierzymy na 50 to mamy ex_interp = 1/50 = 0.02&lt;br /&gt;
a ex intern 0.05 &amp;gt; 0.02 a H-L domyślnie nie zmniejsza sam z siebie interna.&lt;br /&gt;
wtedy musisz wystukać za kadmy razem ex_interp 0 ręcznie aby obliczyć go.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tak więc widać że istnieje zależność pomiędzy serwer fps, cl_udpaterate i ex_interp 0 razem.&lt;br /&gt;
najlepiej mieć updaterate równy fps serwera a ex_interp 0&lt;br /&gt;
&lt;br /&gt;
'''Rekomendacja:'''&lt;br /&gt;
cl_updaterate równy fps serwera i nie większy od sv_maxupdaterate.&lt;br /&gt;
&lt;br /&gt;
Końcowa notka: wiele serwerów używa sv_maxupdaterate 30 tak więc cl_updaterate 30 będzie wtedy wartością najlepszą w&lt;br /&gt;
takiej sytuacji.&lt;br /&gt;
&lt;br /&gt;
==sv_maxupdaterate==&lt;br /&gt;
*Jak cl_maxupdaterate ale działa na serwer - ile klient maksymalnie może przyjąć od serwera.&lt;br /&gt;
*Szczególnie użyteczna jak serwer nie ma za dobrego łącza.&lt;br /&gt;
*Numer oznacza liczbę pakietów na sekundę jaką serwer może wysłać na sekundę do klienta.&lt;br /&gt;
* przeważnie daje się sv_maxupdaterate 101.&lt;br /&gt;
Dlatego jeśli klient ma cl_updaterate 100, a serwer ma sv_maxupdaterate 50,&lt;br /&gt;
to ten klient i tak nie dostanie więcej niż. te 50.&lt;br /&gt;
&lt;br /&gt;
''Rekomendujemy'' zmieniać jeśli pozwana na to łącze serwera i jego moc procesora.&lt;br /&gt;
&lt;br /&gt;
==sys_ticrate==&lt;br /&gt;
*Definiuje ile maksymalnie tików na sekundę serwer może przetworzyć. Przekłada się to nie bezpośrednio na ilość klatek na sekundą jakie wyciąga serwer.&lt;br /&gt;
*Domyślnie jest 100, maksymalnie 10 000.&lt;br /&gt;
&lt;br /&gt;
Po co to komu?&lt;br /&gt;
&lt;br /&gt;
Miedzy innymi więcej fps daje ci lepsze poczucie gry.&lt;br /&gt;
Serwery normalnie maja około 50fps na linuksie i 64 na windowsach - ale czasem spada to do 20-30 to już słabo.&lt;br /&gt;
Dobre serwery maja tak ustawione ten ticrate aby fps się wahało w granicy 150-180 fps (tzn. ogólnie do 200 fps).&lt;br /&gt;
Więcej i tak ci nic nie da bo nie zauważysz.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Jak nikogo na serwerze nie ma to powinieneś mieć około 100 albo 60 fps - serwer po prostu nic nie robi jak nikogo na serwerze nie ma, i dopiero zaczyna się grzać jak wejdzie ktoś na serwer. Więc zawsze sprawdzaj fps z graczami na serwerze.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Czasem ta komenda nie działa na niektórych platformach.&lt;br /&gt;
*Im większy ticrate tym większe użycie procesora.&lt;br /&gt;
Czasem na mapach de_inferno i de_aztec użycie procka skacze czasem do szalonych wartości - ale to mowie - czasem.&lt;br /&gt;
Oczywiście najlepiej aby mieć w miarę stabilny poziom fps - bo skoki z 100 do 500 i po chwili znowu na 100 nie są&lt;br /&gt;
przyjemne i wszystko raczej działa gorzej - to zależy od hardware'u&lt;br /&gt;
Więc lepiej aby mieć mniej ale z mniejszymi fluktuacjami.&lt;br /&gt;
&lt;br /&gt;
*Jak masz dostęp do rcon to możesz sprawdzić aktualne fps na serwerze wpisując&lt;br /&gt;
 rcon stats&lt;br /&gt;
Aby sprawdzić jakiego kopa dostanie serwer na chwile włącz&lt;br /&gt;
 rcon sys_ticrate 10000&lt;br /&gt;
Jest teraz sprawdzisz rcon stats i twój serwer ma powyżej 100fps to znaczy że boosting działa i się ciesz, inaczej szukaj innych metod poprawy działania sprzętu&lt;br /&gt;
&lt;br /&gt;
*Zawsze sprawdź stats kilka razy.&lt;br /&gt;
&lt;br /&gt;
Znajdowanie optymalnej wartości wymaga trochę eksperymentów.&lt;br /&gt;
Najpierw sprawdź czy serwer jest boots'owany, bo inaczej nic ci to nie da.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;Pamiętaj że podnoszenie fps powyżej 200 jest zbyteczne ze względów możliwości samej gry i łączy internetowych.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dodatkowo wyciskanie za dużo fps na maszynie która ma kilka serwerów hlds na sobie jest niekorzystne dla innych serwerów - spowoduje to tylko pogorszenie gry na obu serwerach bo procesor nie będzie wyrabiał. Nie zapominaj że często na serwerach działa też www , mail i ftp.&lt;br /&gt;
&lt;br /&gt;
Nie każdy wie że czasem serwer fps wskazuje na niektóre tylko wartości albo po prostu działa na innych&lt;br /&gt;
np. na jednej z maszyn zaobserwowano że fps układają się tak: 85, 102, 128, 170, 256 ...&lt;br /&gt;
i żadnych fps (liczb) miedzy nimi.&lt;br /&gt;
&lt;br /&gt;
Więc jak damy w tym przypadku sys_ticrate 100 to serwer będzie działał na prędkości niższej niż zapodana&lt;br /&gt;
w tym wypadku będzie to 85 fps&lt;br /&gt;
&lt;br /&gt;
Dlatego lepiej jest dawać sys_ticrate zwiększone o 20 do 50 fps niż. tę którą chcesz osiągnąć&lt;br /&gt;
np. może się zdarzyć że masz sys_ticrate 150 a serwer będzie wyciągał tylko 128 fps.&lt;br /&gt;
&lt;br /&gt;
rekomendowane:&lt;br /&gt;
sys_ticrate 110 - 180 w zależności od możliwości twojego sprzętu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' sys_ticrate 125, ale lepiej nie przekraczać 200.&lt;br /&gt;
&lt;br /&gt;
==fps_max==&lt;br /&gt;
*ustawia maksymalna ilość FPS jakie ma serwer wyciągać, ale działa także u gracza, tzn jest to zarówno zmienna klienta jak i serwera. Zależy ona od sys_ticrate  -im większe sys_ticrate tym większe fps_max można wycisnąć. Domyślnie serwera stara się wycisnąć 100fps przy pełnym obciążeniu. Jednakże nieraz ta wartość spada jak serwer nie wyrabia.&lt;br /&gt;
* ustawiamy pewna wartość jak poniżej ( wartośc 100 jest wartością domyślną na serwerach) w [[server.cfg]]&lt;br /&gt;
 fps_max 100&lt;br /&gt;
* nie opłaca się ustawiać raczej fps więcej niż 200, w rzeczywistości aktualnie zoptymalizowane binarki HLDS spokojnie wyciągają i działają ładnie na fps_max 125&lt;br /&gt;
* ilość fps na serwerze zależy od ilości graczy, i można ją sprawdzić komendą '''stats'''&lt;br /&gt;
*pamiętaj, że jak nikogo na serwerze nie ma albo jest jeden gracz to ilość fps będzie różnie skakać i nie osiągnie wartości 100 -  dlatego ilość fps sprawdzaj najlepiej przy pełnym obciążeniu serwera.&lt;br /&gt;
==ex_interp==&lt;br /&gt;
*interpolacja czyli przybliżenie wartości korzystając z co najmniej 2 wartości granicznych&lt;br /&gt;
np. średnia ocen w szkole to interpolacja .... :D&lt;br /&gt;
* często blokowany prze [[HLGuard]] w celu zapobieganiu nadużyciom (dość często niesłusznie blokowany).&lt;br /&gt;
Czemu to służy?&lt;br /&gt;
W idealnym ustawieniu miałbyś nieskończoną liczbę synchronizacji i byś wiedział gdzie jest przeciwnik.&lt;br /&gt;
Oczywiste internet na to ci nie pozwoli i dostaniesz tylko skończoną liczbę pakietów.&lt;br /&gt;
Najłatwiej tu jest się posłużyć interpolacją koła.&lt;br /&gt;
Masz kolo - idealny kształt rzeczywisty. Ale ty masz skończoną liczbę kresek do wykorzystania.&lt;br /&gt;
tak więc wpisujesz wielokąt foremny aby jak najbardziej upodobnić go do kola&lt;br /&gt;
Z daleka patrząc nie zauważysz różnicy czy masz wielokąt o 100 bokach czy kolo no ale jak usiądziesz z lupa to się kapniesz :D&lt;br /&gt;
Przeważnie w CS mamy wielokąt o 20 bokach no i tu widać że nie zawsze pozycja gracza jest pozycja realna gracza.&lt;br /&gt;
&lt;br /&gt;
Na szczęście do gry to starcza gdyż działa interpolacja - wszelkie pozycje gdzie nie masz informacji gdzie się znajduje gracz sa interpolowane.&lt;br /&gt;
Po prostu modele na ekranie nie skaczą, tylko poruszają się płynnie bo są interpolowane bazując na pakietach jakie otrzymujesz od serwera.&lt;br /&gt;
&lt;br /&gt;
*Oznacza to przedział czasowy do wykorzystania przez grę - jako ułamek sekundy.&lt;br /&gt;
Domyślnie jest to maksymalnie 0.1 Czyli 100 ms - oznacza to że jeśli nie dostaniesz pakietu o położeniu gracza w ciągu 100ms to H-L będzie&lt;br /&gt;
Obliczał gdzie on się znajduje.&lt;br /&gt;
&lt;br /&gt;
*Normalnie ex_interp powinien być równy lub troszkę większy od 1/cl_updaterate&lt;br /&gt;
*Niektórzy rekomendują ex_interp 0&lt;br /&gt;
wtedy H-L sam obliczy tę wartość i ci powie że &amp;quot;ex_interp forced to msec&amp;quot;&lt;br /&gt;
tylko że jest problem&lt;br /&gt;
#jak zmieniasz jakkolwiek cl_updaterate to potem musisz wywołać ex_interp 0 aby to obliczył&lt;br /&gt;
#jak masz ex_interp 0 to modela mogą zacząć skakać - bo pakiety się spóźniają, to normalne.&lt;br /&gt;
&lt;br /&gt;
Maksymalnie ex_interp ma 0.1 czyli 100 milisekund - to jest dużo.&lt;br /&gt;
Najczęściej jak masz cl_updaterate 20 to masz ex_interp 0.05 - oczywiście im większy update tym mniejsza liczba&lt;br /&gt;
&lt;br /&gt;
Niektórzy tylko rekomendują operowanie cl_updaterate i zostawianie ex_interp'a w spokoju aby sam się kalkulował... no ale jesteśmy na polskich łączach...&lt;br /&gt;
&lt;br /&gt;
*Czasem wartości ex_interp poniżej 1/cl_updaterate nie da się ustawić.&lt;br /&gt;
Czasem wartości powyżej 1/cl_updaterate są uważane za exploit gdyż powoduje to, że musisz strzelać za rzeczywistym modelem - dlatego jest efekt spóźniony headshot'ów - koleś przebiegł, ty strzeliłeś gdzie on &amp;quot;był&amp;quot; i dostał heda, a krew sika z pustki&lt;br /&gt;
&lt;br /&gt;
Ja sugeruje popatrzeć ile ex_interp 0 wyliczy i potem dodać ręcznie +0.01,&lt;br /&gt;
np. cl_updatertae 20 =&amp;gt; ex_interp 0.05,&lt;br /&gt;
dodajemy i mamy ex_interp 0.06&lt;br /&gt;
efektu spóźnionych hedów nie powinno być tak wiele i modele nie powinny aż tak bardzo skakać - no chyba że lagi :D.&lt;br /&gt;
Natomiast modele nie biegają na tyle wcześnie aby inni uważali że oszukujesz.&lt;br /&gt;
Ja uważam że dodanie 0.01 to nie jest expliotem bo netcode nie jest idealny, szczególnie jak na polskie warunki&lt;br /&gt;
&lt;br /&gt;
Moim zdaniem exploitem jest jak gracz ma cl_updaterate 101 i wtedy powinien mieć ex_interp 0.009 (no powiedzmy 0.01) a w rzeczywistości używa ex_interp 0.1 czyli 10x większego!!!&lt;br /&gt;
&lt;br /&gt;
'''Rekomendacja''' ostateczna &lt;br /&gt;
ex_interp 0.1 czyli nie dotykać - wtedy HLGuard i jego blokowanie zmiennych nie będzie tak uciążliwe.&lt;br /&gt;
&lt;br /&gt;
==rate==&lt;br /&gt;
Jest to ile bajtów możesz przesłać do serwera. maksymalnie jest 20000, bo wyżej H-L nie wyciągnie.&lt;br /&gt;
standardowo jest chyba 5000 albo i mniej ale np. clanbase używa 9999.&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' zatem albo 9999 albo 20000 jeśli serwer pozwala, ew jeśli masz słabe łącze to nie więcej niż 80% twojego uploadu.&lt;br /&gt;
&lt;br /&gt;
==sv_maxrate==&lt;br /&gt;
Domyślnie jest równe 0 co nie oznacza że jest najlepiej.&lt;br /&gt;
&lt;br /&gt;
Dlaczego?&lt;br /&gt;
sv_maxrate 0 wykryje rate każdego gracza i będzie się starało spełnić wymogi gracza.&lt;br /&gt;
&lt;br /&gt;
Teraz załóżmy że H-L daje możliwość dania rate powyżej 20 kafli, a jakiś gracz ma fantazję i walnie ostrą wartość np. 9999999999 (kosmiczna liczba).&lt;br /&gt;
Serwer w tym przypadku próbowałby wypchać tę kosmiczną ilość danych do tego gracza i tylko by marnował łącze do tej osoby bo i tak tyle nie wyśle, a reszta będzie lagowana bo nie dostanie nic.&lt;br /&gt;
&lt;br /&gt;
*Dodatkowo, dzięki ustawieniu wartości sv_maxrate możemy przewidywać maksymalne użycie łącza na miesiąc - jeśli płacimy za transfer w GB.&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' dlatego ustawiać sv_maxrate na 20000.&lt;br /&gt;
&lt;br /&gt;
=LAN=&lt;br /&gt;
No a jak grac na LAN'ie?&lt;br /&gt;
&lt;br /&gt;
organizacje typu [[CPL]] używają cl_updaterate 101 gdyż to się wiąże z jakością posiadanych przez nich serwerów - silne maszyny z booster'ami na bardzo dobrych łączach.&lt;br /&gt;
&lt;br /&gt;
Aby łatwo się przekonać czy serwer na lanie jest z booster'em - popatrz na ping graczy z lan'u.&lt;br /&gt;
*normalny serwer bez booster'a na 60-65 fps powoduje że gracze maja pingi powyżej 15ms.&lt;br /&gt;
*jak serwer ma więcej fps ( np ma booster'a)  to pingi są o wiele mniejsze - przeważnie w granicy 5ms.&lt;br /&gt;
&lt;br /&gt;
Wiadomo że CPL, ESWC i WCG używają serwerów z booster'ami bo ich na to stać.&lt;br /&gt;
&lt;br /&gt;
=Podziękowania=&lt;br /&gt;
Podziękowania dla:&lt;br /&gt;
*Alfred Reynolds, Valve Software&lt;br /&gt;
*Yahn Bernier, Valve Software&lt;br /&gt;
*Zibbo, UDPSoft&lt;br /&gt;
*The HLDS Mailing Lists&lt;br /&gt;
*The http://server.counter-strike.net forums&lt;br /&gt;
&lt;br /&gt;
translated from english by _KaszpiR_&lt;br /&gt;
&lt;br /&gt;
9 May 2004&lt;/div&gt;</summary>
		<author><name>D4rk</name></author>	</entry>

	<entry>
		<id>http://hlds.pl/CS_1.6_Netcode_Po_Polsku</id>
		<title>CS 1.6 Netcode Po Polsku</title>
		<link rel="alternate" type="text/html" href="http://hlds.pl/CS_1.6_Netcode_Po_Polsku"/>
				<updated>2007-07-06T12:14:10Z</updated>
		
		<summary type="html">&lt;p&gt;D4rk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[kategoria:HLDS]]&lt;br /&gt;
[[kategoria:E-Sport]]&lt;br /&gt;
[[Kategoria:Netcode]]&lt;br /&gt;
=Wstęp=&lt;br /&gt;
Trochę stary artykuł, będę musiał go odkurzyć z debilizmów, więc się będzie zmieniał co jakiś czas.&lt;br /&gt;
&lt;br /&gt;
--[[Użytkownik:KaszpiR|KaszpiR]] 15:52, 9 sie 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
=Historia=&lt;br /&gt;
CS 1.6 Netcode Explained po Polsku (tłumaczenie by _KaszpiR_ http://nvt.prv.pl )&lt;br /&gt;
&lt;br /&gt;
Artykuł był najpierw dostępny ogólnie na Gotfrag.&lt;br /&gt;
Następnie stal się tzw Primie - czyli widocznym tylko dla zarejestrowanych.&lt;br /&gt;
Cóż, ale http://google.com przeszło przez niego i zrobiło cache - dlatego bez obrazka, ale liczy się treść.&lt;br /&gt;
&lt;br /&gt;
A ja pozwoliłem sobie to przetłumaczyć, ale bez zbytniego lania wody zostawiając esencje. Dodatkowo trochę zmieniłem układ aby treść nie była tak poszatkowana jak w oryginale - więc opisy zmiennych/komend są razem a nie osobno (co wprowadzało w pewne zakłopotanie co poniektórych :D )&lt;br /&gt;
&lt;br /&gt;
*''Originally by:''' Jon MellinBy, Submitted by: Jason, last updated April 7 2004 at 4:34 PM EDT Gotfrag http://www.gotfrag.net&lt;br /&gt;
CS Netcode Explained&lt;br /&gt;
&lt;br /&gt;
=Opis=&lt;br /&gt;
*W artykule zapoznasz się z tzw. netkodem gry [[Half-Life]], czyli ta częścią gry która odpowiada za protokół sieciowy itp.&lt;br /&gt;
Mam nadzieje, że pomoże ci on lepiej ustawić wartości aby osiągnąć lepsze wyniki w grze, jak i usprawnić serwer.&lt;br /&gt;
&lt;br /&gt;
*'''Notka:''' Komendy/zmienne zaczynające się od sv_ czy też sys_ są komendami/zmiennymi działającymi tylko na serwerze - dedykowanym czy tzw listen.&lt;br /&gt;
Wykonanie powyższych komend w konsoli u klienta zwróci ustawienia na lokalnym komputerze a nie na serwerze.&lt;br /&gt;
Dlatego też trzeba te komendy wpisywać albo w konsoli hlds bezpośrednio (jak jest na screen'ie itp., albo wraz z użyciem komendy rcon,&lt;br /&gt;
albo z żzyciem rcon zastępczych komend/aplikacji działających na serwer - mam tu na myśli komendy typu amx_rcon czy cm_rcon.&lt;br /&gt;
&lt;br /&gt;
Zależność miedzy komenda ex_interp a cl_updaterate jest bardzo ważna i prosimy nie czytać tylko jednego opisu,&lt;br /&gt;
tylko przeczytać też info o drugiej komendzie.&lt;br /&gt;
Ogólnie przeczytaj wszystko aby mieć ogólny zarys tego, co się dzieje jak się bawimy kilkoma komendami na raz.&lt;br /&gt;
&lt;br /&gt;
Artykuł oryginalnie był napisany dla osób o szerokopasmowym dostępie do internetu.&lt;br /&gt;
W naszych warunkach czytaj - coś lepszego niż SDI, najlepiej Neostrada i temu podobne.&lt;br /&gt;
&lt;br /&gt;
*Najpierw ogólny opis komend/zmiennych a potem szczegóły, więc się nie wkurzać że 2x to samo czytacie - oryginalny artykuł był bardziej poszatkowany.&lt;br /&gt;
&lt;br /&gt;
=Ogólnie o zmiennych=&lt;br /&gt;
==cl_cmdrate==&lt;br /&gt;
*definiuje ile maksymalnie pakietów może wysłać klient (tzn. ty, graczu że swojej maszyny) do serwera.&lt;br /&gt;
*numer oznacza liczbę pakietów na sekundę&lt;br /&gt;
Oczywiście więcej znaczy lepiej - szybciej serwer zareaguje na twoje reakcje.&lt;br /&gt;
Traktuj to mniej więcej tak - im większa wartość tym mniejszy poślizg pomiędzy naciśnięciem fire a wysłaniem pakietu.&lt;br /&gt;
&lt;br /&gt;
Jak masz dobre łącze i siedzisz na łączu sam to spoko możesz zwiększyć.&lt;br /&gt;
Jak współdzielisz z kimś łącze (np. neo na 2 osoby) to zbyt wysokie wartości u obu graczy będą powodować nagle lagi i ping spike.&lt;br /&gt;
Wartość maksymalna zależy tu od tego jaki masz upstream do provider'a - czyli ile możesz wysłać w internet.&lt;br /&gt;
&lt;br /&gt;
W idealnym przypadku ta komenda powinna się równać liczbie fps serwera!!! a nie klienta.&lt;br /&gt;
Jak wyślesz więcej pakietów to serwer je po prostu zignoruje bo nie będzie wyrabiać.&lt;br /&gt;
Tak więc za wysokie wartości nie zaszkodzą ale tylko będą marnować twoje łącze :D&lt;br /&gt;
'''Rekomendujemy''' cl_cmdrate równe fps serwera lub trochę większe.&lt;br /&gt;
&lt;br /&gt;
Dlatego na serwerach linuksowych często jest 50 a na widowsowych 70&lt;br /&gt;
oczywiście jak serwer ma więcej fps to walimy 100 i się cieszymy&lt;br /&gt;
&lt;br /&gt;
==cl_updaterate==&lt;br /&gt;
*podobna do poprzedniej komendy ale działa w odwrotnym kierunku.&lt;br /&gt;
*numer definiuje maksymalna liczbę pakietów na sekundę jaka ty możesz otrzymać od serwera.&lt;br /&gt;
*więcej znaczy lepiej ale też zwiększa użycie łącza.&lt;br /&gt;
&lt;br /&gt;
traktuj to jak efekt błyskawicy - ktoś strzela to następuje błysk (widoczny dla serwera natychmiast),&lt;br /&gt;
jednakże ty jesteś nastawiony na grzmot.&lt;br /&gt;
im większa wartość tym szybciej do ciebie grzmot dojdzie (wiem wiem, łopatologicznie...)&lt;br /&gt;
&lt;br /&gt;
*Po prostu szybciej będziesz mógł zareagować.&lt;br /&gt;
*Dodatkowo daje to dokładniejsze informacje o rzeczywistym położeniu przeciwników, trafień po kulach itp.&lt;br /&gt;
&lt;br /&gt;
*Wartość maksymalna zależy od twojego downstream'u czyli jak szybko możesz zasysać od provider'a.&lt;br /&gt;
Przeważnie ta wartość (mam na myśli downstream) jest 4x większa od twojego upstream'u&lt;br /&gt;
Dlatego czasem cl_updaterate jest większy 4 razy od cmdate&lt;br /&gt;
&lt;br /&gt;
*Minimalna wartość jest 10 (dlatego ex_interp ma 0.1, patrz niżej)&lt;br /&gt;
&lt;br /&gt;
Kiedyś myślano że cl_updaterate trza walnąć na 101 i zjeżdżać w dół z wartościami aż będziemy mieli w miarę niski&lt;br /&gt;
i zadowalający choke (prawie zero ale może być 2...3)&lt;br /&gt;
choke widać na net_graph 3&lt;br /&gt;
&lt;br /&gt;
Jednak cały system cl_updaterate jest bardziej złożony.&lt;br /&gt;
np. serwery CAL dają sv_maxupdaterate 101 więc normalnie każdy by se tyle dal na kliencie.&lt;br /&gt;
w teorii jest to poprawne jednak praktyka się tu rozmija.&lt;br /&gt;
&lt;br /&gt;
Większość serwerów nie wyciąga 100fps aby obliczyć te właśnie 100 updaterate na sekundę.&lt;br /&gt;
oznacza to że nie ma szans aby serwer tyle wysłał w rzeczywistości.&lt;br /&gt;
&lt;br /&gt;
Pomyślisz - walnę se 101 updaterate i tak czy siak tyle max pakietów dostanę.&lt;br /&gt;
&lt;br /&gt;
Jak u siebie dasz cl_updaterate 101 to ex_interp będzie 0.009ms - spodziewa się gra że będziesz miał pakiety co 9ms&lt;br /&gt;
i wszystko będzie cacy.&lt;br /&gt;
Jednakże serwer ma 50 fps czyli maksymalnie puści 50 pakietów!!! tak więc 2 razy mniej.&lt;br /&gt;
Co się stanie?&lt;br /&gt;
Pakiety przychodzą za rzadko i gra nie ma z czego interpolować położenia graczy - masz efekt skaczących modeli.&lt;br /&gt;
No dobra. dajmy na to że zjadę na 70 - efekt skaczących modeli spadnie.&lt;br /&gt;
Oczywiście idealnie jak będziemy mieli cl_updaterate 50 - wtedy interp będzie 0.02 i modele nie powinny aż tak skakać (tylko z rzadka z powodu lagów)&lt;br /&gt;
&lt;br /&gt;
*Ponieważ klient bez rcon'a nie ma jak sprawdzić ile serwer ma fps i se dobrze dobrać tę zmienną, trzeba zgadywać.&lt;br /&gt;
&lt;br /&gt;
Na szczęście można to zrobić doświadczalnie w prosty sposób.&lt;br /&gt;
1. zacznij z cl_updaterate 101, ex_interp 0&lt;br /&gt;
2. zjeżdżaj z cl_updaterate w dol. (mniej więcej o 10 ) aż zauważysz że modele aż tak bardzo nie skaczą. (tylko z rzadka z powodu zmiany pinga, lagów itp.)&lt;br /&gt;
&lt;br /&gt;
Oczywiście &amp;quot;bardzo nie skaczą&amp;quot; to kwestia gustu.&lt;br /&gt;
Dopóki ex_interp = 1/cl_updaterate modele będą na swoich rzeczywistych miejscach.&lt;br /&gt;
&lt;br /&gt;
Oznacza to że każdy serwer będzie miał swoje własne ustawienia cl_updaterate zależne od ilości graczy/łącza/fps - po prostu ile w danej chwili serwer może z siebie wycisnąć.&lt;br /&gt;
Nie bójmy się zejść z wartościami poniżej updaterate 50 bo tak czy siak interpolacja będzie działać.&lt;br /&gt;
&lt;br /&gt;
No dobra, ktoś pomyśli, ale ja wezmę updaterate 20 i będę szedł w gore.&lt;br /&gt;
No to nie jest dobry pomysł bo ex_interp = 1/cl_updaterate.&lt;br /&gt;
Jak mamy 20 to ex_interp = 1/20 = 0.05 &lt;br /&gt;
a jak zwierzymy na 50 to mamy ex_interp = 1/50 = 0.02&lt;br /&gt;
a ex intern 0.05 &amp;gt; 0.02 a H-L domyślnie nie zmniejsza sam z siebie interna.&lt;br /&gt;
wtedy musisz wystukać za kadmy razem ex_interp 0 ręcznie aby obliczyć go.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tak więc widać że istnieje zależność pomiędzy serwer fps, cl_udpaterate i ex_interp 0 razem.&lt;br /&gt;
najlepiej mieć updaterate równy fps serwera a ex_interp 0&lt;br /&gt;
&lt;br /&gt;
'''Rekomendacja:'''&lt;br /&gt;
cl_updaterate równy fps serwera i nie większy od sv_maxupdaterate.&lt;br /&gt;
&lt;br /&gt;
Końcowa notka: wiele serwerów używa sv_maxupdaterate 30 tak więc cl_updaterate 30 będzie wtedy wartością najlepszą w&lt;br /&gt;
takiej sytuacji.&lt;br /&gt;
&lt;br /&gt;
==sv_maxupdaterate==&lt;br /&gt;
*Jak cl_maxupdaterate ale dziala na serwer - ile klient maksymalnie może przyjąć od serwera.&lt;br /&gt;
*Szczególnie użyteczna jak serwer nie ma za dobrego łącza.&lt;br /&gt;
*Numer oznacza liczbę pakietów na sekundę jaką serwer może wysłać na sekundę do klienta.&lt;br /&gt;
* przeważnie daje się sv_maxupdaterate 101.&lt;br /&gt;
Dlatego jeśli klient ma cl_updaterate 100, a serwer ma sv_maxupdaterate 50,&lt;br /&gt;
to ten klient i tak nie dostanie więcej niż. te 50.&lt;br /&gt;
&lt;br /&gt;
''Rekomendujemy'' zmieniać jeśli pozwana na to łącze serwera i jego moc procesora.&lt;br /&gt;
&lt;br /&gt;
==sys_ticrate==&lt;br /&gt;
*Definiuje ile maksymalnie tików na sekundę serwer może przetworzyć. Przekłada się to nie bezpośrednio na ilość klatek na sekundą jakie wyciąga serwer.&lt;br /&gt;
*Domyślnie jest 100, maksymalnie 10 000.&lt;br /&gt;
&lt;br /&gt;
Po co to komu?&lt;br /&gt;
&lt;br /&gt;
Miedzy innymi więcej fps daje ci lepsze poczucie gry.&lt;br /&gt;
Serwery normalnie maja około 50fps na linuksie i 64 na windowsach - ale czasem spada to do 20-30 to już słabo.&lt;br /&gt;
Dobre serwery maja tak ustawione ten ticrate aby fps się wahało w granicy 150-180 fps(tzn. ogólnie do 200fps).&lt;br /&gt;
Więcej i tak ci nic nie da bo nie zauważysz.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Jak nikogo na serwerze nie ma to powinieneś mieć około 100 albo 60 fps - serwer po prostu nic nie robi jak nikogo na serwerze nie ma, i dopiero zaczyna się grzać jak wejdzie ktoś na serwer. Więc zawsze sprawdzaj fps z graczami na serwerze.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Czasem ta komenda nie działa na niektórych platformach.&lt;br /&gt;
*Im większy ticrate tym większe użycie procesora.&lt;br /&gt;
Czasem na mapach de_inferno i de_aztec użycie procka skacze czasem do szalonych wartości - ale to mowie - czasem.&lt;br /&gt;
Oczywiście najlepiej aby mieć w miarę stabilny poziom fps - bo skoki z 100 do 500 i po chwili znowu na 100 nie sa&lt;br /&gt;
przyjemne i wszystko raczej działa gorzej - to zależy od hardware'u&lt;br /&gt;
Więc lepiej aby mieć mniej ale z mniejszymi fluktuacjami.&lt;br /&gt;
&lt;br /&gt;
*Jak masz dostęp do rcon to możesz sprawdzić aktualne fps na serwerze wpisując&lt;br /&gt;
 rcon stats&lt;br /&gt;
Aby sprawdzić jakiego kopa dostanie serwer na chwile włącz&lt;br /&gt;
 rcon sys_ticrate 10000&lt;br /&gt;
Jest teraz sprawdzisz rcon stats i twój serwer ma powyżej 100fps to znaczy że boosting działa i się ciesz, inaczej szukaj innych metod poprawy działania sprzętu&lt;br /&gt;
&lt;br /&gt;
*Zawsze sprawdź statsy kilka razy.&lt;br /&gt;
&lt;br /&gt;
Znajdowanie optymalnej wartości wymaga trochę eksperymentów.&lt;br /&gt;
Najpierw sprawdź czy serwer jest boots'owany, bo inaczej nic ci to nie da.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;Pamiętaj że podnoszenie fps powyżej 200 jest zbyteczne ze względów możliwości samej gry i łączy internetowych.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dodatkowo wyciskanie za dużo fps na maszynie która ma kilka serwerów hlds na sobie jest niekorzystne dla innych serwerów - spowoduje to tylko pogorszenie gry na obu serwerach bo procesor nie będzie wyrabiał. Nie zapominaj że często na serwerach działa też www , mail i ftp.&lt;br /&gt;
&lt;br /&gt;
Nie każdy wie że czasem serwer fps wskazuje na niektóre tylko wartości albo po prostu działa na innych&lt;br /&gt;
np. na jednej z maszyn zaobserwowano że fps układają się tak: 85, 102, 128, 170, 256 ...&lt;br /&gt;
i żadnych fps (liczb) miedzy nimi.&lt;br /&gt;
&lt;br /&gt;
Więc jak damy w tym przypadku sys_ticrate 100 to serwer będzie działał na prędkości niższej niż zapodana&lt;br /&gt;
w tym wypadku będzie to 85 fps&lt;br /&gt;
&lt;br /&gt;
Dlatego lepiej jest dawać sys_ticrate zwiększone o 20 do 50 fps niż. tę którą chcesz osiągnąć&lt;br /&gt;
np. może się zdarzyć że masz sys_ticrate 150 a serwer będzie wyciągał tylko 128 fps.&lt;br /&gt;
&lt;br /&gt;
rekomendowane:&lt;br /&gt;
sys_ticrate 110 - 180 w zależności od możliwości twojego sprzętu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' sys_ticrate 125, ale lepiej nie przekraczać 200.&lt;br /&gt;
&lt;br /&gt;
==fps_max==&lt;br /&gt;
*ustawia maksymalna ilość FPS jakie ma serwer wyciągać, ale działa także u gracza, tzn jest to zarówno zmienna klienta jak i serwera. Zależy ona od sys_ticrate  -im większe sys_ticrate tym większe fps_max można wycisnąć. Domyślnie serwera stara się wycisnąć 100fps przy pełnym obciążeniu. Jednakże nieraz ta wartość spada jak serwer nie wyrabia.&lt;br /&gt;
* ustawiamy pewna wartość jak poniżej ( wartośc 100 jest wartością domyślną na serwerach) w [[server.cfg]]&lt;br /&gt;
 fps_max 100&lt;br /&gt;
* nie opłaca się ustawiać raczej fps więcej niż 200, w rzeczywistości aktualnie zoptymalizowane binarki HLDS spokojnie wyciągają i działają ładnie na fps_max 125&lt;br /&gt;
* ilość fps na serwerze zależy od ilości graczy, i można ją sprawdzić komendą '''stats'''&lt;br /&gt;
*pamiętaj, że jak nikogo na serwerze nie ma albo jest jeden gracz to ilość fps będzie różnie skakać i nie osiągnie wartości 100 -  dlatego ilość fps sprawdzaj najlepiej przy pełnym obciążeniu serwera.&lt;br /&gt;
==ex_interp==&lt;br /&gt;
*interpolacja czyli przybliżenie wartości korzystając z co najmniej 2 wartości granicznych&lt;br /&gt;
np. średnia ocen w szkole to interpolacja .... :D&lt;br /&gt;
* często blokowany prze [[HLGuard]] w celu zapobieganiu nadużyciom (dość często niesłusznie blokowany).&lt;br /&gt;
Czemu to służy?&lt;br /&gt;
W idealnym ustawieniu miałbyś nieskończoną liczbę synchronizacji i byś wiedział gdzie jest przeciwnik.&lt;br /&gt;
Oczywiste internet na to ci nie pozwoli i dostaniesz tylko skończoną liczbę pakietów.&lt;br /&gt;
Najłatwiej tu jest się posłużyć interpolacją koła.&lt;br /&gt;
Masz kolo - idealny kształt rzeczywisty. Ale ty masz skończoną liczbę kresek do wykorzystania.&lt;br /&gt;
tak więc wpisujesz wielokąt foremny aby jak najbardziej upodobnić go do kola&lt;br /&gt;
Z daleka patrząc nie zauważysz różnicy czy masz wielokąt o 100 bokach czy kolo no ale jak usiądziesz z lupa to się kapniesz :D&lt;br /&gt;
Przeważnie w CS mamy wielokąt o 20 bokach no i tu widać że nie zawsze pozycja gracza jest pozycja realna gracza.&lt;br /&gt;
&lt;br /&gt;
Na szczęście do gry to starcza gdyż działa interpolacja - wszelkie pozycje gdzie nie masz informacji gdzie się znajduje gracz sa interpolowane.&lt;br /&gt;
Po prostu modele na ekranie nie skaczą, tylko poruszają się płynnie bo są interpolowane bazując na pakietach jakie otrzymujesz od serwera.&lt;br /&gt;
&lt;br /&gt;
*Oznacza to przedział czasowy do wykorzystania przez grę - jako ułamek sekundy.&lt;br /&gt;
Domyślnie jest to maksymalnie 0.1 Czyli 100 ms - oznacza to że jeśli nie dostaniesz pakietu o położeniu gracza w ciągu 100ms to H-L będzie&lt;br /&gt;
Obliczał gdzie on się znajduje.&lt;br /&gt;
&lt;br /&gt;
*Normalnie ex_interp powinien być równy lub troszkę większy od 1/cl_updaterate&lt;br /&gt;
*Niektórzy rekomendują ex_interp 0&lt;br /&gt;
wtedy H-L sam obliczy tę wartość i ci powie że &amp;quot;ex_interp forced to msec&amp;quot;&lt;br /&gt;
tylko że jest problem&lt;br /&gt;
#jak zmieniasz jakkolwiek cl_updaterate to potem musisz wywołać ex_interp 0 aby to obliczył&lt;br /&gt;
#jak masz ex_interp 0 to modela mogą zacząć skakać - bo pakiety się spóźniają, to normalne.&lt;br /&gt;
&lt;br /&gt;
Maksymalnie ex_interp ma 0.1 czyli 100 milisekund - to jest dużo.&lt;br /&gt;
Najczęściej jak masz cl_updaterate 20 to masz ex_interp 0.05 - oczywiście im większy update tym mniejsza liczba&lt;br /&gt;
&lt;br /&gt;
Niektórzy tylko rekomendują operowanie cl_updaterate i zostawianie ex_interp'a w spokoju aby sam się kalkulował... no ale jesteśmy na polskich łączach...&lt;br /&gt;
&lt;br /&gt;
*Czasem wartości ex_interp ponizej 1/cl_updaterate nie da się ustawić.&lt;br /&gt;
Czasem wartości powyżej 1/cl_updaterate są uważane za exploit gdyż powoduje to, że musisz strzelać za rzeczywistym modelem - dlatego jest efekt spóźniony headshot'ów - koleś przebiegł, ty strzeliłeś gdzie on &amp;quot;był&amp;quot; i dostał heda, a krew sika z pustki&lt;br /&gt;
&lt;br /&gt;
Ja sugeruje popatrzeć ile ex_interp 0 wyliczy i potem dodać ręcznie +0.01,&lt;br /&gt;
np. cl_updatertae 20 =&amp;gt; ex_interp 0.05,&lt;br /&gt;
dodajemy i mamy ex_interp 0.06&lt;br /&gt;
efektu spóźnionych hedow nie powinno być tak wiele i modele nie powinny aż tak bardzo skakać - no chyba że lagi :D.&lt;br /&gt;
Natomiast modele nie biegają na tyle wcześnie aby inni uważali że oszukujesz.&lt;br /&gt;
Ja uważam że dodanie 0.01 to nie jest expliotem bo netcode nie jest idealny, szczególnie jak na polskie warunki&lt;br /&gt;
&lt;br /&gt;
Moim zdaniem exploitem jest jak gracz ma cl_updaterate 101 i wtedy powinien mieć ex_interp 0.009 (no powiedzmy 0.01) a w rzeczywistości używa ex_interp 0.1 czyli 10x wiekszego!!!&lt;br /&gt;
&lt;br /&gt;
'''Rekomendacja''' ostateczna &lt;br /&gt;
ex_interp 0.1 czyli nie dotykać -  wtedy HLGuard i hego blokowanie zmiennych nie będzie tak uciążliwe.&lt;br /&gt;
&lt;br /&gt;
==rate==&lt;br /&gt;
Jest to ile bajtow mozesz przeslac do serwera. maksymalnie jest 20000, bo wyzej H-L nie wyciagnie.&lt;br /&gt;
standardowo jest chyba 5000 albo i mniej ale np. clanbase uzywa 9999.&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' zatem albo 9999 albo 20000 jesli serwer pozwala, ew jeśli masz słabe łącze to nie więcej niż 80% twojego uploadu.&lt;br /&gt;
&lt;br /&gt;
==sv_maxrate==&lt;br /&gt;
Domyslnie jest rowne 0 co nie oznacza że jest najlepiej.&lt;br /&gt;
&lt;br /&gt;
Dlaczego?&lt;br /&gt;
sv_maxrate 0 wykryje rate kazdego gracza i bedzie się staralo spełnic wymogi gracza.&lt;br /&gt;
&lt;br /&gt;
Teraz zalozmy że H-L daje mozliwosc dania rate powyzej 20 kafli, a jakis gracz ma fantazje i walnie ostra wartosc np. 9999999999 (kosmiczna liczba).&lt;br /&gt;
Serwer w tym przypadku probowalby wypchac te kosmiczna ilosc danych do tego gracza i tylko by marnowal lacze do tej osoby bo i tak tyle nie wysle, a reszta bedzie lagowana bo nie dostanie nic.&lt;br /&gt;
&lt;br /&gt;
*Dodatkowo, dzięki ustawieniu wartośći sv_maxrate możemy przewidywać maksymalne uzycie łącza na miesiąc - jesli płacimy z atransfer w GB.&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' dlatego ustawiac sv_maxrate na 20000.&lt;br /&gt;
&lt;br /&gt;
=LAN=&lt;br /&gt;
No a jak grac na LAN'ie?&lt;br /&gt;
&lt;br /&gt;
organizacje typu [[CPL]] uzywaja cl_updaterate 101 gdyz to się wiąze z jakoscia posiadanych przez nich serwerów - silne maszyny z booster'ami na bardzo dobrych łączach.&lt;br /&gt;
&lt;br /&gt;
Aby latwo się przekonac czy serwer na lanie jest z booster'em - popatrz na ping graczy z lan'u.&lt;br /&gt;
*normalny serwer bez booster'a na 60-65 fps powoduje że gracze maja pingi powyzej 15ms.&lt;br /&gt;
*jak serwer ma więcej fps ( np ma booster'a)  to pingi sa o wiele mniejsze - przewaznie w granicy 5ms.&lt;br /&gt;
&lt;br /&gt;
Wiadomo że CPL, ESWC i WCG uzywaja serwerow z booster'ami bo ich na to stać.&lt;br /&gt;
&lt;br /&gt;
=Podziękowania=&lt;br /&gt;
Podziękowania dla:&lt;br /&gt;
*Alfred Reynolds, Valve Software&lt;br /&gt;
*Yahn Bernier, Valve Software&lt;br /&gt;
*Zibbo, UDPSoft&lt;br /&gt;
*The HLDS Mailing Lists&lt;br /&gt;
*The http://server.counter-strike.net forums&lt;br /&gt;
&lt;br /&gt;
translated from english by _KaszpiR_&lt;br /&gt;
&lt;br /&gt;
9 May 2004&lt;/div&gt;</summary>
		<author><name>D4rk</name></author>	</entry>

	<entry>
		<id>http://hlds.pl/CS_1.6_Netcode_Po_Polsku</id>
		<title>CS 1.6 Netcode Po Polsku</title>
		<link rel="alternate" type="text/html" href="http://hlds.pl/CS_1.6_Netcode_Po_Polsku"/>
				<updated>2007-07-06T11:57:52Z</updated>
		
		<summary type="html">&lt;p&gt;D4rk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[kategoria:HLDS]]&lt;br /&gt;
[[kategoria:E-Sport]]&lt;br /&gt;
[[Kategoria:Netcode]]&lt;br /&gt;
=Wstęp=&lt;br /&gt;
Trochę stary artykuł, będę musiał go odkurzyć z debilizmów, więc się będzie zmieniał co jakiś czas.&lt;br /&gt;
&lt;br /&gt;
--[[Użytkownik:KaszpiR|KaszpiR]] 15:52, 9 sie 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
=Historia=&lt;br /&gt;
CS 1.6 Netcode Explained po Polsku (tłumaczenie by _KaszpiR_ http://nvt.prv.pl )&lt;br /&gt;
&lt;br /&gt;
Artykuł był najpierw dostępny ogólnie na Gotfrag.&lt;br /&gt;
Następnie stal się tzw Primie - czyli widocznym tylko dla zarejestrowanych.&lt;br /&gt;
Cóż, ale http://google.com przeszło przez niego i zrobiło cache - dlatego bez obrazka, ale liczy się treść.&lt;br /&gt;
&lt;br /&gt;
A ja pozwoliłem sobie to przetłumaczyć, ale bez zbytniego lania wody zostawiając esencje. Dodatkowo trochę zmieniłem układ aby treść nie była tak poszatkowana jak w oryginale - więc opisy zmiennych/komend są razem a nie osobno (co wprowadzało w pewne zakłopotanie co poniektórych :D )&lt;br /&gt;
&lt;br /&gt;
*''Originally by:''' Jon MellinBy, Submitted by: Jason, last updated April 7 2004 at 4:34 PM EDT Gotfrag http://www.gotfrag.net&lt;br /&gt;
CS Netcode Explained&lt;br /&gt;
&lt;br /&gt;
=Opis=&lt;br /&gt;
*W artykule zapoznasz się z tzw. netkodem gry [[Half-Life]], czyli ta częścią gry która odpowiada za protokół sieciowy itp.&lt;br /&gt;
Mam nadzieje, że pomoże ci on lepiej ustawić wartości aby osiągnąć lepsze wyniki w grze, jak i usprawnić serwer.&lt;br /&gt;
&lt;br /&gt;
*'''Notka:''' Komendy/zmienne zaczynające się od sv_ czy też sys_ są komendami/zmiennymi działającymi tylko na serwerze - dedykowanym czy tzw listen.&lt;br /&gt;
Wykonanie powyższych komend w konsoli u klienta zwróci ustawienia na lokalnym komputerze a nie na serwerze.&lt;br /&gt;
Dlatego też trzeba te komendy wpisywać albo w konsoli hlds bezpośrednio (jak jest na screen'ie itp., albo wraz z użyciem komendy rcon,&lt;br /&gt;
albo z żzyciem rcon zastępczych komend/aplikacji działających na serwer - mam tu na myśli komendy typu amx_rcon czy cm_rcon.&lt;br /&gt;
&lt;br /&gt;
Zależność miedzy komenda ex_interp a cl_updaterate jest bardzo ważna i prosimy nie czytać tylko jednego opisu,&lt;br /&gt;
tylko przeczytać też info o drugiej komendzie.&lt;br /&gt;
Ogólnie przeczytaj wszystko aby mieć ogólny zarys tego, co się dzieje jak się bawimy kilkoma komendami na raz.&lt;br /&gt;
&lt;br /&gt;
Artykuł oryginalnie był napisany dla osób o szerokopasmowym dostępie do internetu.&lt;br /&gt;
W naszych warunkach czytaj - coś lepszego niż SDI, najlepiej Neostrada i temu podobne.&lt;br /&gt;
&lt;br /&gt;
*Najpierw ogólny opis komend/zmiennych a potem szczegóły, więc się nie wkurzać że 2x to samo czytacie - oryginalny artykuł był bardziej poszatkowany.&lt;br /&gt;
&lt;br /&gt;
=Ogólnie o zmiennych=&lt;br /&gt;
==cl_cmdrate==&lt;br /&gt;
*definiuje ile maksymalnie pakietów może wysłać klient (tzn. ty, graczu że swojej maszyny) do serwera.&lt;br /&gt;
*numer oznacza liczbę pakietów na sekundę&lt;br /&gt;
Oczywiście więcej znaczy lepiej - szybciej serwer zareaguje na twoje reakcje.&lt;br /&gt;
Traktuj to mniej więcej tak - im większa wartość tym mniejszy poślizg pomiędzy naciśnięciem fire a wysłaniem pakietu.&lt;br /&gt;
&lt;br /&gt;
Jak masz dobre łącze i siedzisz na łączu sam to spoko możesz zwiększyć.&lt;br /&gt;
Jak współdzielisz z kimś łącze (np. neo na 2 osoby) to zbyt wysokie wartości u obu graczy będą powodować nagle lagi i ping spike.&lt;br /&gt;
Wartość maksymalna zależy tu od tego jaki masz upstream do provider'a - czyli ile możesz wysłać w internet.&lt;br /&gt;
&lt;br /&gt;
W idealnym przypadku ta komenda powinna się równać liczbie fps serwera!!! a nie klienta.&lt;br /&gt;
Jak wyślesz więcej pakietów to serwer je po prostu zignoruje bo nie będzie wyrabiać.&lt;br /&gt;
Tak więc za wysokie wartości nie zaszkodzą ale tylko będą marnować twoje łącze :D&lt;br /&gt;
'''Rekomendujemy''' cl_cmdrate równe fps serwera lub trochę większe.&lt;br /&gt;
&lt;br /&gt;
Dlatego na serwerach linuksowych często jest 50 a na widowsowych 70&lt;br /&gt;
oczywiście jak serwer ma więcej fps to walimy 100 i się cieszymy&lt;br /&gt;
&lt;br /&gt;
==cl_updaterate==&lt;br /&gt;
*podobna do poprzedniej komendy ale działa w odwrotnym kierunku.&lt;br /&gt;
*numer definiuje maksymalna liczbę pakietów na sekundę jaka ty możesz otrzymać od serwera.&lt;br /&gt;
*więcej znaczy lepiej ale też zwiększa użycie łącza.&lt;br /&gt;
&lt;br /&gt;
traktuj to jak efekt błyskawicy - ktoś strzela to następuje błysk (widoczny dla serwera natychmiast),&lt;br /&gt;
jednakże ty jesteś nastawiony na grzmot.&lt;br /&gt;
im większa wartość tym szybciej do ciebie grzmot dojdzie (wiem wiem, łopatologicznie...)&lt;br /&gt;
&lt;br /&gt;
*Po prostu szybciej będziesz mógł zareagować.&lt;br /&gt;
*Dodatkowo daje to dokładniejsze informacje o rzeczywistym położeniu przeciwników, trafień po kulach itp.&lt;br /&gt;
&lt;br /&gt;
*Wartość maksymalna zależy od twojego downstream'u czyli jak szybko możesz zasysać od provider'a.&lt;br /&gt;
Przeważnie ta wartość (mam na myśli downstream) jest 4x większa od twojego upstream'u&lt;br /&gt;
Dlatego czasem cl_updaterate jest większy 4 razy od cmdate&lt;br /&gt;
&lt;br /&gt;
*Minimalna wartość jest 10 (dlatego ex_interp ma 0.1, patrz niżej)&lt;br /&gt;
&lt;br /&gt;
Kiedyś myślano że cl_updaterate trza walnąć na 101 i zjeżdżać w dół z wartościami aż będziemy mieli w miarę niski&lt;br /&gt;
i zadowalający choke (prawie zero ale może być 2...3)&lt;br /&gt;
choke widać na net_graph 3&lt;br /&gt;
&lt;br /&gt;
Jednak cały system cl_updaterate jest bardziej złożony.&lt;br /&gt;
np. serwery CAL dają sv_maxupdaterate 101 więc normalnie każdy by se tyle dal na kliencie.&lt;br /&gt;
w teorii jest to poprawne jednak praktyka się tu rozmija.&lt;br /&gt;
&lt;br /&gt;
Większość serwerów nie wyciąga 100fps aby obliczyć te właśnie 100 updaterate na sekundę.&lt;br /&gt;
oznacza to że nie ma szans aby serwer tyle wysłał w rzeczywistości.&lt;br /&gt;
&lt;br /&gt;
Pomyślisz - walnę se 101 updaterate i tak czy siak tyle max pakietów dostanę.&lt;br /&gt;
&lt;br /&gt;
Jak u siebie dasz cl_updaterate 101 to ex_interp będzie 0.009ms - spodziewa się gra że będziesz miał pakiety co 9ms&lt;br /&gt;
i wszystko będzie cacy.&lt;br /&gt;
Jednakże serwer ma 50 fps czyli maksymalnie puści 50 pakietów!!! tak więc 2 razy mniej.&lt;br /&gt;
Co się stanie?&lt;br /&gt;
Pakiety przychodzą za rzadko i gra nie ma z czego interpolować położenia graczy - masz efekt skaczących modeli.&lt;br /&gt;
No dobra. dajmy na to że zjadę na 70 - efekt skaczących modeli spadnie.&lt;br /&gt;
Oczywiście idealnie jak będziemy mieli cl_updaterate 50 - wtedy interp będzie 0.02 i modele nie powinny aż tak skakać (tylko z rzadka z powodu lagów)&lt;br /&gt;
&lt;br /&gt;
*Ponieważ klient bez rcon'a nie ma jak sprawdzić ile serwer ma fps i se dobrze dobrać tę zmienną, trzeba zgadywać.&lt;br /&gt;
&lt;br /&gt;
Na szczęście można to zrobić doświadczalnie w prosty sposób.&lt;br /&gt;
1. zacznij z cl_updaterate 101, ex_interp 0&lt;br /&gt;
2. zjeżdżaj z cl_updaterate w dol. (mniej więcej o 10 ) aż zauważysz że modele aż tak bardzo nie skaczą. (tylko z rzadka z powodu zmiany pinga, lagów itp.)&lt;br /&gt;
&lt;br /&gt;
Oczywiście &amp;quot;bardzo nie skaczą&amp;quot; to kwestia gustu.&lt;br /&gt;
Dopóki ex_interp = 1/cl_updaterate modele będą na swioch rzeczywistych miejscach.&lt;br /&gt;
&lt;br /&gt;
Oznacza to że każdy serwer będzie miał swoje własne ustawienia cl_updaterate zależne od ilości graczy/łącza/fps - po prostu ile w danej chwili serwer może z siebie wycisnąć.&lt;br /&gt;
Nie bójmy się zejść z wartościami poniżej updaterate 50 bo tak czy siak interpolacja będzie działać.&lt;br /&gt;
&lt;br /&gt;
No dobra, ktoś pomyśli, ale ja wezmę updaterate 20 i będę szedł w gore.&lt;br /&gt;
No to nie jest dobry pomysł bo ex_interp = 1/cl_updaterate.&lt;br /&gt;
Jak mamy 20 to ex_interp = 1/20 = 0.05 &lt;br /&gt;
a jak zwierzymy na 50 to mamy ex_interp = 1/50 = 0.02&lt;br /&gt;
a ex intern 0.05 &amp;gt; 0.02 a H-L domyślnie nie zmniejsza sam z siebie interna.&lt;br /&gt;
wtedy musisz wystukać za kadmy razem ex_interp 0 recznie aby obliczyć go.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tak więc widać że istnieje zależność pomiędzy serwer fps, cl_udpaterate i ex_interp 0 razem.&lt;br /&gt;
najlepiej mieć updaterate równy fps serwera a ex_interp 0&lt;br /&gt;
&lt;br /&gt;
'''Rekomendacja:'''&lt;br /&gt;
cl_updaterate równy fps serwera i nie większy od sv_maxupdaterate.&lt;br /&gt;
&lt;br /&gt;
Końcowa notka: wiele serwerów używa sv_maxupdaterate 30 tak więc cl_updaterate 30 będzie wtedy wartością najlepszą w&lt;br /&gt;
takiej sytuacji.&lt;br /&gt;
&lt;br /&gt;
==sv_maxupdaterate==&lt;br /&gt;
*Jak cl_maxupdaterate ale dziala na serwer - ile klient maksymalnie moze przyjąć od serwera.&lt;br /&gt;
*Szczegolnie uzyteczna jak serwer nie ma za dobrego lacza.&lt;br /&gt;
*Numer oznacz liczbe pakietow na sekunde jaka serwer moze wyslac na sekundę do klienta.&lt;br /&gt;
* przeważnie daje się sv_maxupdaterate 101.&lt;br /&gt;
Dlatego jesli klient ma cl_updaterate 100, a serwer ma sv_maxupdaterate 50,&lt;br /&gt;
to ten klient i tak nie dostanie wiecej niz. te 50.&lt;br /&gt;
&lt;br /&gt;
''Rekomendyujemy'' zmieniać jaeśli pozwana na to łącze serwera i jego moc procesora.&lt;br /&gt;
&lt;br /&gt;
==sys_ticrate==&lt;br /&gt;
*Definiuje ile maksymalnie tików na sekundę serwer może przetworzyć. Przekłada się to nie bezpośrednio na ilość klatek na sekundą jakie wyciaga serwer.&lt;br /&gt;
*Domyslnie jest 100, maksymalnie 10 000.&lt;br /&gt;
&lt;br /&gt;
Po co to komu?&lt;br /&gt;
&lt;br /&gt;
Miedzy innymi wiecej fps daje ci lepsze poczucie gry.&lt;br /&gt;
Serwery normalnie maja okolo 50fps na linuksie i 64 na widowsach - ale czasem spada to do 20-30 to juz slabo.&lt;br /&gt;
Dobre serwery maja tak ustawione ten ticrate aby fps się wahalo w granicy 150-180 fps(tzn. ogolnie do 200fps).&lt;br /&gt;
Wiecej i tak ci nic nie da bo nie zauwazysz.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Jak nikogo na serwerze nie ma to powinenes mieć koloło 100 albo 60 fps - serwer po prsotu nic nie robi jak nikogo na serwerze nie ma, i dopiero zaczyna się grzać jak wejdzie ktoś na serwer. Więc zawsze sprawdzaj fps z graczami na serwerze.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Czasem ta komenda nie działa na niektórych platformach.&lt;br /&gt;
*Im większy ticrate tym większe użycie procesora.&lt;br /&gt;
Czasem na mapach de_inferno i de_aztec użycie procka skacze czasem do szalonych wartosci - ale to mowie - czasem.&lt;br /&gt;
Oczywiście najlepiej aby mieć w miarę stabilny poziom fps - bo skoki z 100 do 500 i po chwili znowu na 100 nie sa&lt;br /&gt;
przyjemne i wszystko raczej działa gorzej - to zależy od hardware'u&lt;br /&gt;
Wiec lepiej aby miec mniej ale z mniejszymi fluktuacjami.&lt;br /&gt;
&lt;br /&gt;
*Jak masz dostęp do rcon to możesz sprawdzić aktualne fps na serwerze wpisując&lt;br /&gt;
 rcon stats&lt;br /&gt;
Aby sprawdzić jakiego kopa dostanie serwer na chwile włącz&lt;br /&gt;
 rcon sys_ticrate 10000&lt;br /&gt;
Jest teraz sprawdzisz rcon stats i twój serwer ma powyżej 100fps to znaczy że boosting działa i się ciesz, inaczej szukaj innych metod poprawy działania sprzętu&lt;br /&gt;
&lt;br /&gt;
*Zawsze sprawdź statsy kilka razy.&lt;br /&gt;
&lt;br /&gt;
Znajdowanie optymalnej wartosci wymaga troche eksperymentow.&lt;br /&gt;
Najpierw sprawdz czy serwer jest boots'owany, bo inaczej nic ci to nie da.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;Pamiętaj że podnoszenie fps powyżej 200 jest zbyteczne ze względów możliwości samej gry i łączy internetowych.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dodatkowo wyciskanie za dużo fps na maszynie która ma kilka serwerów hlds na sobie jest niekorzystne dla innych serwerów - spowoduje to tylko pogorszenie gry na obu serwerach bo procesor nie bedzie wyrabial. Nie zapominaj że często na serwerach działa też www , mail i ftp.&lt;br /&gt;
&lt;br /&gt;
Nie kazdy wie że czasem serwer fps wskazuje na niektore tylko wartosci albo po prostu dziala na innych&lt;br /&gt;
np. na jednej z maszyn zaobserwowano że fps ukladaja się tak: 85, 102, 128, 170, 256 ...&lt;br /&gt;
i zadnych fps (liczb) miedzy nimi.&lt;br /&gt;
&lt;br /&gt;
Wiec jak damy w tym przypadku sys_ticrate 100 to serwer będzie działał na prędkości niższej ni zapodana&lt;br /&gt;
w typ wypadu będzie to 85 fps&lt;br /&gt;
&lt;br /&gt;
Dlatego lepiej jest dawać sys_ticrate zwiększone o 20 do 50 fps niz. te ktora chcesz osiągnąć&lt;br /&gt;
np. moze się zdarzyc że masz sys_ticrate 150 a serwer bedzie wyciagal tylko 128 fps.&lt;br /&gt;
&lt;br /&gt;
rekomendowane:&lt;br /&gt;
sys_ticrate 110 - 180 w zaleznosci od mozliwosci twojego sprzetu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' sys_ticrate 125, ale lepiej nie przekraczac 200.&lt;br /&gt;
&lt;br /&gt;
==fps_max==&lt;br /&gt;
*ustawia maksymalna ilość FPS jakie ma serwer wyciągać, ale działa także u gracza, tzn jest to zarowno zmienna klienta jak i serwera. Zależy ona od sys_ticrate  -im większe sys_ticrate tym większe fps_max można wycisnąć. Domyślnie serwera stara się wycisnąć 100fps przy pełnym obciążeniu. Jednakże nieraz ta wartośc spada jak serwer nie wyrabia.&lt;br /&gt;
* ustawiamy pewna wartość jak poniżej ( wartośc 100 jest wartością domyślną na serwerach) w [[server.cfg]]&lt;br /&gt;
 fps_max 100&lt;br /&gt;
* nie opłaca się ustawiać raczej fps więcej niż 200, w rzeczywistości aktualnie zoptymalizowane binarki HLDS spokojnie wyciągają i działają ładnie na fps_max 125&lt;br /&gt;
* ilość fps na serwerze zależy od ilości graczy, i mozna ją sprawdzić komendą '''stats'''&lt;br /&gt;
*pamiętaj, że jak nikogo na serwerze nie ma albo jest jeden gracz to ilość fps będzie różnie skakać i nie osiągnie wartości 100 -  dlatego ilość fps sprawdzaj najlepiej przy pełnym obciążeniu serwera.&lt;br /&gt;
==ex_interp==&lt;br /&gt;
*interpolacja czyli przyblizenie wartosci korzystajac z co najmniej 2 wartosci granicznych&lt;br /&gt;
np. srednia ocen w szkole to interpolacja .... :D&lt;br /&gt;
* często blokowany prze [[HLGuard]] w celu zapobieganiu nadużyciom (dośc często niesłusznie blokowany).&lt;br /&gt;
Czemu to sluzy?&lt;br /&gt;
W idealnym ustawieniu mialbys nieskonczona liczbe synchronizacji i bys wiedzial gdzie jest przeciwnik.&lt;br /&gt;
Oczywiste internet na to ci nie pozwoli i dostaniesz tylko skonczona liczbe pakietow.&lt;br /&gt;
Najlatwiej tu jest się posłużyć interpolacją koła.&lt;br /&gt;
Masz kolo - idealny ksztalt rzeczywisty. Ale ty masz skonczona liczbe kresek do wykorzystania.&lt;br /&gt;
tak więc wpisujesz wielokat foremny aby jak najbardziej upodobnic go do kola&lt;br /&gt;
Z daleka patrzac nie zauwazysz roznicy czy masz wielokat o 100 bokach czy kolo no ale jak usiadziesz z lupa to się kapniesz :D&lt;br /&gt;
Przewaznie w CS mamy wielokat o 20 bokach no i tu widac że nie zawsze pozycja gracza jest pozycja realna gracza.&lt;br /&gt;
&lt;br /&gt;
Na szczescie do gry to starcza gdyz dziala interpolacja - wszelkie pozycje gdzie nie masz informacji gdzie się znajduje gracz sa interpolowane.&lt;br /&gt;
Po prostu modele na ekranie nie skacza, tylko poruszaja się plynnie bo sa interpolowane bazujac na pakietach jakie otrzymujesz od serwera.&lt;br /&gt;
&lt;br /&gt;
*Oznacza tu przedzial czasowy do wykorzystania przez gre - jako ulamek sekundy.&lt;br /&gt;
Domyslnie jest to maksymalnie 0.1 Czyli 100 ms - oznacza to że jesli nie dostaniesz pakietu o polozeniu gracza w ciagu 100ms to H-L bedzie&lt;br /&gt;
Obliczal gdzie on się znajduje.&lt;br /&gt;
&lt;br /&gt;
*Normalnie ex_interp powinien byc rowny lub troszke wiekszy od 1/cl_updaterate&lt;br /&gt;
*Niektorzy rekomenduja ex_interp 0&lt;br /&gt;
wtedy H-L sam obliczy te wartosc i ci powie że &amp;quot;ex_interp forced to msec&amp;quot;&lt;br /&gt;
tylko że jest problem&lt;br /&gt;
#jak zmieniasz jakkolwiek cl_updaterate to potem musisz wywolac ex_interp 0 aby to obliczyl&lt;br /&gt;
#jak masz ex_interp 0 to modela moga zaczac skakac - bo pakiety się spozniaja, to normalne.&lt;br /&gt;
&lt;br /&gt;
Maksymalnie ex_interp ma 0.1 czyli 100 milisekund - to jest duzo.&lt;br /&gt;
Najczesciej jak masz cl_updaterate 20 to masz ex_interp 0.05 - oczywiscie im wiekszy update tym mniejsza liczba&lt;br /&gt;
&lt;br /&gt;
Niektorzy tylko rekomenduja operowanie cl_updaterate i zostawianie ex_interp'a w spokoju aby sam się kalkulowal... no ale jestesmy na polskich laczach...&lt;br /&gt;
&lt;br /&gt;
*Czasem wartosci ex_interp ponizej 1/cl_updaterate nie da się ustawic.&lt;br /&gt;
Czasem wartosci powyzej 1/cl_updaterate sa uwazane za exploit gdyz powoduje z musisz strzelac za rzeczywistym modelem - dlatego jest efekt spozniony headshot'ow - koles przebiegl, ty strzeliles gdzie on &amp;quot;byl&amp;quot; i dostal heda, a krew sika z pustki&lt;br /&gt;
&lt;br /&gt;
Ja sugeruje popatrzec ile ex_interp 0 wyliczy i potem dodac recznie +0.01,&lt;br /&gt;
np. cl_updatertae 20 =&amp;gt; ex_interp 0.05,&lt;br /&gt;
dodajemy i mamy ex_interp 0.06&lt;br /&gt;
efektu spoznionych hedow nie powinno byc tak wiele i modele nie powinny az tak bardzo skakac - no chyba że lagi :D.&lt;br /&gt;
Natomiast modele nie biegaja na tyle wczesnie aby inni uwazali że oszukujesz.&lt;br /&gt;
Ja uwazam że dodanie 0.01 to nie jest expliotem bo netcode nie jest idealny, szczegolnie jak na polskie warunki&lt;br /&gt;
&lt;br /&gt;
Moim zdaniem exploitem jest jak gracz ma cl_updaterate 101 i wtedy powinien miec ex_interp 0.009 (no powiedzmy 0.01) a w rzeczywistosci uzywa ex_interp 0.1 czyli 10x wiekszego!!!&lt;br /&gt;
&lt;br /&gt;
'''Rekomendacja''' ostateczna &lt;br /&gt;
ex_interp 0.1 czyli nie dotykać -  wtedy HLGuard i hego blokowanie zmiennych nie będzie tak uciążliwe.&lt;br /&gt;
&lt;br /&gt;
==rate==&lt;br /&gt;
Jest to ile bajtow mozesz przeslac do serwera. maksymalnie jest 20000, bo wyzej H-L nie wyciagnie.&lt;br /&gt;
standardowo jest chyba 5000 albo i mniej ale np. clanbase uzywa 9999.&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' zatem albo 9999 albo 20000 jesli serwer pozwala, ew jeśli masz słabe łącze to nie więcej niż 80% twojego uploadu.&lt;br /&gt;
&lt;br /&gt;
==sv_maxrate==&lt;br /&gt;
Domyslnie jest rowne 0 co nie oznacza że jest najlepiej.&lt;br /&gt;
&lt;br /&gt;
Dlaczego?&lt;br /&gt;
sv_maxrate 0 wykryje rate kazdego gracza i bedzie się staralo spełnic wymogi gracza.&lt;br /&gt;
&lt;br /&gt;
Teraz zalozmy że H-L daje mozliwosc dania rate powyzej 20 kafli, a jakis gracz ma fantazje i walnie ostra wartosc np. 9999999999 (kosmiczna liczba).&lt;br /&gt;
Serwer w tym przypadku probowalby wypchac te kosmiczna ilosc danych do tego gracza i tylko by marnowal lacze do tej osoby bo i tak tyle nie wysle, a reszta bedzie lagowana bo nie dostanie nic.&lt;br /&gt;
&lt;br /&gt;
*Dodatkowo, dzięki ustawieniu wartośći sv_maxrate możemy przewidywać maksymalne uzycie łącza na miesiąc - jesli płacimy z atransfer w GB.&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' dlatego ustawiac sv_maxrate na 20000.&lt;br /&gt;
&lt;br /&gt;
=LAN=&lt;br /&gt;
No a jak grac na LAN'ie?&lt;br /&gt;
&lt;br /&gt;
organizacje typu [[CPL]] uzywaja cl_updaterate 101 gdyz to się wiąze z jakoscia posiadanych przez nich serwerów - silne maszyny z booster'ami na bardzo dobrych łączach.&lt;br /&gt;
&lt;br /&gt;
Aby latwo się przekonac czy serwer na lanie jest z booster'em - popatrz na ping graczy z lan'u.&lt;br /&gt;
*normalny serwer bez booster'a na 60-65 fps powoduje że gracze maja pingi powyzej 15ms.&lt;br /&gt;
*jak serwer ma wiecej fps ( np ma booster'a)  to pingi sa o wiele mniejsze - przewaznie w granicy 5ms.&lt;br /&gt;
&lt;br /&gt;
Wiadomo że CPL, ESWC i WCG uzywaja serwerow z booster'ami bo ich na to stać.&lt;br /&gt;
&lt;br /&gt;
=Podziękowania=&lt;br /&gt;
Podziękowania dla:&lt;br /&gt;
*Alfred Reynolds, Valve Software&lt;br /&gt;
*Yahn Bernier, Valve Software&lt;br /&gt;
*Zibbo, UDPSoft&lt;br /&gt;
*The HLDS Mailing Lists&lt;br /&gt;
*The http://server.counter-strike.net forums&lt;br /&gt;
&lt;br /&gt;
translated from english by _KaszpiR_&lt;br /&gt;
&lt;br /&gt;
9 May 2004&lt;/div&gt;</summary>
		<author><name>D4rk</name></author>	</entry>

	<entry>
		<id>http://hlds.pl/CS_1.6_Netcode_Po_Polsku</id>
		<title>CS 1.6 Netcode Po Polsku</title>
		<link rel="alternate" type="text/html" href="http://hlds.pl/CS_1.6_Netcode_Po_Polsku"/>
				<updated>2007-07-06T11:47:31Z</updated>
		
		<summary type="html">&lt;p&gt;D4rk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[kategoria:HLDS]]&lt;br /&gt;
[[kategoria:E-Sport]]&lt;br /&gt;
[[Kategoria:Netcode]]&lt;br /&gt;
=Wstęp=&lt;br /&gt;
Trochę stary artykuł, będę musiał go odkurzyć z debilizmów, więc się będzie zmieniał co jakiś czas.&lt;br /&gt;
&lt;br /&gt;
--[[Użytkownik:KaszpiR|KaszpiR]] 15:52, 9 sie 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
=Historia=&lt;br /&gt;
CS 1.6 Netcode Explained po Polsku (tłumaczenie by _KaszpiR_ http://nvt.prv.pl )&lt;br /&gt;
&lt;br /&gt;
Artykuł był najpierw dostępny ogólnie na Gotfrag.&lt;br /&gt;
Następnie stal się tzw Primie - czyli widocznym tylko dla zarejestrowanych.&lt;br /&gt;
Cóż, ale http://google.com przeszło przez niego i zrobiło cache - dlatego bez obrazka, ale liczy się treść.&lt;br /&gt;
&lt;br /&gt;
A ja pozwoliłem sobie to przetłumaczyć, ale bez zbytniego lania wody zostawiając esencje. Dodatkowo trochę zmieniłem układ aby treść nie była tak poszatkowana jak w oryginale - wiec opisy zmiennych/komend są razem a nie osobno (co wprowadzało w pewne zakłopotanie co poniektórych :D )&lt;br /&gt;
&lt;br /&gt;
*''Originally by:''' Jon MellinBy, Submitted by: Jason, last updated April 7 2004 at 4:34 PM EDT Gotfrag http://www.gotfrag.net&lt;br /&gt;
CS Netcode Explained&lt;br /&gt;
&lt;br /&gt;
=Opis=&lt;br /&gt;
*W artykule zapoznasz się z tzw. netkodem gry [[Half-Life]], czyli ta częścią gry która odpowiada za protokół sieciowy itp.&lt;br /&gt;
Mam nadzieje, że pomoże ci on lepiej ustawić wartości aby osiągnąć lepsze wyniki w grze, jak i usprawnić serwer.&lt;br /&gt;
&lt;br /&gt;
*'''Notka:''' Komendy/zmienne zaczynające się od sv_ czy też sys_ są komendami/zmiennymi działającymi tylko na serwerze - dedykowanym czy tzw listen.&lt;br /&gt;
Wykonanie powyższych komend w konsoli u klienta zwróci ustawienia na lokalnym komputerze a nie na serwerze.&lt;br /&gt;
Dlatego też trzeba te komendy wpisywać albo w konsoli hlds bezpośrednio (jak jest na screen'ie itp., albo wraz z użyciem komendy rcon,&lt;br /&gt;
albo z żzyciem rcon zastępczych komend/aplikacji działających na serwer - mam tu na myśli komendy typu amx_rcon czy cm_rcon.&lt;br /&gt;
&lt;br /&gt;
Zależność miedzy komenda ex_interp a cl_updaterate jest bardzo ważna i prosimy nie czytać tylko jednego opisu,&lt;br /&gt;
tylko przeczytać też info o drugiej komendzie.&lt;br /&gt;
Ogólnie przeczytaj wszystko aby mieć ogólny zarys tego, co się dzieje jak się bawimy kilkoma komendami na raz.&lt;br /&gt;
&lt;br /&gt;
Artykuł oryginalnie był napisany dla osób o szerokopasmowym dostępie do internetu.&lt;br /&gt;
W naszych warunkach czytaj - coś lepszego niż SDI, najlepiej Neostrada i temu podobne.&lt;br /&gt;
&lt;br /&gt;
*Najpierw ogólny opis komend/zmiennych a potem szczegóły, wiec się nie wkurzać że 2x to samo czytacie - oryginalny artykuł był bardziej poszatkowany.&lt;br /&gt;
&lt;br /&gt;
=Ogólnie o zmiennych=&lt;br /&gt;
==cl_cmdrate==&lt;br /&gt;
*definiuje ile maksymalnie pakietów może wysłać klient (tzn. ty, graczu że swojej maszyny) do serwera.&lt;br /&gt;
*numer oznacza liczbę pakietów na sekundę&lt;br /&gt;
Oczywiście więcej znaczy lepiej - szybciej serwer zareaguje na twoje reakcje.&lt;br /&gt;
Traktuj to mniej więcej tak - im większa wartość tym mniejszy poślizg pomiędzy naciśnięciem fire a wysłaniem pakietu.&lt;br /&gt;
&lt;br /&gt;
Jak masz dobre łącze i siedzisz na łączu sam to spoko możesz zwiększyć.&lt;br /&gt;
Jak współdzielisz z kimś łącze (np. neo na 2 osoby) to zbyt wysokie wartości u obu graczy będą powodować nagle lagi i ping spike.&lt;br /&gt;
Wartość maksymalna zależy tu od tego jaki masz upstream do provider'a - czyli ile możesz wysłać w internet.&lt;br /&gt;
&lt;br /&gt;
W idealnym przypadku ta komenda powinna się równać liczbie fps serwera!!! a nie klienta.&lt;br /&gt;
Jak wyślesz więcej pakietów to serwer je po prostu zignoruje bo nie będzie wyrabiać.&lt;br /&gt;
Tak wiec za wysokie wartości nie zaszkodzą ale tylko będą marnować twoje łącze :D&lt;br /&gt;
'''Rekomendujemy''' cl_cmdrate równe fps serwera lub trochę większe.&lt;br /&gt;
&lt;br /&gt;
Dlatego na serwerach linuksowych często jest 50 a na widowsowych 70&lt;br /&gt;
oczywiście jak serwer ma więcej fps to walimy 100 i się cieszymy&lt;br /&gt;
&lt;br /&gt;
==cl_updaterate==&lt;br /&gt;
*podobna do poprzedniej komendy ale działa w odwrotnym kierunku.&lt;br /&gt;
*numer definiuje maksymalna liczbę pakietów na sekundę jaka ty możesz otrzymać od serwera.&lt;br /&gt;
*więcej znaczy lepiej ale też zwiększa użycie łącza.&lt;br /&gt;
&lt;br /&gt;
traktuj to jak efekt błyskawicy - ktoś strzela to następuje błysk (widoczny dla serwera natychmiast),&lt;br /&gt;
jednakże ty jesteś nastawiony na grzmot.&lt;br /&gt;
im większa wartość tym szybciej do ciebie grzmot dojdzie (wiem wiem, łopatologicznie...)&lt;br /&gt;
&lt;br /&gt;
*Po prostu szybciej będziesz mógł zareagować.&lt;br /&gt;
*Dodatkowo daje to dokładniejsze informacje o rzeczywistym położeniu przeciwników, trafień po kulach itp.&lt;br /&gt;
&lt;br /&gt;
*Wartość maksymalna zależy od twojego downstream'u czyli jak szybko możesz zasysać od provider'a.&lt;br /&gt;
Przeważnie ta wartość (mam na myśli downstream) jest 4x większa od twojego upstream'u&lt;br /&gt;
Dlatego czasem cl_updaterate jest większy 4 razy od cmdate&lt;br /&gt;
&lt;br /&gt;
*Minimalna wartość jest 10 (dlatego ex_interp ma 0.1, patrz niżej)&lt;br /&gt;
&lt;br /&gt;
Kiedyś myślano że cl_updaterate trza walnąć na 101 i zjeżdżać w dół z wartościami aż będziemy mieli w miarę niski&lt;br /&gt;
i zadowalający choke (prawie zero ale może być 2...3)&lt;br /&gt;
choke widać na net_graph 3&lt;br /&gt;
&lt;br /&gt;
Jednak cały system cl_updaterate jest bardziej złożony.&lt;br /&gt;
np. serwery CAL dają sv_maxupdaterate 101 wiec normalnie każdy by se tyle dal na kliencie.&lt;br /&gt;
w teorii jest to poprawne jednak praktyka się tu rozmija.&lt;br /&gt;
&lt;br /&gt;
Większość serwerów nie wyciąga 100fps aby obliczyć te właśnie 100 updaterate na sekundę.&lt;br /&gt;
oznacza to że nie ma szans aby serwer tyle wysłał w rzeczywistości.&lt;br /&gt;
&lt;br /&gt;
Pomyślisz - walnę se 101 updaterate i tak czy siak tyle max pakietów dostanę.&lt;br /&gt;
&lt;br /&gt;
Jak u siebie dasz cl_updaterate 101 to ex_interp będzie 0.009ms - spodziewa się gra że będziesz miał pakiety co 9ms&lt;br /&gt;
i wszystko bedzie cacy.&lt;br /&gt;
Jednakże serwer ma 50 fps czyli maksymalnie puści 50 pakietów!!! tak więc 2 razy mniej.&lt;br /&gt;
Co się stanie?&lt;br /&gt;
Pakiety przychodza za rzadko i gra nie ma z czego interpolowac polozenia graczy - masz efekt skaczacych modeli.&lt;br /&gt;
No dobra. dajmy na to że zjade na 70 - efekt skaczacych modeli spadnie.&lt;br /&gt;
Oczywiscie idealnie jak bedziemy mieli cl_updaterate 50 - wtedy iterp bedzie 0.02 i modele nie powinny az tak skakac (tylko z rzadka z powodu lagow)&lt;br /&gt;
&lt;br /&gt;
*Poniewaz klient bez rcon'a nie ma jak sprawdzic ile serwer ma fps i se dobrze dobrac te zmienna, trzeba zgadywac.&lt;br /&gt;
&lt;br /&gt;
Na szczescie mozna to zrobic doswiadczalnie w prostu sposob.&lt;br /&gt;
1. zacznij z cl_updaterate 101, ex_interp 0&lt;br /&gt;
2. zjezdzaj z cl_updaterate w dol. (mniej wiecej o 10 ) az zauwazysz że modele az tak bardzo nie skacza. (tylko z rzadka z powodu zmiany pinga, lagow itp.)&lt;br /&gt;
&lt;br /&gt;
Oczywiscie &amp;quot;bardzo nie skacza&amp;quot; to kwestia gustu.&lt;br /&gt;
Dopoki ex_interp = 1/cl_updaterate modele beda na wioch rzeczywistych miejscach.&lt;br /&gt;
&lt;br /&gt;
Oznacza to że kazdy serwer bedzie mial swoje wlasne ustawienia cl_updaterate zalezne od ilosci graczy/lacza/fps - po prosu ile w danej chwili serwer może z siebie wycisnac.&lt;br /&gt;
Nie bojmy się zejsc z wartosciami ponizej updaterate 50 bo tak czy siak interpolacja bedzie dzialac.&lt;br /&gt;
&lt;br /&gt;
No dobra, ktos pomysli, ale ja wezme updaterate 20 i bede szedl w gore.&lt;br /&gt;
No to nie jest dobry pomysl bo ex_interp = 1/cl_updaterate.&lt;br /&gt;
Jak mamy 20 to ex_interp = 1/20 = 0.05 &lt;br /&gt;
a jak zwierzymy na 50 to mamy ex_interp = 1/50 = 0.02&lt;br /&gt;
a ex intern 0.05 &amp;gt; 0.02 a H-L domyslnie nie zmniejsza sam z siebie interna.&lt;br /&gt;
wtedy musisz wystukac za kadmy razem ex_interp 0 recznie aby obliczyc go.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tak wiec widac że istnieje zaleznosc pomiedzy serwer fps, cl_udpaterate i ex_interp 0 razem.&lt;br /&gt;
najlepiej miec updaterate rowny fps serwera a ex_interp 0&lt;br /&gt;
&lt;br /&gt;
'''Rekomendacja:'''&lt;br /&gt;
cl_updaterate rowny fps serwera i nie wiekszy od sv_maxupdaterate.&lt;br /&gt;
&lt;br /&gt;
Koncowa notka: wiele serwerow uzywa sv_maxupdaterate 30 tak wiec cl_updaterate 30 bedzie wtedy wartoscia najlepsza w&lt;br /&gt;
takiej sytuacji.&lt;br /&gt;
&lt;br /&gt;
==sv_maxupdaterate==&lt;br /&gt;
*Jak cl_maxupdaterate ale dziala na serwer - ile klient maksymalnie moze przyjąć od serwera.&lt;br /&gt;
*Szczegolnie uzyteczna jak serwer nie ma za dobrego lacza.&lt;br /&gt;
*Numer oznacz liczbe pakietow na sekunde jaka serwer moze wyslac na sekundę do klienta.&lt;br /&gt;
* przeważnie daje się sv_maxupdaterate 101.&lt;br /&gt;
Dlatego jesli klient ma cl_updaterate 100, a serwer ma sv_maxupdaterate 50,&lt;br /&gt;
to ten klient i tak nie dostanie wiecej niz. te 50.&lt;br /&gt;
&lt;br /&gt;
''Rekomendyujemy'' zmieniać jaeśli pozwana na to łącze serwera i jego moc procesora.&lt;br /&gt;
&lt;br /&gt;
==sys_ticrate==&lt;br /&gt;
*Definiuje ile maksymalnie tików na sekundę serwer może przetworzyć. Przekłada się to nie bezpośrednio na ilość klatek na sekundą jakie wyciaga serwer.&lt;br /&gt;
*Domyslnie jest 100, maksymalnie 10 000.&lt;br /&gt;
&lt;br /&gt;
Po co to komu?&lt;br /&gt;
&lt;br /&gt;
Miedzy innymi wiecej fps daje ci lepsze poczucie gry.&lt;br /&gt;
Serwery normalnie maja okolo 50fps na linuksie i 64 na widowsach - ale czasem spada to do 20-30 to juz slabo.&lt;br /&gt;
Dobre serwery maja tak ustawione ten ticrate aby fps się wahalo w granicy 150-180 fps(tzn. ogolnie do 200fps).&lt;br /&gt;
Wiecej i tak ci nic nie da bo nie zauwazysz.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Jak nikogo na serwerze nie ma to powinenes mieć koloło 100 albo 60 fps - serwer po prsotu nic nie robi jak nikogo na serwerze nie ma, i dopiero zaczyna się grzać jak wejdzie ktoś na serwer. Więc zawsze sprawdzaj fps z graczami na serwerze.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Czasem ta komenda nie działa na niektórych platformach.&lt;br /&gt;
*Im większy ticrate tym większe użycie procesora.&lt;br /&gt;
Czasem na mapach de_inferno i de_aztec użycie procka skacze czasem do szalonych wartosci - ale to mowie - czasem.&lt;br /&gt;
Oczywiście najlepiej aby mieć w miarę stabilny poziom fps - bo skoki z 100 do 500 i po chwili znowu na 100 nie sa&lt;br /&gt;
przyjemne i wszystko raczej działa gorzej - to zależy od hardware'u&lt;br /&gt;
Wiec lepiej aby miec mniej ale z mniejszymi fluktuacjami.&lt;br /&gt;
&lt;br /&gt;
*Jak masz dostęp do rcon to możesz sprawdzić aktualne fps na serwerze wpisując&lt;br /&gt;
 rcon stats&lt;br /&gt;
Aby sprawdzić jakiego kopa dostanie serwer na chwile włącz&lt;br /&gt;
 rcon sys_ticrate 10000&lt;br /&gt;
Jest teraz sprawdzisz rcon stats i twój serwer ma powyżej 100fps to znaczy że boosting działa i się ciesz, inaczej szukaj innych metod poprawy działania sprzętu&lt;br /&gt;
&lt;br /&gt;
*Zawsze sprawdź statsy kilka razy.&lt;br /&gt;
&lt;br /&gt;
Znajdowanie optymalnej wartosci wymaga troche eksperymentow.&lt;br /&gt;
Najpierw sprawdz czy serwer jest boots'owany, bo inaczej nic ci to nie da.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;Pamietaj że podnoszenie fps powyzej 200 jest zbyteczne że wzgledow mozliwosci samej gry i laczy internetowych.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dodatkowo wyciskanie za duzo fps na maszynie ktora ma kilka serwerow hlds na sobie jest niekorzystne dla innych serwerow - spowoduje to tylko pogorszenie gry na obu serwerach bo procesor nie bedzie wyrabial. Nie zapominaj że czesto na serwerach dziala też www , mail i ftp.&lt;br /&gt;
&lt;br /&gt;
Nie kazdy wie że czasem serwer fps wskazuje na niektore tylko wartosci albo po prostu dziala na innych&lt;br /&gt;
np. na jednej z maszyn zaobserwowano że fps ukladaja się tak: 85, 102, 128, 170, 256 ...&lt;br /&gt;
i zadnych fps (liczb) miedzy nimi.&lt;br /&gt;
&lt;br /&gt;
Wiec jak damy w tym przypadku sys_ticrate 100 to serwer bedzie dzialal na predkosci nizszej ni zapodana&lt;br /&gt;
w typ wypadu bedzie to 85 fps&lt;br /&gt;
&lt;br /&gt;
Dlatego lepiej jest dawac sys_ticrate zwiekszone o 20 do 50 fps niz. te ktora chcesz osiagnac&lt;br /&gt;
np. moze się zdarzyc że masz sys_ticrate 150 a serwer bedzie wyciagal tylko 128 fps.&lt;br /&gt;
&lt;br /&gt;
rekomendowane:&lt;br /&gt;
sys_ticrate 110 - 180 w zaleznosci od mozliwosci twojego sprzetu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' sys_ticrate 125, ale lepiej nie przekraczac 200.&lt;br /&gt;
&lt;br /&gt;
==fps_max==&lt;br /&gt;
*ustawia maksymalna ilość FPS jakie ma serwer wyciągać, ale działa także u gracza, tzn jest to zarowno zmienna klienta jak i serwera. Zależy ona od sys_ticrate  -im większe sys_ticrate tym większe fps_max można wycisnąć. Domyślnie serwera stara się wycisnąć 100fps przy pełnym obciążeniu. Jednakże nieraz ta wartośc spada jak serwer nie wyrabia.&lt;br /&gt;
* ustawiamy pewna wartość jak poniżej ( wartośc 100 jest wartością domyślną na serwerach) w [[server.cfg]]&lt;br /&gt;
 fps_max 100&lt;br /&gt;
* nie opłaca się ustawiać raczej fps więcej niż 200, w rzeczywistości aktualnie zoptymalizowane binarki HLDS spokojnie wyciągają i działają ładnie na fps_max 125&lt;br /&gt;
* ilość fps na serwerze zależy od ilości graczy, i mozna ją sprawdzić komendą '''stats'''&lt;br /&gt;
*pamiętaj, że jak nikogo na serwerze nie ma albo jest jeden gracz to ilość fps będzie różnie skakać i nie osiągnie wartości 100 -  dlatego ilość fps sprawdzaj najlepiej przy pełnym obciążeniu serwera.&lt;br /&gt;
==ex_interp==&lt;br /&gt;
*interpolacja czyli przyblizenie wartosci korzystajac z co najmniej 2 wartosci granicznych&lt;br /&gt;
np. srednia ocen w szkole to interpolacja .... :D&lt;br /&gt;
* często blokowany prze [[HLGuard]] w celu zapobieganiu nadużyciom (dośc często niesłusznie blokowany).&lt;br /&gt;
Czemu to sluzy?&lt;br /&gt;
W idealnym ustawieniu mialbys nieskonczona liczbe synchronizacji i bys wiedzial gdzie jest przeciwnik.&lt;br /&gt;
Oczywiste internet na to ci nie pozwoli i dostaniesz tylko skonczona liczbe pakietow.&lt;br /&gt;
Najlatwiej tu jest się posłużyć interpolacją koła.&lt;br /&gt;
Masz kolo - idealny ksztalt rzeczywisty. Ale ty masz skonczona liczbe kresek do wykorzystania.&lt;br /&gt;
tak wiec wpisujesz wielokat foremny aby jak najbardziej upodobnic go do kola&lt;br /&gt;
Z daleka patrzac nie zauwazysz roznicy czy masz wielokat o 100 bokach czy kolo no ale jak usiadziesz z lupa to się kapniesz :D&lt;br /&gt;
Przewaznie w CS mamy wielokat o 20 bokach no i tu widac że nie zawsze pozycja gracza jest pozycja realna gracza.&lt;br /&gt;
&lt;br /&gt;
Na szczescie do gry to starcza gdyz dziala interpolacja - wszelkie pozycje gdzie nie masz informacji gdzie się znajduje gracz sa interpolowane.&lt;br /&gt;
Po prostu modele na ekranie nie skacza, tylko poruszaja się plynnie bo sa interpolowane bazujac na pakietach jakie otrzymujesz od serwera.&lt;br /&gt;
&lt;br /&gt;
*Oznacza tu przedzial czasowy do wykorzystania przez gre - jako ulamek sekundy.&lt;br /&gt;
Domyslnie jest to maksymalnie 0.1 Czyli 100 ms - oznacza to że jesli nie dostaniesz pakietu o polozeniu gracza w ciagu 100ms to H-L bedzie&lt;br /&gt;
Obliczal gdzie on się znajduje.&lt;br /&gt;
&lt;br /&gt;
*Normalnie ex_interp powinien byc rowny lub troszke wiekszy od 1/cl_updaterate&lt;br /&gt;
*Niektorzy rekomenduja ex_interp 0&lt;br /&gt;
wtedy H-L sam obliczy te wartosc i ci powie że &amp;quot;ex_interp forced to msec&amp;quot;&lt;br /&gt;
tylko że jest problem&lt;br /&gt;
#jak zmieniasz jakkolwiek cl_updaterate to potem musisz wywolac ex_interp 0 aby to obliczyl&lt;br /&gt;
#jak masz ex_interp 0 to modela moga zaczac skakac - bo pakiety się spozniaja, to normalne.&lt;br /&gt;
&lt;br /&gt;
Maksymalnie ex_interp ma 0.1 czyli 100 milisekund - to jest duzo.&lt;br /&gt;
Najczesciej jak masz cl_updaterate 20 to masz ex_interp 0.05 - oczywiscie im wiekszy update tym mniejsza liczba&lt;br /&gt;
&lt;br /&gt;
Niektorzy tylko rekomenduja operowanie cl_updaterate i zostawianie ex_interp'a w spokoju aby sam się kalkulowal... no ale jestesmy na polskich laczach...&lt;br /&gt;
&lt;br /&gt;
*Czasem wartosci ex_interp ponizej 1/cl_updaterate nie da się ustawic.&lt;br /&gt;
Czasem wartosci powyzej 1/cl_updaterate sa uwazane za exploit gdyz powoduje z musisz strzelac za rzeczywistym modelem - dlatego jest efekt spozniony headshot'ow - koles przebiegl, ty strzeliles gdzie on &amp;quot;byl&amp;quot; i dostal heda, a krew sika z pustki&lt;br /&gt;
&lt;br /&gt;
Ja sugeruje popatrzec ile ex_interp 0 wyliczy i potem dodac recznie +0.01,&lt;br /&gt;
np. cl_updatertae 20 =&amp;gt; ex_interp 0.05,&lt;br /&gt;
dodajemy i mamy ex_interp 0.06&lt;br /&gt;
efektu spoznionych hedow nie powinno byc tak wiele i modele nie powinny az tak bardzo skakac - no chyba że lagi :D.&lt;br /&gt;
Natomiast modele nie biegaja na tyle wczesnie aby inni uwazali że oszukujesz.&lt;br /&gt;
Ja uwazam że dodanie 0.01 to nie jest expliotem bo netcode nie jest idealny, szczegolnie jak na polskie warunki&lt;br /&gt;
&lt;br /&gt;
Moim zdaniem exploitem jest jak gracz ma cl_updaterate 101 i wtedy powinien miec ex_interp 0.009 (no powiedzmy 0.01) a w rzeczywistosci uzywa ex_interp 0.1 czyli 10x wiekszego!!!&lt;br /&gt;
&lt;br /&gt;
'''Rekomendacja''' ostateczna &lt;br /&gt;
ex_interp 0.1 czyli nie dotykać -  wtedy HLGuard i hego blokowanie zmiennych nie będzie tak uciążliwe.&lt;br /&gt;
&lt;br /&gt;
==rate==&lt;br /&gt;
Jest to ile bajtow mozesz przeslac do serwera. maksymalnie jest 20000, bo wyzej H-L nie wyciagnie.&lt;br /&gt;
standardowo jest chyba 5000 albo i mniej ale np. clanbase uzywa 9999.&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' zatem albo 9999 albo 20000 jesli serwer pozwala, ew jeśli masz słabe łącze to nie więcej niż 80% twojego uploadu.&lt;br /&gt;
&lt;br /&gt;
==sv_maxrate==&lt;br /&gt;
Domyslnie jest rowne 0 co nie oznacza że jest najlepiej.&lt;br /&gt;
&lt;br /&gt;
Dlaczego?&lt;br /&gt;
sv_maxrate 0 wykryje rate kazdego gracza i bedzie się staralo spełnic wymogi gracza.&lt;br /&gt;
&lt;br /&gt;
Teraz zalozmy że H-L daje mozliwosc dania rate powyzej 20 kafli, a jakis gracz ma fantazje i walnie ostra wartosc np. 9999999999 (kosmiczna liczba).&lt;br /&gt;
Serwer w tym przypadku probowalby wypchac te kosmiczna ilosc danych do tego gracza i tylko by marnowal lacze do tej osoby bo i tak tyle nie wysle, a reszta bedzie lagowana bo nie dostanie nic.&lt;br /&gt;
&lt;br /&gt;
*Dodatkowo, dzięki ustawieniu wartośći sv_maxrate możemy przewidywać maksymalne uzycie łącza na miesiąc - jesli płacimy z atransfer w GB.&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' dlatego ustawiac sv_maxrate na 20000.&lt;br /&gt;
&lt;br /&gt;
=LAN=&lt;br /&gt;
No a jak grac na LAN'ie?&lt;br /&gt;
&lt;br /&gt;
organizacje typu [[CPL]] uzywaja cl_updaterate 101 gdyz to się wiąze z jakoscia posiadanych przez nich serwerów - silne maszyny z booster'ami na bardzo dobrych łączach.&lt;br /&gt;
&lt;br /&gt;
Aby latwo się przekonac czy serwer na lanie jest z booster'em - popatrz na ping graczy z lan'u.&lt;br /&gt;
*normalny serwer bez booster'a na 60-65 fps powoduje że gracze maja pingi powyzej 15ms.&lt;br /&gt;
*jak serwer ma wiecej fps ( np ma booster'a)  to pingi sa o wiele mniejsze - przewaznie w granicy 5ms.&lt;br /&gt;
&lt;br /&gt;
Wiadomo że CPL, ESWC i WCG uzywaja serwerow z booster'ami bo ich na to stać.&lt;br /&gt;
&lt;br /&gt;
=Podziękowania=&lt;br /&gt;
Podziękowania dla:&lt;br /&gt;
*Alfred Reynolds, Valve Software&lt;br /&gt;
*Yahn Bernier, Valve Software&lt;br /&gt;
*Zibbo, UDPSoft&lt;br /&gt;
*The HLDS Mailing Lists&lt;br /&gt;
*The http://server.counter-strike.net forums&lt;br /&gt;
&lt;br /&gt;
translated from english by _KaszpiR_&lt;br /&gt;
&lt;br /&gt;
9 May 2004&lt;/div&gt;</summary>
		<author><name>D4rk</name></author>	</entry>

	<entry>
		<id>http://hlds.pl/CS_1.6_Netcode_Po_Polsku</id>
		<title>CS 1.6 Netcode Po Polsku</title>
		<link rel="alternate" type="text/html" href="http://hlds.pl/CS_1.6_Netcode_Po_Polsku"/>
				<updated>2007-07-06T11:37:26Z</updated>
		
		<summary type="html">&lt;p&gt;D4rk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[kategoria:HLDS]]&lt;br /&gt;
[[kategoria:E-Sport]]&lt;br /&gt;
[[Kategoria:Netcode]]&lt;br /&gt;
=Wstęp=&lt;br /&gt;
Trochę stary artykuł, będę musiał go odkurzyć z debilizmów, więc się będzie zmieniał co jakiś czas.&lt;br /&gt;
&lt;br /&gt;
--[[Użytkownik:KaszpiR|KaszpiR]] 15:52, 9 sie 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
=Historia=&lt;br /&gt;
CS 1.6 Netcode Explained po Polsku (tłumaczenie by _KaszpiR_ http://nvt.prv.pl )&lt;br /&gt;
&lt;br /&gt;
Artykuł był najpierw dostępny ogólnie na Gotfrag.&lt;br /&gt;
Następnie stal sie tzw Primie - czyli widocznym tylko dla zarejestrowanych.&lt;br /&gt;
Cóż, ale http://google.com przeszło przez niego i zrobiło cache - dlatego bez obrazka, ale liczy sie treść.&lt;br /&gt;
&lt;br /&gt;
A ja pozwoliłem sobie to przetłumaczyć, ale bez zbytniego lania wody zostawiając esencje. Dodatkowo trochę zmieniłem układ aby treść nie była tak poszatkowana jak w oryginale - wiec opisy zmiennych/komend są razem a nie osobno (co wprowadzało w pewne zakłopotanie co poniektórych :D )&lt;br /&gt;
&lt;br /&gt;
*''Originally by:''' Jon MellinBy, Submitted by: Jason, last updated April 7 2004 at 4:34 PM EDT Gotfrag http://www.gotfrag.net&lt;br /&gt;
CS Netcode Explained&lt;br /&gt;
&lt;br /&gt;
=Opis=&lt;br /&gt;
*W artykule zapoznasz sie z tzw. netkodem gry [[Half-Life]], czyli ta częścią gry która odpowiada za protokół sieciowy itp.&lt;br /&gt;
Mam nadzieje, ze pomoże ci on lepiej ustawić wartości aby osiągnąć lepsze wyniki w grze, jak i usprawnić serwer.&lt;br /&gt;
&lt;br /&gt;
*'''Notka:''' Komendy/zmienne zaczynające sie od sv_ czy też sys_ są komendami/zmiennymi działającymi tylko na serwerze - dedykowanym czy tzw listen.&lt;br /&gt;
Wykonanie powyższych komend w konsoli u klienta zwróci ustawienia na lokalnym komputerze a nie na serwerze.&lt;br /&gt;
Dlatego też trzeba te komendy wpisywać albo w konsoli hlds bezpośrednio (jak jest na screen'ie itp., albo wraz z użyciem komendy rcon,&lt;br /&gt;
albo z żzyciem rcon zastępczych komend/aplikacji działających na serwer - mam tu na myśli komendy typu amx_rcon czy cm_rcon.&lt;br /&gt;
&lt;br /&gt;
Zależność miedzy komenda ex_interp a cl_updaterate jest bardzo ważna i prosimy nie czytać tylko jednego opisu,&lt;br /&gt;
tylko przeczytać też info o drugiej komendzie.&lt;br /&gt;
Ogólnie przeczytaj wszystko aby mieć ogólny zarys tego, co sie dzieje jak sie bawimy kilkoma komendami na raz.&lt;br /&gt;
&lt;br /&gt;
Artykuł oryginalnie był napisany dla osób o szerokopasmowym dostępie do internetu.&lt;br /&gt;
W naszych warunkach czytaj - coś lepszego niż SDI, najlepiej Neostrada i temu podobne.&lt;br /&gt;
&lt;br /&gt;
*Najpierw ogólny opis komend/zmiennych a potem szczegóły, wiec sie nie wkurzać ze 2x to samo czytacie - oryginalny artykuł był bardziej poszatkowany.&lt;br /&gt;
&lt;br /&gt;
=Ogólnie o zmiennych=&lt;br /&gt;
==cl_cmdrate==&lt;br /&gt;
*definiuje ile maksymalnie pakietów może wysłać klient (tzn. ty, graczu ze swojej maszyny) do serwera.&lt;br /&gt;
*numer oznacza liczbę pakietów na sekundę&lt;br /&gt;
Oczywiście więcej znaczy lepiej - szybciej serwer zareaguje na twoje reakcje.&lt;br /&gt;
Traktuj to mniej więcej tak - im większa wartość tym mniejszy poślizg pomiędzy naciśnięciem fire a wysłaniem pakietu.&lt;br /&gt;
&lt;br /&gt;
Jak masz dobre łącze i siedzisz na łączu sam to spoko możesz zwiększyć.&lt;br /&gt;
Jak współdzielisz z kimś łącze (np. neo na 2 osoby) to zbyt wysokie wartości u obu graczy będą powodować nagle lagi i ping spike.&lt;br /&gt;
Wartość maksymalna zależy tu od tego jaki masz upstream do provider'a - czyli ile możesz wysłać w internet.&lt;br /&gt;
&lt;br /&gt;
W idealnym przypadku ta komenda powinna sie równać liczbie fps serwera!!! a nie klienta.&lt;br /&gt;
Jak wyślesz więcej pakietów to serwer je po prostu zignoruje bo nie będzie wyrabiać.&lt;br /&gt;
Tak wiec za wysokie wartości nie zaszkodzą ale tylko będą marnować twoje łącze :D&lt;br /&gt;
'''Rekomendujemy''' cl_cmdrate równe fps serwera lub trochę większe.&lt;br /&gt;
&lt;br /&gt;
Dlatego na serwerach linuksowych często jest 50 a na widowsowych 70&lt;br /&gt;
oczywiście jak serwer ma więcej fps to walimy 100 i sie cieszymy&lt;br /&gt;
&lt;br /&gt;
==cl_updaterate==&lt;br /&gt;
*podobna do poprzedniej komendy ale działa w odwrotnym kierunku.&lt;br /&gt;
*numer definiuje maksymalna liczbę pakietów na sekundę jaka ty możesz otrzymać od serwera.&lt;br /&gt;
*więcej znaczy lepiej ale też zwiększa użycie łącza.&lt;br /&gt;
&lt;br /&gt;
traktuj to jak efekt blyskawicy - ktos strzela to nastepuje blysk (widoczny dla serwera natychmiast),&lt;br /&gt;
jednakze ty jestes nastawiony na grzmot.&lt;br /&gt;
im wieksza wartosc tym szybciej do ciebie grzmot dojdzie (wiem wiem, lopatologicznie...)&lt;br /&gt;
&lt;br /&gt;
*Po prostu szybciej bedziesz mogl zareagowac.&lt;br /&gt;
*Dodatkowo daje to dokladniejsze informacje o rzeczywistym polozeniu przeciwnikow, trafien po kulach itp.&lt;br /&gt;
&lt;br /&gt;
*Wartosc maksymalna zalezy od twojego downstream'u czyli jak szybko mozesz zasysac od provider'a.&lt;br /&gt;
Przewaznie ta wartosc (mam na mysli downstream) jest 4x wieksza od twojego upstream'u&lt;br /&gt;
Dlatego czasem cl_updaterate jest wiekszy 4 razy od cmdate&lt;br /&gt;
&lt;br /&gt;
*Minimalna wartosc jest 10 (dlatego ex_interp ma 0.1, patrz nizej)&lt;br /&gt;
&lt;br /&gt;
Kiedys myslano ze cl_updaterate trza walnac na 101 i zjezdzac w dol. z wartosciami az bedziemy mieli w miare niski&lt;br /&gt;
i zadowalajacy choke (prawie zero ale moze byc 2...3)&lt;br /&gt;
choke widac na net_graph 3&lt;br /&gt;
&lt;br /&gt;
Jednak caly system cl_updaterate jest bardziej zlozony.&lt;br /&gt;
np. serwery CAL daja sv_maxupdaterate 101 wiec normalnie kazdy by se tyle dal na kliencie.&lt;br /&gt;
w teorii jest to poprawne jednak praktyka sie tu rozmija.&lt;br /&gt;
&lt;br /&gt;
Wiekszosc serwerow nie wyciaga 100fps aby obliczyc te wlasnie 100 updaterate na sekunde.&lt;br /&gt;
oznacza to ze nie ma szans aby serwer tyle wyslal w rzeczywistosci.&lt;br /&gt;
&lt;br /&gt;
Pomyslisz - walne se 101 updaterate i tak czy siak tyle max pakietow dostane.&lt;br /&gt;
&lt;br /&gt;
Jak u siebie dasz cl_updaterate 101 to ex_interp bedzie 0.009ms - spodziewa sie gra ze bedziesz mial pakiety co 9ms&lt;br /&gt;
i wszystko bedzie cacy.&lt;br /&gt;
Jednakze serwer ma 50 fps czyli maksymalnie pusci 50 pakietow!!! tak wiec 2 razy mniej.&lt;br /&gt;
Co sie stanie?&lt;br /&gt;
Pakiety przychodza za rzadko i gra nie ma z czego interpolowac polozenia graczy - masz efekt skaczacych modeli.&lt;br /&gt;
No dobra. dajmy na to ze zjade na 70 - efekt skaczacych modeli spadnie.&lt;br /&gt;
Oczywiscie idealnie jak bedziemy mieli cl_updaterate 50 - wtedy iterp bedzie 0.02 i modele nie powinny az tak skakac (tylko z rzadka z powodu lagow)&lt;br /&gt;
&lt;br /&gt;
*Poniewaz klient bez rcon'a nie ma jak sprawdzic ile serwer ma fps i se dobrze dobrac te zmienna, trzeba zgadywac.&lt;br /&gt;
&lt;br /&gt;
Na szczescie mozna to zrobic doswiadczalnie w prostu sposob.&lt;br /&gt;
1. zacznij z cl_updaterate 101, ex_interp 0&lt;br /&gt;
2. zjezdzaj z cl_updaterate w dol. (mniej wiecej o 10 ) az zauwazysz ze modele az tak bardzo nie skacza. (tylko z rzadka z powodu zmiany pinga, lagow itp.)&lt;br /&gt;
&lt;br /&gt;
Oczywiscie &amp;quot;bardzo nie skacza&amp;quot; to kwestia gustu.&lt;br /&gt;
Dopoki ex_interp = 1/cl_updaterate modele beda na wioch rzeczywistych miejscach.&lt;br /&gt;
&lt;br /&gt;
Oznacza to ze kazdy serwer bedzie mial swoje wlasne ustawienia cl_updaterate zalezne od ilosci graczy/lacza/fps - po prosu ile w danej chwili serwer moze z siebie wycisnac.&lt;br /&gt;
Nie bojmy sie zejsc z wartosciami ponizej updaterate 50 bo tak czy siak interpolacja bedzie dzialac.&lt;br /&gt;
&lt;br /&gt;
No dobra, ktos pomysli, ale ja wezme updaterate 20 i bede szedl w gore.&lt;br /&gt;
No to nie jest dobry pomysl bo ex_interp = 1/cl_updaterate.&lt;br /&gt;
Jak mamy 20 to ex_interp = 1/20 = 0.05 &lt;br /&gt;
a jak zwierzymy na 50 to mamy ex_interp = 1/50 = 0.02&lt;br /&gt;
a ex intern 0.05 &amp;gt; 0.02 a H-L domyslnie nie zmniejsza sam z siebie interna.&lt;br /&gt;
wtedy musisz wystukac za kadmy razem ex_interp 0 recznie aby obliczyc go.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tak wiec widac ze istnieje zaleznosc pomiedzy serwer fps, cl_udpaterate i ex_interp 0 razem.&lt;br /&gt;
najlepiej miec updaterate rowny fps serwera a ex_interp 0&lt;br /&gt;
&lt;br /&gt;
'''Rekomendacja:'''&lt;br /&gt;
cl_updaterate rowny fps serwera i nie wiekszy od sv_maxupdaterate.&lt;br /&gt;
&lt;br /&gt;
Koncowa notka: wiele serwerow uzywa sv_maxupdaterate 30 tak wiec cl_updaterate 30 bedzie wtedy wartoscia najlepsza w&lt;br /&gt;
takiej sytuacji.&lt;br /&gt;
&lt;br /&gt;
==sv_maxupdaterate==&lt;br /&gt;
*Jak cl_maxupdaterate ale dziala na serwer - ile klient maksymalnie moze przyjąć od serwera.&lt;br /&gt;
*Szczegolnie uzyteczna jak serwer nie ma za dobrego lacza.&lt;br /&gt;
*Numer oznacz liczbe pakietow na sekunde jaka serwer moze wyslac na sekundę do klienta.&lt;br /&gt;
* przeważnie daje sie sv_maxupdaterate 101.&lt;br /&gt;
Dlatego jesli klient ma cl_updaterate 100, a serwer ma sv_maxupdaterate 50,&lt;br /&gt;
to ten klient i tak nie dostanie wiecej niz. te 50.&lt;br /&gt;
&lt;br /&gt;
''Rekomendyujemy'' zmieniać jaeśli pozwana na to łącze serwera i jego moc procesora.&lt;br /&gt;
&lt;br /&gt;
==sys_ticrate==&lt;br /&gt;
*Definiuje ile maksymalnie tików na sekundę serwer może przetworzyć. Przekłada się to nie bezpośrednio na ilość klatek na sekundą jakie wyciaga serwer.&lt;br /&gt;
*Domyslnie jest 100, maksymalnie 10 000.&lt;br /&gt;
&lt;br /&gt;
Po co to komu?&lt;br /&gt;
&lt;br /&gt;
Miedzy innymi wiecej fps daje ci lepsze poczucie gry.&lt;br /&gt;
Serwery normalnie maja okolo 50fps na linuksie i 64 na widowsach - ale czasem spada to do 20-30 to juz slabo.&lt;br /&gt;
Dobre serwery maja tak ustawione ten ticrate aby fps sie wahalo w granicy 150-180 fps(tzn. ogolnie do 200fps).&lt;br /&gt;
Wiecej i tak ci nic nie da bo nie zauwazysz.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Jak nikogo na serwerze nie ma to powinenes mieć koloło 100 albo 60 fps - serwer po prsotu nic nie robi jak nikogo na serwerze nie ma, i dopiero zaczyna się grzać jak wejdzie ktoś na serwer. Więc zawsze sprawdzaj fps z graczami na serwerze.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Czasem ta komenda nie działa na niektórych platformach.&lt;br /&gt;
*Im większy ticrate tym większe użycie procesora.&lt;br /&gt;
Czasem na mapach de_inferno i de_aztec użycie procka skacze czasem do szalonych wartosci - ale to mowie - czasem.&lt;br /&gt;
Oczywiście najlepiej aby mieć w miarę stabilny poziom fps - bo skoki z 100 do 500 i po chwili znowu na 100 nie sa&lt;br /&gt;
przyjemne i wszystko raczej działa gorzej - to zależy od hardware'u&lt;br /&gt;
Wiec lepiej aby miec mniej ale z mniejszymi fluktuacjami.&lt;br /&gt;
&lt;br /&gt;
*Jak masz dostęp do rcon to możesz sprawdzić aktualne fps na serwerze wpisując&lt;br /&gt;
 rcon stats&lt;br /&gt;
Aby sprawdzić jakiego kopa dostanie serwer na chwile włącz&lt;br /&gt;
 rcon sys_ticrate 10000&lt;br /&gt;
Jest teraz sprawdzisz rcon stats i twój serwer ma powyżej 100fps to znaczy ze boosting działa i sie ciesz, inaczej szukaj innych metod poprawy działania sprzętu&lt;br /&gt;
&lt;br /&gt;
*Zawsze sprawdź statsy kilka razy.&lt;br /&gt;
&lt;br /&gt;
Znajdowanie optymalnej wartosci wymaga troche eksperymentow.&lt;br /&gt;
Najpierw sprawdz czy serwer jest boots'owany, bo inaczej nic ci to nie da.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;Pamietaj ze podnoszenie fps powyzej 200 jest zbyteczne ze wzgledow mozliwosci samej gry i laczy internetowych.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dodatkowo wyciskanie za duzo fps na maszynie ktora ma kilka serwerow hlds na sobie jest niekorzystne dla innych serwerow - spowoduje to tylko pogorszenie gry na obu serwerach bo procesor nie bedzie wyrabial. Nie zapominaj ze czesto na serwerach dziala też www , mail i ftp.&lt;br /&gt;
&lt;br /&gt;
Nie kazdy wie ze czasem serwer fps wskazuje na niektore tylko wartosci albo po prostu dziala na innych&lt;br /&gt;
np. na jednej z maszyn zaobserwowano ze fps ukladaja sie tak: 85, 102, 128, 170, 256 ...&lt;br /&gt;
i zadnych fps (liczb) miedzy nimi.&lt;br /&gt;
&lt;br /&gt;
Wiec jak damy w tym przypadku sys_ticrate 100 to serwer bedzie dzialal na predkosci nizszej ni zapodana&lt;br /&gt;
w typ wypadu bedzie to 85 fps&lt;br /&gt;
&lt;br /&gt;
Dlatego lepiej jest dawac sys_ticrate zwiekszone o 20 do 50 fps niz. te ktora chcesz osiagnac&lt;br /&gt;
np. moze sie zdarzyc ze masz sys_ticrate 150 a serwer bedzie wyciagal tylko 128 fps.&lt;br /&gt;
&lt;br /&gt;
rekomendowane:&lt;br /&gt;
sys_ticrate 110 - 180 w zaleznosci od mozliwosci twojego sprzetu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' sys_ticrate 125, ale lepiej nie przekraczac 200.&lt;br /&gt;
&lt;br /&gt;
==fps_max==&lt;br /&gt;
*ustawia maksymalna ilość FPS jakie ma serwer wyciągać, ale działa także u gracza, tzn jest to zarowno zmienna klienta jak i serwera. Zależy ona od sys_ticrate  -im większe sys_ticrate tym większe fps_max można wycisnąć. Domyślnie serwera stara się wycisnąć 100fps przy pełnym obciążeniu. Jednakże nieraz ta wartośc spada jak serwer nie wyrabia.&lt;br /&gt;
* ustawiamy pewna wartość jak poniżej ( wartośc 100 jest wartością domyślną na serwerach) w [[server.cfg]]&lt;br /&gt;
 fps_max 100&lt;br /&gt;
* nie opłaca się ustawiać raczej fps więcej niż 200, w rzeczywistości aktualnie zoptymalizowane binarki HLDS spokojnie wyciągają i działają ładnie na fps_max 125&lt;br /&gt;
* ilość fps na serwerze zależy od ilości graczy, i mozna ją sprawdzić komendą '''stats'''&lt;br /&gt;
*pamiętaj, że jak nikogo na serwerze nie ma albo jest jeden gracz to ilość fps będzie różnie skakać i nie osiągnie wartości 100 -  dlatego ilość fps sprawdzaj najlepiej przy pełnym obciążeniu serwera.&lt;br /&gt;
==ex_interp==&lt;br /&gt;
*interpolacja czyli przyblizenie wartosci korzystajac z co najmniej 2 wartosci granicznych&lt;br /&gt;
np. srednia ocen w szkole to interpolacja .... :D&lt;br /&gt;
* często blokowany prze [[HLGuard]] w celu zapobieganiu nadużyciom (dośc często niesłusznie blokowany).&lt;br /&gt;
Czemu to sluzy?&lt;br /&gt;
W idealnym ustawieniu mialbys nieskonczona liczbe synchronizacji i bys wiedzial gdzie jest przeciwnik.&lt;br /&gt;
Oczywiste internet na to ci nie pozwoli i dostaniesz tylko skonczona liczbe pakietow.&lt;br /&gt;
Najlatwiej tu jest sie posluzyc interpolacja kola.&lt;br /&gt;
Masz kolo - idealny ksztalt rzeczywisty. Ale ty masz skonczona liczbe kresek do wykorzystania.&lt;br /&gt;
tak wiec wpisujesz wielokat foremny aby jak najbardziej upodobnic go do kola&lt;br /&gt;
Z daleka patrzac nie zauwazysz roznicy czy masz wielokat o 100 bokach czy kolo no ale jak usiadziesz z lupa to sie kapniesz :D&lt;br /&gt;
Przewaznie w CS mamy wielokat o 20 bokach no i tu widac ze nie zawsze pozycja gracza jest pozycja realna gracza.&lt;br /&gt;
&lt;br /&gt;
Na szczescie do gry to starcza gdyz dziala interpolacja - wszelkie pozycje gdzie nie masz informacji gdzie sie znajduje gracz sa interpolowane.&lt;br /&gt;
Po prostu modele na ekranie nie skacza, tylko poruszaja sie plynnie bo sa interpolowane bazujac na pakietach jakie otrzymujesz od serwera.&lt;br /&gt;
&lt;br /&gt;
*Oznacza tu przedzial czasowy do wykorzystania przez gre - jako ulamek sekundy.&lt;br /&gt;
Domyslnie jest to maksymalnie 0.1 Czyli 100 ms - oznacza to ze jesli nie dostaniesz pakietu o polozeniu gracza w ciagu 100ms to H-L bedzie&lt;br /&gt;
Obliczal gdzie on sie znajduje.&lt;br /&gt;
&lt;br /&gt;
*Normalnie ex_interp powinien byc rowny lub troszke wiekszy od 1/cl_updaterate&lt;br /&gt;
*Niektorzy rekomenduja ex_interp 0&lt;br /&gt;
wtedy H-L sam obliczy te wartosc i ci powie ze &amp;quot;ex_interp forced to msec&amp;quot;&lt;br /&gt;
tylko ze jest problem&lt;br /&gt;
#jak zmieniasz jakkolwiek cl_updaterate to potem musisz wywolac ex_interp 0 aby to obliczyl&lt;br /&gt;
#jak masz ex_interp 0 to modela moga zaczac skakac - bo pakiety sie spozniaja, to normalne.&lt;br /&gt;
&lt;br /&gt;
Maksymalnie ex_interp ma 0.1 czyli 100 milisekund - to jest duzo.&lt;br /&gt;
Najczesciej jak masz cl_updaterate 20 to masz ex_interp 0.05 - oczywiscie im wiekszy update tym mniejsza liczba&lt;br /&gt;
&lt;br /&gt;
Niektorzy tylko rekomenduja operowanie cl_updaterate i zostawianie ex_interp'a w spokoju aby sam sie kalkulowal... no ale jestesmy na polskich laczach...&lt;br /&gt;
&lt;br /&gt;
*Czasem wartosci ex_interp ponizej 1/cl_updaterate nie da sie ustawic.&lt;br /&gt;
Czasem wartosci powyzej 1/cl_updaterate sa uwazane za exploit gdyz powoduje z musisz strzelac za rzeczywistym modelem - dlatego jest efekt spozniony headshot'ow - koles przebiegl, ty strzeliles gdzie on &amp;quot;byl&amp;quot; i dostal heda, a krew sika z pustki&lt;br /&gt;
&lt;br /&gt;
Ja sugeruje popatrzec ile ex_interp 0 wyliczy i potem dodac recznie +0.01,&lt;br /&gt;
np. cl_updatertae 20 =&amp;gt; ex_interp 0.05,&lt;br /&gt;
dodajemy i mamy ex_interp 0.06&lt;br /&gt;
efektu spoznionych hedow nie powinno byc tak wiele i modele nie powinny az tak bardzo skakac - no chyba ze lagi :D.&lt;br /&gt;
Natomiast modele nie biegaja na tyle wczesnie aby inni uwazali ze oszukujesz.&lt;br /&gt;
Ja uwazam ze dodanie 0.01 to nie jest expliotem bo netcode nie jest idealny, szczegolnie jak na polskie warunki&lt;br /&gt;
&lt;br /&gt;
Moim zdaniem exploitem jest jak gracz ma cl_updaterate 101 i wtedy powinien miec ex_interp 0.009 (no powiedzmy 0.01) a w rzeczywistosci uzywa ex_interp 0.1 czyli 10x wiekszego!!!&lt;br /&gt;
&lt;br /&gt;
'''Rekomendacja''' ostateczna &lt;br /&gt;
ex_interp 0.1 czyli nie dotykać -  wtedy HLGuard i hego blokowanie zmiennych nie będzie tak uciążliwe.&lt;br /&gt;
&lt;br /&gt;
==rate==&lt;br /&gt;
Jest to ile bajtow mozesz przeslac do serwera. maksymalnie jest 20000, bo wyzej H-L nie wyciagnie.&lt;br /&gt;
standardowo jest chyba 5000 albo i mniej ale np. clanbase uzywa 9999.&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' zatem albo 9999 albo 20000 jesli serwer pozwala, ew jeśli masz słabe łącze to nie więcej niż 80% twojego uploadu.&lt;br /&gt;
&lt;br /&gt;
==sv_maxrate==&lt;br /&gt;
Domyslnie jest rowne 0 co nie oznacza ze jest najlepiej.&lt;br /&gt;
&lt;br /&gt;
Dlaczego?&lt;br /&gt;
sv_maxrate 0 wykryje rate kazdego gracza i bedzie sie staralo spełnic wymogi gracza.&lt;br /&gt;
&lt;br /&gt;
Teraz zalozmy ze H-L daje mozliwosc dania rate powyzej 20 kafli, a jakis gracz ma fantazje i walnie ostra wartosc np. 9999999999 (kosmiczna liczba).&lt;br /&gt;
Serwer w tym przypadku probowalby wypchac te kosmiczna ilosc danych do tego gracza i tylko by marnowal lacze do tej osoby bo i tak tyle nie wysle, a reszta bedzie lagowana bo nie dostanie nic.&lt;br /&gt;
&lt;br /&gt;
*Dodatkowo, dzięki ustawieniu wartośći sv_maxrate możemy przewidywać maksymalne uzycie łącza na miesiąc - jesli płacimy z atransfer w GB.&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' dlatego ustawiac sv_maxrate na 20000.&lt;br /&gt;
&lt;br /&gt;
=LAN=&lt;br /&gt;
No a jak grac na LAN'ie?&lt;br /&gt;
&lt;br /&gt;
organizacje typu [[CPL]] uzywaja cl_updaterate 101 gdyz to sie wiąze z jakoscia posiadanych przez nich serwerów - silne maszyny z booster'ami na bardzo dobrych łączach.&lt;br /&gt;
&lt;br /&gt;
Aby latwo sie przekonac czy serwer na lanie jest z booster'em - popatrz na ping graczy z lan'u.&lt;br /&gt;
*normalny serwer bez booster'a na 60-65 fps powoduje ze gracze maja pingi powyzej 15ms.&lt;br /&gt;
*jak serwer ma wiecej fps ( np ma booster'a)  to pingi sa o wiele mniejsze - przewaznie w granicy 5ms.&lt;br /&gt;
&lt;br /&gt;
Wiadomo ze CPL, ESWC i WCG uzywaja serwerow z booster'ami bo ich na to stać.&lt;br /&gt;
&lt;br /&gt;
=Podziękowania=&lt;br /&gt;
Podziękowania dla:&lt;br /&gt;
*Alfred Reynolds, Valve Software&lt;br /&gt;
*Yahn Bernier, Valve Software&lt;br /&gt;
*Zibbo, UDPSoft&lt;br /&gt;
*The HLDS Mailing Lists&lt;br /&gt;
*The http://server.counter-strike.net forums&lt;br /&gt;
&lt;br /&gt;
translated from english by _KaszpiR_&lt;br /&gt;
&lt;br /&gt;
9 May 2004&lt;/div&gt;</summary>
		<author><name>D4rk</name></author>	</entry>

	<entry>
		<id>http://hlds.pl/CS_1.6_Netcode_Po_Polsku</id>
		<title>CS 1.6 Netcode Po Polsku</title>
		<link rel="alternate" type="text/html" href="http://hlds.pl/CS_1.6_Netcode_Po_Polsku"/>
				<updated>2007-07-06T11:31:41Z</updated>
		
		<summary type="html">&lt;p&gt;D4rk: status -&amp;gt; stats&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[kategoria:HLDS]]&lt;br /&gt;
[[kategoria:E-Sport]]&lt;br /&gt;
[[Kategoria:Netcode]]&lt;br /&gt;
=Wstęp=&lt;br /&gt;
Trochę stary artykuł, będę musiał go odkurzyć z debilizmów, więc się będzie zmieniał co jakiś czas.&lt;br /&gt;
&lt;br /&gt;
--[[Użytkownik:KaszpiR|KaszpiR]] 15:52, 9 sie 2006 (CEST)&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
=Historia=&lt;br /&gt;
CS 1.6 Netcode Explained po Polsku (tłumaczenie by _KaszpiR_ http://nvt.prv.pl )&lt;br /&gt;
&lt;br /&gt;
Artykuł był najpierw dostępny ogólnie na Gotfrag.&lt;br /&gt;
Następnie stal sie tzw Primie - czyli widocznym tylko dla zarejestrowanych.&lt;br /&gt;
Cóż, ale http://google.com przeszło przez niego i zrobiło cache - dlatego bez obrazka, ale liczy sie treść.&lt;br /&gt;
&lt;br /&gt;
A ja pozwoliłem sobie to przetłumaczyć, ale bez zbytniego lania wody zostawiając esencje. Dodatkowo trochę zmieniłem układ aby treść nie była tak poszatkowana jak w oryginale - wiec opisy zmiennych/komend są razem a nie osobno (co wprowadzało w pewne zakłopotanie co poniektórych :D )&lt;br /&gt;
&lt;br /&gt;
*''Originally by:''' Jon MellinBy, Submitted by: Jason, last updated April 7 2004 at 4:34 PM EDT Gotfrag http://www.gotfrag.net&lt;br /&gt;
CS Netcode Explained&lt;br /&gt;
&lt;br /&gt;
=Opis=&lt;br /&gt;
*W artykule zapoznasz sie z tzw. netkodem gry [[Half-Life]], czyli ta częścią gry która odpowiada za protokół sieciowy itp.&lt;br /&gt;
Mam nadzieje, ze pomoże ci on lepiej ustawić wartości aby osiągnąć lepsze wyniki w grze, jak i usprawnić serwer.&lt;br /&gt;
&lt;br /&gt;
*'''Notka:''' Komendy/zmienne zaczynające sie od sv_ czy tez sys_ są komendami/zmiennymi działającymi tylko na serwerze - dedykowanym czy tzw listen.&lt;br /&gt;
Wykonanie powyższych komend w konsoli u klienta zwróci ustawienia na lokalnym komputerze a nie na serwerze.&lt;br /&gt;
Dlatego tez trzeba te komendy wpisywać albo w konsoli hlds bezpośrednio (jak jest na screen'ie itp., albo wraz z użyciem komendy rcon,&lt;br /&gt;
albo z żzyciem rcon zastępczych komend/aplikacji działających na serwer - mam tu na myśli komendy typu amx_rcon czy cm_rcon.&lt;br /&gt;
&lt;br /&gt;
Zależność miedzy komenda ex_interp a cl_updaterate jest bardzo ważna i prosimy nie czytać tylko jednego opisu,&lt;br /&gt;
tylko przeczytać tez info o drugiej komendzie.&lt;br /&gt;
Ogólnie przeczytaj wszystko aby mieć ogólny zarys tego, co sie dzieje jak sie bawimy kilkoma komendami na raz.&lt;br /&gt;
&lt;br /&gt;
Artykuł oryginalnie był napisany dla osób o szerokopasmowym dostępie do internetu.&lt;br /&gt;
W naszych warunkach czytaj - cos lepszego niż SDI, najlepiej Neostrada i temu podobne.&lt;br /&gt;
&lt;br /&gt;
*Najpierw ogólny opis komend/zmiennych a potem szczegóły, wiec sie nie wkurzać ze 2x to samo czytacie - oryginalny artykuł był bardziej poszatkowany.&lt;br /&gt;
&lt;br /&gt;
=Ogólnie o zmiennych=&lt;br /&gt;
==cl_cmdrate==&lt;br /&gt;
*definiuje ile maksymalnie pakietow moze wyslac klient (tzn. ty, graczu ze swojej maszyny) do serwera.&lt;br /&gt;
*numer oznacza liczbe pakietow na sekunde&lt;br /&gt;
Oczywiscie wiecej znaczy lepiej - szybciej serwer zareaguje na twoje reakcje.&lt;br /&gt;
Traktuj to mniej wiecej tak - im wieksza wartosc tym mniejszy poslizg pomiedzy nacisnieciem fire a wyslaniem pakietu.&lt;br /&gt;
&lt;br /&gt;
Jak masz dobre lacze i siedzisz na laczu sam to spoko mozesz zwiekszyc.&lt;br /&gt;
Jak wspoldzielisz z kims lacze (np. neo na 2 osoby) to zbyt wysokie wartosci u obu graczy beda powodowac nagle lagi i ping spike.&lt;br /&gt;
Warotsc maksymalna zalezy tu od tego jaki masz upstream do provider'a - czyli ile mozesz wyslac w internet.&lt;br /&gt;
&lt;br /&gt;
W idealnym przypadku ta komenda powinna sie rownac liczbie fps serwera!!! a nie klienta.&lt;br /&gt;
Jak wyslesz wiecej pakietow to serwer je po prostu zignoruje bo nie bedzie wyrabiac.&lt;br /&gt;
Tak wiec za wysokie wartosci nie zaszkodza ale tylko beda marnowac twoje lacze :D&lt;br /&gt;
'''Rekomendujemy''' cl_cmdrate równe fps serwera lub troche wieksze.&lt;br /&gt;
&lt;br /&gt;
Dlatego na serwerach linuksowych czesto jest 50 a na widowsowych 70&lt;br /&gt;
oczywiscie jak serwer ma wiecej fps to walimy 100 i sie cieszymy&lt;br /&gt;
&lt;br /&gt;
==cl_updaterate==&lt;br /&gt;
*podobna do poprzedniej komendy ale dziala w odwrotnym kierunku.&lt;br /&gt;
*numer definiuje maksymalna liczbe pakietow na sekunde jaka ty mozesz otrzymac od serwera.&lt;br /&gt;
*wiecej znaczy lepiej ale tez zwieksza uzycie lacza.&lt;br /&gt;
&lt;br /&gt;
traktuj to jak efekt blyskawicy - ktos strzela to nastepuje blysk (widoczny dla serwera natychmiast),&lt;br /&gt;
jednakze ty jestes nastawiony na grzmot.&lt;br /&gt;
im wieksza wartosc tym szybciej do ciebie grzmot dojdzie (wiem wiem, lopatologicznie...)&lt;br /&gt;
&lt;br /&gt;
*Po prostu szybciej bedziesz mogl zareagowac.&lt;br /&gt;
*Dodatkowo daje to dokladniejsze informacje o rzeczywistym polozeniu przeciwnikow, trafien po kulach itp.&lt;br /&gt;
&lt;br /&gt;
*Wartosc maksymalna zalezy od twojego downstream'u czyli jak szybko mozesz zasysac od provider'a.&lt;br /&gt;
Przewaznie ta wartosc (mam na mysli downstream) jest 4x wieksza od twojego upstream'u&lt;br /&gt;
Dlatego czasem cl_updaterate jest wiekszy 4 razy od cmdate&lt;br /&gt;
&lt;br /&gt;
*Minimalna wartosc jest 10 (dlatego ex_interp ma 0.1, patrz nizej)&lt;br /&gt;
&lt;br /&gt;
Kiedys myslano ze cl_updaterate trza walnac na 101 i zjezdzac w dol. z wartosciami az bedziemy mieli w miare niski&lt;br /&gt;
i zadowalajacy choke (prawie zero ale moze byc 2...3)&lt;br /&gt;
choke widac na net_graph 3&lt;br /&gt;
&lt;br /&gt;
Jednak caly system cl_updaterate jest bardziej zlozony.&lt;br /&gt;
np. serwery CAL daja sv_maxupdaterate 101 wiec normalnie kazdy by se tyle dal na kliencie.&lt;br /&gt;
w teorii jest to poprawne jednak praktyka sie tu rozmija.&lt;br /&gt;
&lt;br /&gt;
Wiekszosc serwerow nie wyciaga 100fps aby obliczyc te wlasnie 100 updaterate na sekunde.&lt;br /&gt;
oznacza to ze nie ma szans aby serwer tyle wyslal w rzeczywistosci.&lt;br /&gt;
&lt;br /&gt;
Pomyslisz - walne se 101 updaterate i tak czy siak tyle max pakietow dostane.&lt;br /&gt;
&lt;br /&gt;
Jak u siebie dasz cl_updaterate 101 to ex_interp bedzie 0.009ms - spodziewa sie gra ze bedziesz mial pakiety co 9ms&lt;br /&gt;
i wszystko bedzie cacy.&lt;br /&gt;
Jednakze serwer ma 50 fps czyli maksymalnie pusci 50 pakietow!!! tak wiec 2 razy mniej.&lt;br /&gt;
Co sie stanie?&lt;br /&gt;
Pakiety przychodza za rzadko i gra nie ma z czego interpolowac polozenia graczy - masz efekt skaczacych modeli.&lt;br /&gt;
No dobra. dajmy na to ze zjade na 70 - efekt skaczacych modeli spadnie.&lt;br /&gt;
Oczywiscie idealnie jak bedziemy mieli cl_updaterate 50 - wtedy iterp bedzie 0.02 i modele nie powinny az tak skakac (tylko z rzadka z powodu lagow)&lt;br /&gt;
&lt;br /&gt;
*Poniewaz klient bez rcon'a nie ma jak sprawdzic ile serwer ma fps i se dobrze dobrac te zmienna, trzeba zgadywac.&lt;br /&gt;
&lt;br /&gt;
Na szczescie mozna to zrobic doswiadczalnie w prostu sposob.&lt;br /&gt;
1. zacznij z cl_updaterate 101, ex_interp 0&lt;br /&gt;
2. zjezdzaj z cl_updaterate w dol. (mniej wiecej o 10 ) az zauwazysz ze modele az tak bardzo nie skacza. (tylko z rzadka z powodu zmiany pinga, lagow itp.)&lt;br /&gt;
&lt;br /&gt;
Oczywiscie &amp;quot;bardzo nie skacza&amp;quot; to kwestia gustu.&lt;br /&gt;
Dopoki ex_interp = 1/cl_updaterate modele beda na wioch rzeczywistych miejscach.&lt;br /&gt;
&lt;br /&gt;
Oznacza to ze kazdy serwer bedzie mial swoje wlasne ustawienia cl_updaterate zalezne od ilosci graczy/lacza/fps - po prosu ile w danej chwili serwer moze z siebie wycisnac.&lt;br /&gt;
Nie bojmy sie zejsc z wartosciami ponizej updaterate 50 bo tak czy siak interpolacja bedzie dzialac.&lt;br /&gt;
&lt;br /&gt;
No dobra, ktos pomysli, ale ja wezme updaterate 20 i bede szedl w gore.&lt;br /&gt;
No to nie jest dobry pomysl bo ex_interp = 1/cl_updaterate.&lt;br /&gt;
Jak mamy 20 to ex_interp = 1/20 = 0.05 &lt;br /&gt;
a jak zwierzymy na 50 to mamy ex_interp = 1/50 = 0.02&lt;br /&gt;
a ex intern 0.05 &amp;gt; 0.02 a H-L domyslnie nie zmniejsza sam z siebie interna.&lt;br /&gt;
wtedy musisz wystukac za kadmy razem ex_interp 0 recznie aby obliczyc go.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tak wiec widac ze istnieje zaleznosc pomiedzy serwer fps, cl_udpaterate i ex_interp 0 razem.&lt;br /&gt;
najlepiej miec updaterate rowny fps serwera a ex_interp 0&lt;br /&gt;
&lt;br /&gt;
'''Rekomendacja:'''&lt;br /&gt;
cl_updaterate rowny fps serwera i nie wiekszy od sv_maxupdaterate.&lt;br /&gt;
&lt;br /&gt;
Koncowa notka: wiele serwerow uzywa sv_maxupdaterate 30 tak wiec cl_updaterate 30 bedzie wtedy wartoscia najlepsza w&lt;br /&gt;
takiej sytuacji.&lt;br /&gt;
&lt;br /&gt;
==sv_maxupdaterate==&lt;br /&gt;
*Jak cl_maxupdaterate ale dziala na serwer - ile klient maksymalnie moze przyjąć od serwera.&lt;br /&gt;
*Szczegolnie uzyteczna jak serwer nie ma za dobrego lacza.&lt;br /&gt;
*Numer oznacz liczbe pakietow na sekunde jaka serwer moze wyslac na sekundę do klienta.&lt;br /&gt;
* przeważnie daje sie sv_maxupdaterate 101.&lt;br /&gt;
Dlatego jesli klient ma cl_updaterate 100, a serwer ma sv_maxupdaterate 50,&lt;br /&gt;
to ten klient i tak nie dostanie wiecej niz. te 50.&lt;br /&gt;
&lt;br /&gt;
''Rekomendyujemy'' zmieniać jaeśli pozwana na to łącze serwera i jego moc procesora.&lt;br /&gt;
&lt;br /&gt;
==sys_ticrate==&lt;br /&gt;
*Definiuje ile maksymalnie tików na sekundę serwer może przetworzyć. Przekłada się to nie bezpośrednio na ilość klatek na sekundą jakie wyciaga serwer.&lt;br /&gt;
*Domyslnie jest 100, maksymalnie 10 000.&lt;br /&gt;
&lt;br /&gt;
Po co to komu?&lt;br /&gt;
&lt;br /&gt;
Miedzy innymi wiecej fps daje ci lepsze poczucie gry.&lt;br /&gt;
Serwery normalnie maja okolo 50fps na linuksie i 64 na widowsach - ale czasem spada to do 20-30 to juz slabo.&lt;br /&gt;
Dobre serwery maja tak ustawione ten ticrate aby fps sie wahalo w granicy 150-180 fps(tzn. ogolnie do 200fps).&lt;br /&gt;
Wiecej i tak ci nic nie da bo nie zauwazysz.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Jak nikogo na serwerze nie ma to powinenes mieć koloło 100 albo 60 fps - serwer po prsotu nic nie robi jak nikogo na serwerze nie ma, i dopiero zaczyna się grzać jak wejdzie ktoś na serwer. Więc zawsze sprawdzaj fps z graczami na serwerze.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Czasem ta komenda nie dziala na niektorych platformach.&lt;br /&gt;
*Im wiekszy ticrate tym wieksze uzycie procesora.&lt;br /&gt;
Czasem na mapach de_inferno i de_aztec uzycie procka skacze czasem do szalonych wartosci - ale to mowie - czasem.&lt;br /&gt;
Oczywiscie najlepiej aby miec w miare stabilny poziom fps - bo skoki z 100 do 500 i po chwili znowu na 100 nie sa&lt;br /&gt;
przyjemne i wszystko raczej dziala gorzej - to zalezy od hardware'u&lt;br /&gt;
Wiec lepiej aby miec mniej ale z mniejszymi fluktuacjami.&lt;br /&gt;
&lt;br /&gt;
*Jak masz dostep do rcon to mozesz sprawdzic aktualne fps na serwerze wpisujac&lt;br /&gt;
 rcon stats&lt;br /&gt;
Aby sprawdzic jakiego kopa dostanie serwer na chwile wlacz&lt;br /&gt;
 rcon sys_ticrate 10000&lt;br /&gt;
Jest teraz sprawdzisz rcon stats i twoj serwer ma powyzej 100fps to znaczy ze boosting dziala i sie ciesz, inaczej szukaj innych metod poprawy dzialania sprzetu&lt;br /&gt;
&lt;br /&gt;
*Zawsze sprawdz statsy kilka razy.&lt;br /&gt;
&lt;br /&gt;
Znajdowanie optymalnej wartosci wymaga troche eksperymentow.&lt;br /&gt;
Najpierw sprawdz czy serwer jest boots'owany, bo inaczej nic ci to nie da.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;Pamietaj ze podnoszenie fps powyzej 200 jest zbyteczne ze wzgledow mozliwosci samej gry i laczy internetowych.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dodatkowo wyciskanie za duzo fps na maszynie ktora ma kilka serwerow hlds na sobie jest niekorzystne dla innych serwerow - spowoduje to tylko pogorszenie gry na obu serwerach bo procesor nie bedzie wyrabial. Nie zapominaj ze czesto na serwerach dziala tez www , mail i ftp.&lt;br /&gt;
&lt;br /&gt;
Nie kazdy wie ze czasem serwer fps wskazuje na niektore tylko wartosci albo po prostu dziala na innych&lt;br /&gt;
np. na jednej z maszyn zaobserwowano ze fps ukladaja sie tak: 85, 102, 128, 170, 256 ...&lt;br /&gt;
i zadnych fps (liczb) miedzy nimi.&lt;br /&gt;
&lt;br /&gt;
Wiec jak damy w tym przypadku sys_ticrate 100 to serwer bedzie dzialal na predkosci nizszej ni zapodana&lt;br /&gt;
w typ wypadu bedzie to 85 fps&lt;br /&gt;
&lt;br /&gt;
Dlatego lepiej jest dawac sys_ticrate zwiekszone o 20 do 50 fps niz. te ktora chcesz osiagnac&lt;br /&gt;
np. moze sie zdarzyc ze masz sys_ticrate 150 a serwer bedzie wyciagal tylko 128 fps.&lt;br /&gt;
&lt;br /&gt;
rekomendowane:&lt;br /&gt;
sys_ticrate 110 - 180 w zaleznosci od mozliwosci twojego sprzetu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' sys_ticrate 125, ale lepiej nie przekraczac 200.&lt;br /&gt;
&lt;br /&gt;
==fps_max==&lt;br /&gt;
*ustawia maksymalna ilość FPS jakie ma serwer wyciągać, ale działa także u gracza, tzn jest to zarowno zmienna klienta jak i serwera. Zależy ona od sys_ticrate  -im większe sys_ticrate tym większe fps_max można wycisnąć. Domyślnie serwera stara się wycisnąć 100fps przy pełnym obciążeniu. Jednakże nieraz ta wartośc spada jak serwer nie wyrabia.&lt;br /&gt;
* ustawiamy pewna wartość jak poniżej ( wartośc 100 jest wartością domyślną na serwerach) w [[server.cfg]]&lt;br /&gt;
 fps_max 100&lt;br /&gt;
* nie opłaca się ustawiać raczej fps więcej niż 200, w rzeczywistości aktualnie zoptymalizowane binarki HLDS spokojnie wyciągają i działają ładnie na fps_max 125&lt;br /&gt;
* ilość fps na serwerze zależy od ilości graczy, i mozna ją sprawdzić komendą '''stats'''&lt;br /&gt;
*pamiętaj, że jak nikogo na serwerze nie ma albo jest jeden gracz to ilość fps będzie różnie skakać i nie osiągnie wartości 100 -  dlatego ilość fps sprawdzaj najlepiej przy pełnym obciążeniu serwera.&lt;br /&gt;
==ex_interp==&lt;br /&gt;
*interpolacja czyli przyblizenie wartosci korzystajac z co najmniej 2 wartosci granicznych&lt;br /&gt;
np. srednia ocen w szkole to interpolacja .... :D&lt;br /&gt;
* często blokowany prze [[HLGuard]] w celu zapobieganiu nadużyciom (dośc często niesłusznie blokowany).&lt;br /&gt;
Czemu to sluzy?&lt;br /&gt;
W idealnym ustawieniu mialbys nieskonczona liczbe synchronizacji i bys wiedzial gdzie jest przeciwnik.&lt;br /&gt;
Oczywiste internet na to ci nie pozwoli i dostaniesz tylko skonczona liczbe pakietow.&lt;br /&gt;
Najlatwiej tu jest sie posluzyc interpolacja kola.&lt;br /&gt;
Masz kolo - idealny ksztalt rzeczywisty. Ale ty masz skonczona liczbe kresek do wykorzystania.&lt;br /&gt;
tak wiec wpisujesz wielokat foremny aby jak najbardziej upodobnic go do kola&lt;br /&gt;
Z daleka patrzac nie zauwazysz roznicy czy masz wielokat o 100 bokach czy kolo no ale jak usiadziesz z lupa to sie kapniesz :D&lt;br /&gt;
Przewaznie w CS mamy wielokat o 20 bokach no i tu widac ze nie zawsze pozycja gracza jest pozycja realna gracza.&lt;br /&gt;
&lt;br /&gt;
Na szczescie do gry to starcza gdyz dziala interpolacja - wszelkie pozycje gdzie nie masz informacji gdzie sie znajduje gracz sa interpolowane.&lt;br /&gt;
Po prostu modele na ekranie nie skacza, tylko poruszaja sie plynnie bo sa interpolowane bazujac na pakietach jakie otrzymujesz od serwera.&lt;br /&gt;
&lt;br /&gt;
*Oznacza tu przedzial czasowy do wykorzystania przez gre - jako ulamek sekundy.&lt;br /&gt;
Domyslnie jest to maksymalnie 0.1 Czyli 100 ms - oznacza to ze jesli nie dostaniesz pakietu o polozeniu gracza w ciagu 100ms to H-L bedzie&lt;br /&gt;
Obliczal gdzie on sie znajduje.&lt;br /&gt;
&lt;br /&gt;
*Normalnie ex_interp powinien byc rowny lub troszke wiekszy od 1/cl_updaterate&lt;br /&gt;
*Niektorzy rekomenduja ex_interp 0&lt;br /&gt;
wtedy H-L sam obliczy te wartosc i ci powie ze &amp;quot;ex_interp forced to msec&amp;quot;&lt;br /&gt;
tylko ze jest problem&lt;br /&gt;
#jak zmieniasz jakkolwiek cl_updaterate to potem musisz wywolac ex_interp 0 aby to obliczyl&lt;br /&gt;
#jak masz ex_interp 0 to modela moga zaczac skakac - bo pakiety sie spozniaja, to normalne.&lt;br /&gt;
&lt;br /&gt;
Maksymalnie ex_interp ma 0.1 czyli 100 milisekund - to jest duzo.&lt;br /&gt;
Najczesciej jak masz cl_updaterate 20 to masz ex_interp 0.05 - oczywiscie im wiekszy update tym mniejsza liczba&lt;br /&gt;
&lt;br /&gt;
Niektorzy tylko rekomenduja operowanie cl_updaterate i zostawianie ex_interp'a w spokoju aby sam sie kalkulowal... no ale jestesmy na polskich laczach...&lt;br /&gt;
&lt;br /&gt;
*Czasem wartosci ex_interp ponizej 1/cl_updaterate nie da sie ustawic.&lt;br /&gt;
Czasem wartosci powyzej 1/cl_updaterate sa uwazane za exploit gdyz powoduje z musisz strzelac za rzeczywistym modelem - dlatego jest efekt spozniony headshot'ow - koles przebiegl, ty strzeliles gdzie on &amp;quot;byl&amp;quot; i dostal heda, a krew sika z pustki&lt;br /&gt;
&lt;br /&gt;
Ja sugeruje popatrzec ile ex_interp 0 wyliczy i potem dodac recznie +0.01,&lt;br /&gt;
np. cl_updatertae 20 =&amp;gt; ex_interp 0.05,&lt;br /&gt;
dodajemy i mamy ex_interp 0.06&lt;br /&gt;
efektu spoznionych hedow nie powinno byc tak wiele i modele nie powinny az tak bardzo skakac - no chyba ze lagi :D.&lt;br /&gt;
Natomiast modele nie biegaja na tyle wczesnie aby inni uwazali ze oszukujesz.&lt;br /&gt;
Ja uwazam ze dodanie 0.01 to nie jest expliotem bo netcode nie jest idealny, szczegolnie jak na polskie warunki&lt;br /&gt;
&lt;br /&gt;
Moim zdaniem exploitem jest jak gracz ma cl_updaterate 101 i wtedy powinien miec ex_interp 0.009 (no powiedzmy 0.01) a w rzeczywistosci uzywa ex_interp 0.1 czyli 10x wiekszego!!!&lt;br /&gt;
&lt;br /&gt;
'''Rekomendacja''' ostateczna &lt;br /&gt;
ex_interp 0.1 czyli nie dotykać -  wtedy HLGuard i hego blokowanie zmiennych nie będzie tak uciążliwe.&lt;br /&gt;
&lt;br /&gt;
==rate==&lt;br /&gt;
Jest to ile bajtow mozesz przeslac do serwera. maksymalnie jest 20000, bo wyzej H-L nie wyciagnie.&lt;br /&gt;
standardowo jest chyba 5000 albo i mniej ale np. clanbase uzywa 9999.&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' zatem albo 9999 albo 20000 jesli serwer pozwala, ew jeśli masz słabe łącze to nie więcej niż 80% twojego uploadu.&lt;br /&gt;
&lt;br /&gt;
==sv_maxrate==&lt;br /&gt;
Domyslnie jest rowne 0 co nie oznacza ze jest najlepiej.&lt;br /&gt;
&lt;br /&gt;
Dlaczego?&lt;br /&gt;
sv_maxrate 0 wykryje rate kazdego gracza i bedzie sie staralo spełnic wymogi gracza.&lt;br /&gt;
&lt;br /&gt;
Teraz zalozmy ze H-L daje mozliwosc dania rate powyzej 20 kafli, a jakis gracz ma fantazje i walnie ostra wartosc np. 9999999999 (kosmiczna liczba).&lt;br /&gt;
Serwer w tym przypadku probowalby wypchac te kosmiczna ilosc danych do tego gracza i tylko by marnowal lacze do tej osoby bo i tak tyle nie wysle, a reszta bedzie lagowana bo nie dostanie nic.&lt;br /&gt;
&lt;br /&gt;
*Dodatkowo, dzięki ustawieniu wartośći sv_maxrate możemy przewidywać maksymalne uzycie łącza na miesiąc - jesli płacimy z atransfer w GB.&lt;br /&gt;
&lt;br /&gt;
'''Rekomendujemy''' dlatego ustawiac sv_maxrate na 20000.&lt;br /&gt;
&lt;br /&gt;
=LAN=&lt;br /&gt;
No a jak grac na LAN'ie?&lt;br /&gt;
&lt;br /&gt;
organizacje typu [[CPL]] uzywaja cl_updaterate 101 gdyz to sie wiąze z jakoscia posiadanych przez nich serwerów - silne maszyny z booster'ami na bardzo dobrych łączach.&lt;br /&gt;
&lt;br /&gt;
Aby latwo sie przekonac czy serwer na lanie jest z booster'em - popatrz na ping graczy z lan'u.&lt;br /&gt;
*normalny serwer bez booster'a na 60-65 fps powoduje ze gracze maja pingi powyzej 15ms.&lt;br /&gt;
*jak serwer ma wiecej fps ( np ma booster'a)  to pingi sa o wiele mniejsze - przewaznie w granicy 5ms.&lt;br /&gt;
&lt;br /&gt;
Wiadomo ze CPL, ESWC i WCG uzywaja serwerow z booster'ami bo ich na to stać.&lt;br /&gt;
&lt;br /&gt;
=Podziękowania=&lt;br /&gt;
Podziękowania dla:&lt;br /&gt;
*Alfred Reynolds, Valve Software&lt;br /&gt;
*Yahn Bernier, Valve Software&lt;br /&gt;
*Zibbo, UDPSoft&lt;br /&gt;
*The HLDS Mailing Lists&lt;br /&gt;
*The http://server.counter-strike.net forums&lt;br /&gt;
&lt;br /&gt;
translated from english by _KaszpiR_&lt;br /&gt;
&lt;br /&gt;
9 May 2004&lt;/div&gt;</summary>
		<author><name>D4rk</name></author>	</entry>

	</feed>