Grasz od miesięcy, masz podkręconą mysz, crosshair ustawiony pod pro gracza, eDPI w punkcie — a i tak dostajesz headshotem przez ścianę albo widzisz, że trafiłeś, ale serwer tego nie uznał. Winisz celność, może RNG. Tymczasem problem siedzi w miejscu, na które prawie nikt nie patrzy: w ustawieniach sieciowych.

TL;DR: Optymalne ustawienia dla połączeń powyżej 20 Mbps to rate 786432, brak ręcznego cl_cmdrate (silnik zarządza tym automatycznie w CS2), cl_interp 0 i cl_interp_ratio 1. Jeśli masz packet loss lub wysoki choke, zmiany komend ci nie pomogą — problem leży po stronie ISP lub routera.


Sieć jako “cichy zabójca” rankingu – dlaczego to poważniejsze niż myślisz

W CS:GO społeczność latami kłóciła się o tickrate 64 vs 128. CS2 zmienił paradygmat, wprowadzając subtick – serwer rejestruje dokładny moment zdarzenia (strzału, ruchu, trafienia) z rozdzielczością mniejszą niż jeden tick. W teorii to rewolucja. W praktyce: nawet subtick nie wyczaruje straconych pakietów z powietrza.

Kiedy twój klient wysyła informację o strzale, musi ona dotrzeć do serwera, zostać przetworzona i wrócić jako potwierdzenie. Przy złych ustawieniach rate część pakietów jest throttlowana – silnik dosłownie kolejkuje i opóźnia dane, zanim je wyśle. Efekt? Twoja lokalna animacja postaci wroga wybiega kilkadziesiąt milisekund do przodu względem tego, co zna serwer. Strzelasz w cel, który na serwerze jest już dwa kroki dalej.

Brzmi abstrakcyjnie? Steam NetGraph (dostępny przez net_graph 1 w konsoli) dostarcza twardych danych — przy zbyt niskim rate wartość choke rośnie do kilku–kilkunastu procent, co oznacza, że silnik wyrzuca twoje pakiety do śmieci przed wysłaniem.


Co oznaczają komendy i jakie są optymalne wartości

Two adult men experiencing disappointment while playing PC games in a modern indoor gaming arcade setting.

rate – przepustowość połączenia z serwerem

To najważniejsza komenda. Określa maksymalną ilość danych (w bajtach na sekundę), jaką klient może wymieniać z serwerem.

Połączenie Wartość rate
Poniżej 1,5 Mbps (słabe mobilne) 196608
1,5–6 Mbps 393216
Powyżej 6 Mbps (standard domowy) 786432

Valve oficjalnie rekomenduje rate 786432 dla każdego, kto ma stałe łącze. To wartość domyślna po aktualizacji z marca 2023 (patchnotes CS2 Beta), ale jeśli masz stare pliki konfiguracyjne przeniesione z CS:GO — możesz mieć tam archaiczne rate 128000 z 2015 roku. Sprawdź to.

cl_cmdrate i cl_updaterate – czy w ogóle je ustawiać?

W CS2 wartości te są zarządzane przez silnik subtick i Valve zaleca, żeby ich nie ustawiać ręcznie. Wpisanie cl_cmdrate 128 nie sprawi, że serwer oficjalnego matchmakingu będzie działał szybciej — te serwery mają własne parametry, których klient nie może nadpisać. Na FACEIT sytuacja jest analogiczna. Zostaw te komendy w spokoju, chyba że grasz na własnym serwerze community z pełną konfiguracją.

cl_interp i cl_interp_ratio – interpolacja, czyli “wygładzanie” ruchu

Interpolacja wygładza ruch graczy między pakietami — twój klient “domyśla się”, gdzie jest przeciwnik między kolejnymi aktualizacjami pozycji. Bez niej przy minimalnym lagówaniu ruchy wrogów byłyby teleportacją.

  • cl_interp 0 – oddaje kontrolę silnikowi, który sam dobiera minimalną wartość (zwykle 0.015625 s, czyli 1/64 s). Zalecane.
  • cl_interp_ratio 1 – interpolacja na podstawie jednego interwału między pakietami. Minimalne opóźnienie.
  • cl_interp_ratio 2 – bezpieczniejsze przy packet loss, ale dodaje opóźnienie odpowiadające dodatkowym ~16 ms. Używaj tylko wtedy, gdy NetGraph stale pokazuje straty pakietów.

Przy cl_interp_ratio 1 i cl_interp 0 wrogiem jest wysoki ping. Interpolacja przesuwa logicznie zarejestrowane trafienie w przeszłość (tzw. lag compensation), ale ta kompensacja ma granicę — domyślnie około 200 ms (parametr serwerowy sv_maxunlag). Jeśli twój ping regularnie przekracza 100 ms, nawet idealne cl_interp nie uratuje rejestrowania trafień.


