Toti jucatorii au "CHOKE" - destul de mare ! Ce-i de facut ?

Saturday, 21 September 2013 | Views: 475

Intotdeauna am intalnit aceasta situatie in situatia in care se utilizeaza forcerate-ul (eventscripts) la o valoare mai mare decat cea normala - practic, choke-ul apare cand clientul cere de la server informatii - iar serverul NU le trimite - atata timp cat clientul ajunge la concluzia ca nu e vorba de un LOSS ci e vorba ca serverul NU a trimis respectivele date - in acest moment apare choke-ul.

Totul pleaca de la valoarea de tickrate, Krond ofera tickrate 66 pe Windows si 100 pe SunOS.

Inainte de toate, subliniez faptul ca INCURAJAM DEZACTIVAREA COMPLETA a pluginului "forcerate" - eventscripts ! Fiecare client trebuie sa fie propriul sau decident referitor la ratele cu care doreste a juca ! Spre exemplu un client cu ping 5 poate folosi rate mai mari decat unul cu ping 80 !

HINT: Pentru o intelegere cat mai exacta a setarilor cl_updaterate / cl_cmdrate - recomand dezactivarea completa a plugin-ului forcerate (temporar cu es_unload forcerate) - si imediat dupa aceea va puteti juca in consola cu aceste setari - vei observa ca iti diminuezi singur choke-ul micsorand cl_updaterate.

I: Ce inseamna cl_updaterate ?

R: Reprezinta numarul de update-uri pe secunda ce le solicitam de la server

I: Ce inseamna cl_cmdrate ?

R: Este numarul maxim de pachete de instructiuni (update) ce vor fi transmise de la client la server

Cu riscul de a ma repeta, aduc in atentie faptul ca RECOMANDAM dezactivarea completa a pluginului forcerate ! Aceste setari exista pe partea de client tocmai pentru ca fiecare sa isi seteze cu ce valori ii merge cel mai bine ! Spre exemplu, un client cu ping 5 poate folosi update-uri mai mari decat unul cu ping 80 ! NU EXISTA O CALE DE MIJLOC decat in detrimentul celui cu ping mai bun (intotdeauna !). Pentru a impune niste limite min/max din server vom apela la:

sv_maxupdaterate - rescrie valoarea maxima setata prin cvar pe partea de client a valorii cl_updaterate in cazul in care aceasta depaseste valoarea predefinita prin cvar

sv_minupdaterate - rescrie valoarea minima setata prin cvar pe partea de client a valorii cl_updaterate in cazul in care aceasta este mai mica decat valoarea predefinita prin cvar

sv_maxrate - rescrie valoarea maxima setata prin cvar pe partea de client a valorii "rate" in cazul in care aceasta depaseste valoarea predefinita prin cvar

sv_minrate - rescrie valoarea minima setata prin cvar pe partea de client a valorii "rate" in cazul in care aceasta este mai mica decat valoarea predefinita prin cvar.

Sa luam urmatoarea setare pe partea de server:

sv_minupdaterate "20"

sv_maxupdaterate "66"

sv_minrate "15000"

sv_maxrate "25000"

Apoi, intra un client cu urmatoarele setari:

a)

cl_updaterate 100

rate 10000

Conform setarilor serverului el va fi obligat sa joace cu:

cl_updaterate 66

rate 15000

b)

cl_updaterate 10

rate 20000

Va fi obligat sa joace cu

cl_updaterate 20

rate 20000 (neschimbat)

In concluzie, daca valorile se incadreaza in limitele min/max nu se vor impune modificari - in caz contrar se va forta jucatorul sa utilizeze valoarea cea mai apropriata de minim atunci cand valoarea setata e mai mica, si cea de maxim atunci cand valoarea e mai mare.

  1. Sa admitem faptul ca avem un tickrate de 66

a) In primul rand, sa luam cfg/server.cfg:

sv_maxrate 25000 sv_minrate 15000 sv_maxupdaterate 33 sv_minupdaterate 25 sv_mincmdrate 20 sv_maxcmdrate 50

b) Setari in modulul forcerate (daca este instalat, daca nu ... atunci se va executa in consola comenzile)

cl_updaterate 33

cl_cmdrate 33

rate 25000

  1. Iar acum, sa luam un tickrate de 100

a) cfg/server.cfg

sv_maxrate 25000 sv_minrate 15000 sv_maxupdaterate 66 sv_minupdaterate 25 sv_mincmdrate 25 sv_maxcmdrate 100

b) Setari in modulul forcerate (daca este instalat, daca nu ... atunci se va executa in consola comenzile)

cl_updaterate 66

cl_cmdrate 66

rate 25000

Ideea este ca clientul sa nu ceara prea multe date de la server (cl_updaterate) iar serverul sa nu i le poata oferi (tickrate) - in momentul in care avem un tickrate de 100 si updaterate-ul tot de 100 atunci choke-ul este absolut inevitabil !

Back to list