zanotowane.pldoc.pisz.plpdf.pisz.plzipek123.pev.pl
|
Tell a Friend About This Web
Site! |
| |
|
|
|
felici portal
Ustawienia sieciowe graczy CS
Turorial przyblizy wam jak lepiej ustawic wartosci takie jak cl_cmdbackup cl_rate, cl_updaterate , cl_cmdrate oraz rate aby lepiej wam sie gralo na serwerze
---------------------------------------------------------------------------------------------------
1. Opis zmiennych 2. Zakresy wartosci 3. Nasze łącze 4. Jak obliczac wartosci 5. Choke i Loss 6. Ex_Interp 7. Serwer 8. Zakonczenie
--------------------------------------------------------------------------------------------------- 1. Opis zmiennych ---------------------------------------------------------------------------------------------------
Ramka oznacza 1 fragment informacji przeslany miedzy klientem a serwerem (niezaleznie w ktora strone). Ilosc ramek z serwra do klienta kontroluje cl_updaterate oraz rate. Ilosc 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 wiecej robisz (im bardziej ostra akcja) tym wiecej danych wysylasz
cl_updaterate - jest to liczba ile razy na sekunde gracz otrzymuje z serwera dane o tym co sie dookoła niego dzieje - oznacza to ze dostajesz info jak leca granaty, kto gdzie strzela, bryzgi krwi , dzwieki audio, efekty hud, latajace posicki, rykoszety itp. jak jestes w miejscu gdzie mało sie dzieje (np nie ma graczy albo niewiele robia) to otrzymujesz malo informacji ale jak wbiegniesz w miejsce gdzie sie strzelaja 4 osoby i lataja granaty to dostajesz tych informacji o wiele wiecej
cl_rate - ustawia maksymalny limit bajtow wyslanych od ciebie do serwera na temat twoich poczynan i powinna byc ustawiona na maksymalna wartosc uploadu jaka mozesz wycisnac z łącza
rate - ustawia maksymalny limit bajtów odebranych przez ciebie jaie przychodza do serwera powinna byc ustawiona na maksymalna wartosc download jaki mozesz wycisnac ze swojego łącza
cl_cmdbackup - ustawia ile ramek mozna przesylac ponownie jesli nam lacze nie wyrabia np jak ma sie wysokie lossy albo choke
Dla nie kumatych:
cl_rate, cl_cmdrate Gracz -------------->-->--> Server
rate, cl_updaterate Gracz <--<--<---------------- Server
--------------------------------------------------------------------------------------------------- 2. Zakresy wartosci ---------------------------------------------------------------------------------------------------
Ilosc danych od gracza przewaznie jest mala, mniej wiecej 25 bajtow na ramke. natomiast serwer wysyla znacznie wiecej, jak sie nic nie dzieje jest to okolo 35bajtow na ramke, a jak jest ostra akcja to dochodzi nawet do 176 bajtow na ramke albo i wiecej.
Dosc latwo sie przekonac ile danych wchodzi i wychodzi patrzac na net_graph przyklad (oczywiscie u was moga byc inne wartosci) Kod:
77 fps 5ms in: 34 1.48 k/s out: 25 1.35 k/s
loss: 0 choke: 0
Pierwsza linia: pierwsza liczba reprezentuje ilosc wyswietlanych FPS druga liczba oznacza czas jakim sie rozni to co widzimy od tego co dostajemy od serwera i co wysylamy do sewera (o tym nizej)
Druga linia: reprezentuje dane wejsciowe jakie otrzymujesz z serwera. Tu mamy wielkosc ramki 34 bajty, co przy danym cl_updaterate przelicza sie na 1.48 k/s downloadu.
Trzecia linia: reprezentuje dane wyjsciowe jakie wysylamy do serwera. Tutaj mamy rozmiar ramki 25 bajtow, a to sie przelicza przy tym cl_cmrdate na 1.35 k/s uploadu.
--------------------------------------------------------------------------------------------------- 3. Nasze łącze ---------------------------------------------------------------------------------------------------
Najcześciej informacje o naszym łączu mamy podane w kilobitach. Najczęciej także podawane są nam informacje o naszym maksymalnym downloadzie,a rzadziej o naszym uploadzie, ktory czesto tez jest wazny.
Przeważnie upload mamy 4 albo 8 razy mniejszy niz download przy łączach ADSL (asynchroniczne) ADSL to na przykład sdi, neostrada, astercity, chello.. większosć dostępnych teraz łączy. Takie łącze jest przeznaczone właśnie dla graczy.
Łącza które mają taki sam upload jak download są to przeważnie SDSL (synchroniczne) i są znaczie droższe niz asynchroniczne, ale takie łącze powinien właśnie posiadać serwer.
Pamietajmy ze 8kb = 1B (8 kilobitów równa sie 1 bajt)
Powiedzmy ze masz modem 56k, weg specyfikaji oznacza to ze masz 56kbit downloadu i 33kbit uploadu. Oznacza to stan idealny gdy nic nie zakloca linii. W rzeczywistosci jakies 10% łącza idzie na dane dodatkowe - korekcja błędów, kontrola połączenia więc wartości jakie masz podane nie są wartościami realnymi tylko wartościami teoretycznymi jakie mozesz osiągnąc - w rzeczywistosci osiągasz mniej bo wpływa na to sam ruch sieci, jakość kabli pogoda, zakłócenia elektromagnetyczne (komorki, radio) i wiele innych czynnikow.
Czyli mamy w rzeczywistosci 56/8 = 7kbajtow/s downloadu i 33/8 = niecale 5k/s downloadu.
Neostrada jakies 768kbit downloadu i 128 kbit uploadu Po przeliczeniu wychodzi jakies 96k/s downloadu oraz 16k/s uploadu
1mbit 1024/8 = 128k/s downloadu
2mbit 2048/8 = 256k/s downloadu
Reszte sobie sami przeliczcie.
--------------------------------------------------------------------------------------------------- 4. Jak obliczyc wartosci ---------------------------------------------------------------------------------------------------
Najpierw sie zajmiemy wartosciami cl_rate i rate.
cl_rate:
Bierzemy nasz upload w bitach, mnożymy razy 0.9 a następnie dzielimy przez 8. Wynik powinien byc wartoscia jaka powinnismy usawic sobie w cl_rate. Jak wychodzi liczba po przecinku to ją zaokrąglamy w dół.
Jednakże wartością maksymalną jaką mozemy wstawić jest 20 000, dlatego przy łączach które mają lepszy upload niż Neostrada (128kbit czyli 16k/s) powinnismy ustawic 20000 Przyklady
Nazwa | Upload | Rachunki | cl_rate ---------------------------------------------------------------------------------- modem 56k: | 56000 | ( 56000*0.9)/8 = 6300 Neostrada | 128000 | ( 128000*0.9)/8 = 14400
rate Bierzemy nasz download maksymalny w bitach, mnożymy razy 0.9 a nastepnie dzielimy przez 8. Czyli analogicznie jak przy cl_rate. Wynik powinien byc wartoscia jaka powinnismy usawic sobie w rate. Jak wychodzi liczba po przecinku to ją zaokrąglamy w dół.
Jednakże wartością maksymalną jaką mozemy wstawić jest 20 000, dlatego przy łączach które mają lepszy download niż Neostrada (768kbit czyli 16k/s) powinnismy ustawic 20000. Przy Neostradzie podałem gwiazdki - powinno sie wec ustawic 20000.
Nazwa | Download | Rachunki | rate ---------------------------------------------------------------------------------- modem 56k: | 33600 | ( 33600*0.9)/8 = 3780 Neostrada | 768000 | ( 768000*0.9)/8 = 86400 *** -> 20000
Teraz zajmiemy sie ustawieniem cl_cmdrate i cl_updaterate.
cl_cmdrate Najlepiej gdy wezmiemy nasz cl_rate i podzielimy przez 25 (bo przewaznie tyle bajtow ma ramka). Wtedy np dla Neostrady mamy: 14400 / 25 = 576 ale wartoscia maksymalna dla cmdrate jest 400 (wyzej nie ma co ustawiac, nie widac roznicy) wiec ustawiamy cl_cmdrate 400
W rzeczywistosci najlepiej ustawic cl_cmdrate rowny sredniej liczbie naszych fps w grze. Jakustawimy wiecej to mozliwe ze serwer bedzie dropowal pewne dane ale ni powinnismy sie tym przejmowac bo zostaja one wyslane kolejny raz.
cl_updaterate Najlepiej gdy wezmiemy nasze rate i podzielimy przez 175 (bo tyle bajtow srednio ma ramka). Np dla Neostrady mamy 20000 / 175 = 114 ale wartoscia maksymalna jest 100 wiec mozna spokojnie ustawic 100
uwaga, teraz warto popatrzyc na net graph w pierwszej linii mamy dwie liczby jesli widzimy tylko pierwsza (tzn fps) to jest ok
jesli widzimy druga takze to znaczy ze mamy pewne opoznienia w grze maga byc one zwiazane z kilkoma rzeczami - m in. wydajnoscią naszego sprzętu liczba ta sie zwieksz ajak mamy np cl_updaterate i cl_cmdrate zbyt ekstremalne (zarowno za male jak i za duze) najlepieje tak zmieniac cl_updaterate i cl_cmdrate aby ta liczba byla jak najmiejsza (1 cyfrowa) i pokazywala sie bardzo rzadko.
ta liczba oznaczac moze tez ze na serwerze moze byc ustawione sv_maxupdaterate wtedy musimy u nas takze zmiejszac cl_updaterate i cl_cmdrate.
cl_cmdbdackup cl_cmdbackup ma domyslna wartosc 2 Czasami ustawianie wartosci zmiennych cl_cmdrate i cl_updaterate powyzej ilosci fps serwera moze okazac sie zbyteczne bo serwer ich nie przyjmie bo nie wyrobi.
Serwer srednio powinien miec 60-70 fps, dobre serwery maja powyzej 100.
najlepiej jest ustawic cl_cmdbackup jako cl_cmdrate / fps serwera Serwery na LAN na mecze np ESL maja wysokie ustawienia (okolo 200fps) i dlatego daje sie cl_cmdrate 400 a cl_cmdbackup 2
Na necie cl_cmdbackup jest standardowo 2 i powinno byc parametrem wystarczajacym, ale ja rekomenduje 6 szczegolnie jak macie lossy i lagi. Jak ustawisz powyzej 60 to jest to bardzo duzo i prawdopodobnie mozesz zapchac sobie niepotrzebnie lacze rzeczami czasem juz nieaktualnymi (jak serwer ma 60 fps a probujesz przepchnac 60 ramek to znaczy ze chcesz czasem miec dane z calej osatniej sekundy)
Kiedys tlumaczylem ze cmdrate powinen byc 4x miejszy od updatrate - autor tekstu byl w bledzie bo nie wzial pod uwage faktu ze ramka jest mniejsza w cmdrate dlatego mzoa ustawic cmdrate 4 albo i wiecej razy wieksze niz updaterate
--------------------------------------------------------------------------------------------------- 5. Choke i Loss ---------------------------------------------------------------------------------------------------
Choke Choke procent danych jakie serwer albo klient powtrzymuje przed wyslaniem bo nie pozwalaja mu na to ustawione parametry. Po prostu przekroczone zostaly mozliwosci łącza na przesył danych. Choke do wartosci 10 jest akceptowalny.
Najczesciej pojawia sie jak nasze rate jest zbyt niskie do podanego cl_updaterate. Podobnie jesli mamy zbyt male cl_rate do zadeklarowanego cl_cmdrate.
W tym przypdaku powiniesmy najpierw sprawdzic czy nie przesadzilismy z cl_updaterate i cl_cmdrate i je sukcesywnie zmiejszac podczas gry az choke zniknie podczas ostrych akcji.
Jesli to nie pomaga zmnijeszamy wartosci rate i cl_rate.
Na net graphie choke jest wyswietlany jako kolor żółty w zielonym grafie (ten górny).
Loss Loss wskazuje ile procent danych nie dotarlo do celu - oznacza ze cos jest zle z naszym łączem pod względem technicznym. Powinnismy takze wpierw obnizyc parametry opisywane w tym artykule. Loss do wartosci 10 jest akceptowalny.
Na net graphie los jest wyswietlany jako kolor czerwony w zielonym grafie (ten górny).
--------------------------------------------------------------------------------------------------- 6. Ex_Interp ---------------------------------------------------------------------------------------------------
ex_interp domyslnie ma wartosc 0.1 , i jego zmiana jest czesto blokowana przez takie dodatki jak wwcl albo hlguard wartosci powyzej 0.1 sa blokowane przez sama gre half-life
jak wpiszemu ex_interp 0 to powinno sie ex_interp saamo automatycznie obliczyc jako 1/cl_updaterate ale w rzeczywistosci modele beda wtedy skakac i lepiej obliczyc to samemu wg ponizszego wzoru ex_interp = (1/ cl_updaterate) +0.02
przy cl_updaterate 50, ex_interp powinien wiec wynosic jakies 0.04
patrząc na net_graph widzimy dolny pasek (niebiesko żółty) najepiej tak ustawic ex_interp az nam sie nie pokazują żółto-czerwone fragmentu w graphie i wtedy mamy tylko fioletowo niebieski wykres.
--------------------------------------------------------------------------------------------------- 7. Serwer ---------------------------------------------------------------------------------------------------
Na serwerze admin moze ustawic zmienne aby forsowac pewne wartosci. Dlaczego? Aby na przyklad nie placic za łącze więcej niż go stac.
Ponizsze wartosci kontroluja wartosci jakie gracze moga u siebie maksymalnie ustawic. Oznacza to ze jesli gracz ma wartosc wieksza niz ta ktora jest dana w parametrze sv_ to nie bedzie on z niej korzystal, bo serwer bedzie wywyslal wartosci ze swoich usatwien.
sv_maxrate kontroluje maksymalna wartosc rate
sv_maxupdaterate kontroluje maksymalna wartosc sv_updaterate, domyslnie 30
stosowanie ponizszych wartości nie jest zalecane sczególnie przy zamawianiu HLTV na serwer z hltv.org
sv_minrate kontroluje mininamlna wartość rate
sv_minupdaterate kontroluje mininamlna wartość cl_updaterate , domyslnie 10
Przyklad: cl_updaterate 100 sv_maxupdaterate 50 w efekcie gracz bedzie dostawal 50 update na sekudne a nie 100 jak sobie zadeklarowal - oznacza to ze serwer mu bedzie wysylal mniej danych niz on chcialby dostawac - co dla niego nie jest ustawieniem zadowalajacym. Wiec klient recznie musi sobie ustawic cl_updaterate 50.
Przy wysokim cl_updaterate i innych parametrach mozna zauwazyc ze mozna miec upload do serwera wiekszy lub rowny downloadowi z serwera. Przwaznie nie trzeba sie tym przejmowac, ale nalezy miec na uwadze ze serwer otrzymuje od innych graczy takze dane ale łącze na serwerze powinno dac sobie rade bo dla niego upload clientow jest jego downloadem z netu. Ale trzeba pamietac ze serwer moze sam odrzucac zbyt czeste dane od klientow.
by HeadShoot'er
zanotowane.pldoc.pisz.plpdf.pisz.plsprzedamnadjeziorem.opx.pl
|
|
|
|