Skocz do zawartości

Witamy na n00bs.pl - Sieć serwerów counter strike
Zarejestruj się, aby uzyskać dostęp do wszystkich funkcji naszego forum. Gdy już się zarejestrujesz i zalogujesz będziesz mógł tworzyć nowe tematy, pisać posty, otrzymywać reputację od innych użytkowników oraz będziesz mógł również korzystać z prywatnych wiadomości, aktualizacji statusu i wiele więcej. Jeżeli posiadasz już konto, zaloguj się, klikając tu - a jeśli jesteś nowym użytkownikiem stwórz swoje własne konto!
Zdjęcie

Obszerny poradnik na temat łącz, opóźnień w grze etc. By 1amm


  • Zaloguj się, aby dodać odpowiedź
5 odpowiedzi w tym temacie

#1
1am

1am
  • Imagine the unimaginable

  • Grupa: n00bs!
  • Postów: 672
  • Reputacja: 930
  • Nick steam: emocjonalnycham
  • Miejscowośćdeep dark abyss

*
Popularny

Krótkie FAQ (Q - Question, A - Answer):




Q: Jak sprawdzić kto jest moim ISP (dostawcą internetu), oraz jaki mam adres IP?

A: Najlepiej będzie to zrobić poprzez stronę typu myip/whoisip itp. Np. http://whatismyipaddress.com/
Dostaniemy informację o naszym dostawcy internetu, oraz nasz adres IP.


Q: Jak sprawdzić moją prędkość łącza oraz ping?

A: Poprzez strony typu speedtest. Polecam w tym celu speedtest.net z możliwością wybrania
optymalnego serwera do testu.


Q: Jak sprawdzić jakie dokładnie mam opóźnienie na serwerze w CS'ie?

A: Poprzez dopisanie do configu, lub wpisanie w consoli podczas gry komendy net_graph 3.







Część I.

Łącze internetowe.




Zacznijmy od pewnego problemu który prawdopodobnie dotyczy większości graczy. Często wchodzimy na jakiś serwer i chociaż wydaje nam się że skoro mamy te 100fps i nie za duży ping to wszystko powinno być dobrze. Niestety czasami dzieje się tak że po prostu 'lamimy', nie mozemy nic trafic, ludzie nie maja dla nas głów i szukamy wymówek typu "masz zły interp". :down:


Ale zazwyczaj nie przychodzi nam do głowy ze może to być wina obciążenia naszej sieci, bądź ustawień sieci naszego dostawcy internetowego, bądź tzw. domyślnych ustawień systemowych :down:


Problem który omówimy i spróbujemy rozwiązać nazywa się MTU (Maximum Transmission Unit). Podczas połączenia z internetem system dzieli przesyłane dane na datagramy (pakiety), niestety domyślna wartość MTU w systemie Windows wynosi 1500 co przeważnie nie wpływa korzystnie na działanie sieci. :down: Tak duży pakiet przeważnie jest dalej fragmentowany ponieważ większość serwerów nie obsługuje takiej wielkości i pakiet musi zostać podzielony na mniejsze kawałki, przez co połączenia internetowe są spowalniane, ponieważ rozmiar pakietów jest od nowa liczony, bądź też pakiety uciekają i nie docierają w ogóle do miejsca docelowego. :down:


Teraz opiszę jak sprawdzić jakie MTU najlepiej pasowałoby pod nasze łącze:


1. Klikamy przycisk START -> Uruchom, wpisujemy cmd.exe i klikamy OK.

2. Wpisujemy IPCONFIG lub WINIPCONFIG

3. Po wpisaniu wyświetlają nam się różne adresy. My zapisujemy sobie IP 'Bramy domyślnej'.

4. Kiedy mamy już IP wpisujemy w cmd: ping -f -l 1500 192.168.1.1 (ten adres IP jest przykładowy).

5. Po wpisaniu i kliknięciu ENTER, najprawdopodobniej wyświetli się nam kilka razy pod spodem 'Pakiet musi być podzielony na fragmenty, ale ustawiono opcję DF'

6. Jeśli się tak stanie powtarzajmy komendę ktorą wpisaliśmy wcześniej, zastępując wartość 1500 mniejszymi np. 1492, 1482, 1472... itp.

7. Kiedy ustalimy możliwie najwyższa wartość przy której nasze pakiety nie będa dzielone na fragmenty zapiszmy ja sobie. Dajmy na to że będzie to np. 1472.


Mając już wartość MTU możemy ją ustawić w naszym systemie, a robimy to za pomocą, tego programu: CMTU Tool


