Rate (La velocidad de bajada de tu conexión en bytes / segundo)
Como ya dije, digamos que la velocidad de bajada que me da mi ISP es de 128kbits. Como muchos en la comunidad CS saben, al dividir ese número por 8, nos va a dar la velocidad de bajada en KB/s. Luego se multiplica en 1024 para obtener el número en bytes por segundo.
128 / 8 = 16 KB/s
16 * 1024 = 16384 bytes
El rate que debería usar sería 16384. Sin embargo, la conexión nunca baja a la velocidad que las ISP nos dicen, ya que es una velocidad máxima teórica. Para eso, deberíamos usar el 90% de esa velocidad.
16384 * 0.9 = 14745
rate 14745
Ese rate debería ser el mejor para las conexiones de 128kbps.
Continuar Leyendo >>>
cl_rate (La velocidad de subida de tu conexión en bytes / segundo)
Básicamente, de este comando depende a qué velocidad envías paquetes al servidor. Las calculaciones para este comando son los mismos que para el comando rate.
128 / 8 = 16 KB/s
16 * 1024 = 16384 bytes
El cl_rate que debería usar sería 16384. Sin embargo, vuelvo a mencionar que la conexión nunca sube a la velocidad que las ISP nos dicen, ya que es una velocidad máxima teórica. Para eso, deberíamos usar el 90% de esa velocidad.
16384 * 0.9 = 14745
cl_rate 14745
cl_updaterate (La cantidad de veces que recibes paquetes del servidor por segundo)
La mayor cantidad de paquetes que uno puede recibir de un servidor son 180 bytes. Un paquete es un pedazo de información que recibimos del servidor. Si dividimos el rate por 180, nos saldrá el cl_updaterate que buscamos
14745 / 180 = 81.6666666 (Como me gustan números simples, voy a dejarlo en 80)
cl_updaterate 80
cl_cmdrate (La cantidad de veces que envías paquetes al servidor por segundo)
La mayor cantidad de paquetes que uno puede enviar al servidor son 30 bytes. Si dividimos nuestro cl_rate por 30, nos va a salir el cl_cmdrate que necesitamos.
14746 / 30 = ~491
Es técnicamente imposible que podamos enviar 491 paquetes al servidor ya que, al crearse Half-Life, el límite del cl_cmdrate fue puesto en 100. Así que, cuando hagan este cálculo y les salga un valor sobre los 100, dejen el cl_cmdrate en 100.
cl_cmdrate 100
** Antes de continuar con la guía, debo mencionar que el valor del comando fps_max debe ser el mismo que el cl_cmdrate.
Para resumir esta primera parte, en el archivo userconfig.cfg deberíamos grabar todos estos commandos.
rate 14745
cl_rate 14745
cl_updaterate 80
cl_cmdrate 100
fps_max 100
=============================================
Segunda Parte
=============================================
Como mencioné al principio de este tutorial, dado a que algunos servidores dejan el comando sv_maxrate en un valor menor al rate que usan, se crean choke y loss.
¿Cómo arreglo esto?
Primero hay que saber el valor del sv_maxrate que el servidor usa. Para hacer esto, hagan lo siguiente:
1. Conéctense a un server cualquiera
2. Abran la consola con "~"
3. Escriban sv_maxrate y apreten Enter
4. Les saldrá un mensaje desde el servidor que dirá sv_maxrate xxxx
Ahora saben el valor de sv_maxrate que tiene el servidor. Si el servidor tiene un sv_maxrate de 10000, no importa que tenga un rate de 25000, igual voy a jugar como si fuera a jugar en ese servidor con rate 10000 y voy a tener loss y choke.
Por ejemplo, en un server x, el sv_maxrate es de 10000. Entonces tengo que poner mi rate en 10000 y calcular mi cl_updaterate basado en mi nuevo rate.
10000 / 180 = 56
rate 10000
cl_updaterate 56
Ese sería el nuevo cl_updaterate que debería usar y que sería el que funcionaría mejor con mi rate y sin causar choke y/o loss. Si tienen loss y/o choke, deberian bajar los cl_cmdrate y cl_updaterate Y OJO, NO TOCAR el rate y cl_rate.
Para resumir, debería usar estos comandos para jugar en dichos servers.
rate 10000
cl_rate 14745
cl_updaterate 56
cl_cmdrate 100
fps_max 100
O mas facil
rate 15000
cl_updaterate 91
cl_cmdrate 91
O.
cl_updaterate 30
cl_cmdrate 40
rate 7500
o.
Rate 25000.
Salu2