NetGraph – jak odczytać dane i co naprawdę boli

Close-up of HTML code displayed on a computer monitor, showcasing web development.

Wpisz w konsoli net_graph 1 (lub net_graphpos do ustawienia pozycji). Kluczowe wartości:

  • Ping – czas RTT do serwera. Poniżej 30 ms: świetnie. 30–70 ms: akceptowalnie. Powyżej 100 ms: czas dzwonić do ISP.
  • Choke – procent pakietów zablokowanych po stronie klienta przed wysłaniem. Jeśli choke > 0% regularnie, twoje rate jest za niskie albo połączenie jest throttlowane przez router (QoS).
  • Loss – procent pakietów utraconych po drodze. To wina sieci (ISP, Wi-Fi, kabel) — żadna komenda konsolowa tego nie naprawi.
  • In/Out (kb/s) – aktualna przepustowość. Jeśli “out” stale obcina się na limicie i rośnie choke, podnieś rate.

Dane z community benchmarków (HLTV forums, r/GlobalOffensive migracja do r/cs2) potwierdzają: gracze z rate 128000 (stare pliki CS:GO) odnotowywali choke na poziomie 5–15% na serwerach Valve. Po zmianie na 786432 choke zerował się natychmiast. Różnica w odczuciu rejestracji strzałów jest widoczna też w demo: trafienia zanikały przy dużym choke.

Jeśli chcesz głębiej wgryźć się w temat monitorowania wydajności, zerknij na jak sprawdzić ping i FPS w CS2 — tam znajdziesz też inne przydatne komendy diagnostyczne.


Gotowy config sieciowy – wklej do autoexec.cfg

rate 786432
cl_interp 0
cl_interp_ratio 1
cl_lagcompensation 1

Cztery linijki. Reszta to mity z ery CS:GO, które nie mają zastosowania w CS2. Plik autoexec.cfg umieść w folderze: Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg\

I uruchom CS2 z parametrem startowym -exec autoexec (przez Właściwości gry w Steam → Parametry uruchamiania).

Ustawienia sieciowe działają w synergii z płynnością klatki. Przy niskim FPS twój klient rzadziej wysyła dane wejściowe — co pośrednio wpływa na precyzję rejestracji. Jeśli gryzie cię sprzęt, sprawdź najlepsze ustawienia graficzne CS2 na słaby PC, żeby wyrównać ten front.


Poza konsolą – co jeszcze wpływa na stabilność sieci

Komendy to ostatni etap optymalizacji, nie pierwszy. Zanim je wklepiesz, upewnij się, że:

  • Grasz po kablu, nie po Wi-Fi. To nie jest przesąd — Wi-Fi 6 na krótkim dystansie bywa stabilne, ale jitter (wahania latencji) typowy dla Wi-Fi to najgorszy możliwy scenariusz dla rejestracji strzałów.
  • Router nie ma włączonego agresywnego QoS priorytetyzującego streaming/YouTube nad ruchem UDP gier.
  • Wybierasz właściwy serwer. W menu CS2 możesz ograniczyć matchmaking do konkretnych regionów — Settings → Game → Acceptable Ping Limit. Z Polski na zachodnioeuropejskich serwerach 20–40 ms to norma; trafienie na serwer z Dubaju to inna historia.
  • Nie masz innych urządzeń w sieci nasycających łącze. Backup dysku w chmurze przy starcie meczu potrafi zrobić cuda z packet loss.

Wybór trybu gry też ma znaczenie — premier vs matchmaking CS2 a FACEIT to różne ekosystemy serwerów z różnymi parametrami sieciowymi, warto mieć to z tyłu głowy przy diagnozowaniu problemów.


Najczęstsze błędy

  • Kopiowanie starych configów z CS:GO – archaiczne wartości rate, nieistniejące komendy (np. cl_cmdrate 128 w CS2 jest ignorowane lub może powodować konflikty).
  • Wpisywanie cl_interp 0.1 – to wysoka wartość, dodająca 100 ms do rejestracji zdarzeń. Widoczna w starych “pro configach” krążących po YouTube jako clickbait.
  • Podkręcanie rate powyżej 786432 – nie ma wyższych progów obsługiwanych przez serwery Valve. Wpisanie rate 1000000 nic nie zmienia.
  • Ignorowanie cl_lagcompensation – musi być 1. Gdy jest 0, serwer nie wykonuje wstecznej kompensacji lag i trafienia w ruchome cele są znacznie rzadziej uznawane.
  • Diagnozowanie “złej sieci” bez NetGraph – bez danych to wróżenie z fusów. Uruchom net_graph 1, zagraj rundę, sprawdź choke i loss zanim zaczniesz