Zapisujemy plik np. na pulpit i uruchamiamy CMTU. Wpisujemy w okienku programu naszą wartość + 28. Koniecznie trzeba pamiętać o tym, aby do naszej wartości MTU dodać liczbę 28 np. 1450 + 28 = 1478. Następnie uruchamiamy ponownie komputer.



UWAGA! W nowszych systemach Vista/Win7 może to nie wystarczać, dlatego też opiszę dodatkowy sposób na zmianę wartości MTU.


Za pomocą rejestru systemu windows:

- Otwieramy edytor rejestru systemu windows:
Menu Start, Uruchom: "regedit" [ENTER] (w angielskiej wersji: Start, Run po czym wpisujemy regedit [Enter]).

- Pokazało się drzewo rejestru. Musimy przejść w odpowiednie miejsce, zatem:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces
Otworzy się nam "katalog" z listą wszystkich obecnych w systemie interfejsów sieciowych. Będzie ich z pewnością więcej niż jeden, ponieważ MS Windows za urządzenie sieciowe uznaje każde urządzenie bądź interfejs programowy, który może przesyłać dane.

- Musimy teraz znaleźć interesujący nas interfejs (to jedna z tych podgałęzi o dziwnych nazwach), czyli ten, który odpowiada za łączenie się z naszym ISP.
Będzie to ten, w którym istnieje klucz DhcpDomain, a jego wartość to Home, lub nazwa naszego ISP.
Możecie jeszcze to sprawdzić, patrząc na klucz DhcpIPAddress, w którym będzie widniało wasze IP.

- Kiedy znaleźliśmy już odpowiedni interfejs sieciowy, czas na zmiany:
* w prawym oknie klikamy na pustym miejscu prawym klawiszem myszki i wybieramy New (nowy)
* wybieramy z menu kontekstowego, że bedzie to wartość DWORD (DWORD value)
* jako nazwę wpisujemy "MTU"
* kiedy mamy już utworzoną nową wartość, klikamy na MTU prawym klawiszem myszki i wybieramy Modify (Modyfikuj).
* wybieramy, że będziemy wpisywać wartość dziesiętnie (decimal), po czym w miejscu wartość (value) wpisujemy np. 1472.

- Po tej operacji zamykamy edytor rejestru i restartujemy komputer.



Teraz kiedy mamy naszą nową wartość MTU warto też by było zmienic wartosc RWIN (Recive Window Size). Jej rozmiar będzie zależał od naszego nowego MTU.

Standardowo wynosi ona 65535, ale my będziemy ją zmniejszać, bądz zwiększać, to w zależności od naszego internetu.

Żeby to obliczyć potrzebna nam będzie wartość MSS (Maximum segment size), uzyskamy ją odejmując od naszego MTU - 40 np. 1472-40 = 1432


Czyli nasze MSS = 1432

RWIN jest wielokrotnością MSS:


Dla łącz do 2 MB/s - MSS * 44
Dla łącz od 1 do 5 MB/s - MSS * 44 * 2
Dla łącz od 2 do 14 Mb/s - MSS * 44 * 2^2
Dla łącz od 8 do 30 Mb/s - MSS * 44 * 2^3
Dla łącz od 25 do 60 Mb/s - MSS * 44 * 2^4

^2, ^3 etc, jest to podnoszenie liczby 2 do potęgi.

Czyli np. RWIN = 1432 * 44 * 2 = 126016


Więc jeśli mamy już naszą wartość RWIN i wynosi ona np. 126016 wystarczy wprowadzic ją do rejestru naszego systemu.



1. Klikamy START -> Uruchom, i wpisujemy regedit i klikamy OK.

2. Odnajdujemy takę ścieżkę [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters] i szukamy wartości o nazwie 'TcpWindowSize'.

3. Kiedy ją znajdziemy klikamy ppm i wybieramy modyfikuj.

4. Usuwamy starą wartość, zaznaczamy pod spodem 'system dziesiętny' i wpisujemy naszą nową wartość RWIN.

5. Zatwierdzamy, zamykamy rejestr i uruchamiamy ponownie komputer.



Jeśli w podfolderze 'Parameters' nie znajdziemy wartości 'TcpWindowSize' nie ma się co martwić, wystarczy że ją utworzymy.


1. Na białym tle gdzieś pod innymi wartościami klikamy ppm -> nowy -> wartość DWORD

2. Nazywamy naszą nową wartość TcpWindowSize

3. Ponieważ wynosi ona 0, robimy to co poprzednio czyli, ppm -> modyfikuj -> 'system dziesiętny' -> wpisujemy naszą wartość RWIN -> Ok

4. Zamykamy edytor i robimy restart systemu.



To by było na tyle z optymalizowania naszego łącza. Jednakże jeśli ktoś boi się, lub uważa że samemu nie da rady tego zrobić, polecam program o nazwie TCP Optimizer, dostępny do ściągniecia TUTAJ. Program uruchamiamy z prawami administratora, a następnie w każdej zakładce zaznaczamy na dole opcję 'Optimal', po czym zatwierdzamy i uruchamiamy ponownie komputer.







Część II.

Redukcja opóźnienia w systemach Win7/Vista.




Czasami zdaża się tak, że mimo iż nasze łącze chodzi idealnie, a na speedtestach pingi są względnie małe, to w grach online typu CS, pingi sięgają 200-400 ms. Dlaczego tak się dzieje? Wszystko to jest winą domyślnych systemowych ustawień, które zazwyczaj są wprowadzane świeżo po instalacji, reinstalacji naszego systemu. Co w takim wypadku zrobić? Otóż przedstawię wam podstawowe metody na to aby polepszyć nasz ping w grach online.



1. Wyłączenie TCP autotuning:

- poprzez START uruchamiamy z prawami administratora wiersz poleceń cmd.exe

- klikamy ppm i wklejamy do wiersza poleceń następującą komendę: netsh interface tcp set global autotuning=disabled

- zatwierdzamy Enterem i restartujemy nasz komputer



2. Wyłączenie usługi Multimedia Class Scheduler:

- poprzez START uruchamiamy program regedit

- odnajdujemy klucz "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesAudiosrv"

- w zawartości folderu powinna widnieć wartość o nazwie "DependOnService", klikamy na nią dwa razy i w wyświetlonym okienku usuwamy fragment "MMCSS" z pola tekstowego

- klikamy OK i restartujemy nasz komputer



UWAGA: Powyższe rozwiązanie w niektórych przypadkach może spowodować problemy z dzwiękiem w systemie. Można tego uniknąć stosując tak samo skuteczne alternatywne rozwiązanie:


- postępujemy identycznie jak w punkcie 2

- odnajdujemy klucz "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionMultimediaSystemProfile"

- znajdujemy wartość o nazwie "NetworkThrottlingIndex", klikamy ppm 'Modyfikuj' i w systemie 'szesnastkowym' wpisujemy w puste pole "FFFFFFFF", po czym klikamy Ok

- po tej opracji wartość powinna wyglądać tak: 0xFFFFFFFF

- zamykamy edytor rejestru i uruchamiamy ponownie komputer







Część III.

Ustawienia netcodu w CS.




Najważniejszą rzeczą jeśli chodzi o granie na serwerach, jest poprawność naszych ustawien rate dla gry. Jeśli będą one złe możemy doświadczyć ścin, lagów, przemieszczania się hitboxów, oraz wystarczająco zepsuć rozgrywkę innym graczom. Dlaczego jest to takie ważne? Każdy chce żeby grało mu się jak najlepiej, dążymy do doskonałości, bądź też szukamy w internecie najdziwniejszych rozwiązań aby tylko polepszyć naszą sytuację na serwerach. Nie ukrywam że większość tego co znajdziecie nie polepszy NICZEGO, jedynie doświadczycie efektu placebo, po czym wszystko wróci do normalności.


Poniżej przedstawię wam najważniejsze komendy wraz ze szczegółowymi opisami:


Ramka oznacza 1 fragment informacji przesyłany między klientem a serwerem (niezależnie w którą stronę).
Ilość ramek z serwra do klienta kontroluje cl_updaterate oraz rate.
Ilość ramek od gracza do serwera kontroluje cl_cmdrate i cl_rate.



cl_cmdrate - jest to liczba ile razy na sekunde gracz informuje serwer o swoich
poczynaniach, to jest - ruchach na mapie, strzelaniu, ruchach myszy.
Im więcej robisz (im bardziej ostra akcja) tym więcej danych wysyłasz

cl_updaterate - jest to liczba ile razy na sekunde gracz otrzymuje z serwera dane o tym
co się dookoła niego dzieje - oznacza to że dostajesz info jak lecą granaty, kto gdzie strzela,
bryzgi krwi , dzwięki audio, efekty hud, latające posicki, rykoszety itp.
Jak jesteś w miejscu gdzie mało się dzieje (np. nie ma graczy albo niewiele robią)
to otrzymujesz mało informacji,
ale jak wbiegniesz w miejsce gdzie się strzelają 4 osoby i latają granaty to dostajesz tych
informacji o wiele więcej

cl_rate - ustawia maksymalny limit bajtów wysłanych od ciebie do serwera na temat twoich
poczynań i powinna być ustawiona na maksymalną wartość uploadu jaką możesz wycisnąć z łącza

rate - ustawia maksymalny limit bajtów odebranych przez ciebie jakie przychodzą do serwera
powinna być ustawiona na maksymalną wartość download jaką możesz wycisnac ze swojego łącza


cl_cmdbackup - ustawia ile ramek można przesyłac ponownie jeśli nam łącze nie wyrabia
np jak ma się wysokie lossy albo choke

Dla nie kumatych:

cl_rate, cl_cmdrate
Gracz -------------->-->--> Server


rate, cl_updaterate
Gracz <--<--<---------------- Server





Powyższa część opisu komend należy do _KaszpiR'a_, z poradnika zamieszczonego na Board CS.

Wszelkie prawa należą do autora.




Skoro już po części większość powinna rozumieć co robi każda z w/w komend poraz przejść do konkretów, czyli tego jak powinniśmy je ustawić.

Najlepiej będzie jeśli zrobimy to z myślą o wymogach jakie panują w ligach, na turniejach, oraz na niektórych serwerach.


rate od 20000 do 25000
cl_rate od 9999 do 20000
cl_updaterate od 80 do 101
cl_cmdrate od 80 do 101
cl_cmdbackup 2
ex_interp od 0.03 do 0.01


Te wartości nie są zbyt duże, a ta gra ma tyle lat że w obecnych czasach każde łącze internetowe nie powinno mieć najmniejszych problemów aby utrzymać przyzwoitą jakość gry wraz z powyższymi ustawieniami.

Komendy oczywiście dodajemy do config.cfg lub do userconfig.cfg np. w ten sposób:

rate "25000"
cl_updaterate "101"

etc.



Prawdopodobnie jest to najwięcej co możecie zrobić dla komfortu waszej rozgrywki sami. Do reszty rzeczy zalicza się przeróżne wzmacnianie sygnałów radiowych oraz DSL, zmiany portów na centrali itp. Wam powinno wystarczyć wszystko to co zamieściłem w tym poradniku.








Z wyjątkiem fragmentu zaczerpniętego z Board CS reszta poradnika została napisana przeze mnie na podstawie własnych informacji, doświadczeń oraz wiedzy z internetu. Prawa autorskie należą wyłącznie do mnie. Zabraniam jakiegokolwiek kopiowania poradnika bez zgody autora.





Fully exclusive for n00bs.pl by 1amm.


  • 15

Dołączona grafika


#2
KERSH7

KERSH7
  • Full Member

  • Grupa: Full Member
  • Postów: 137
  • Reputacja: 45
  • Nick steam: kreonafternoon9
  • Steam ID: 0:0:50897470
  • MiejscowośćKielce
OMFG, dłuższego się nie dało tego poradnika zrobić ? ^^. Bardzo fajny :) na pewno się kiedyś przyda :p
  • 0

Dołączona grafika


#3
HaRy.

HaRy.
  • Full Member

  • Grupa: Admin CS 1.6
  • Postów: 421
  • Reputacja: 352
  • Nick steam: lukasssss
  • Steam ID: 0:1:16286296
  • MiejscowośćToruń
Mam pytanie. Jak mam neta 4 mb/s to mam byc od 1 do 5 czy od 2 do 14 ?
  • 0

admin.gif

 

76561197992838321.pngAddFriend.png


#4
1am

1am
  • Imagine the unimaginable

  • Grupa: n00bs!
  • Postów: 672
  • Reputacja: 930
  • Nick steam: emocjonalnycham
  • Miejscowośćdeep dark abyss
Bezpieczniej będzie ustawić od 1 do 5 :)
  • 1

Dołączona grafika


#5
HBK

HBK
  • Admin COD

  • Grupa: Member
  • Postów: 24
  • Reputacja: 33
  • Gadu-Gadu 15758964
  • Nick steam: kamil1214
Wszystko pięknie opisane, poradnik na pewno nie jednemu się przyda:)
  • 0
Dołączona grafika

#6
1am

1am
  • Imagine the unimaginable

  • Grupa: n00bs!
  • Postów: 672
  • Reputacja: 930
  • Nick steam: emocjonalnycham
  • Miejscowośćdeep dark abyss
PS. Prosiłbym o podpięcie, bo raczej nigdzie w necie nie ma takiego ogólnego poradnika na opisane przeze mnie tematy, a myślę że niektórym może się to przydać. :)
  • 0

Dołączona grafika





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych