找回密码
 注-册

QQ登录

只需一步,快速开始

查看: 2250|回复: 0

[转载] 正确CS1.6客户端网络参数与chock正确的解释

[复制链接]
Leya 发表于 2008-4-27 06:40:48 | 显示全部楼层 |阅读模式
给大家详细介绍一下关于各个rate的意思,

其实各个rate都与服务器的一个参数sv_maxupdaterate 和服务器的运行fps有关。

服务器fps与的意思是,每秒钟,服务器接受和发送用户数据,并进行计算的游戏帧数。这个数可以理解成服务器每秒钟最多可以给每个玩家发

送其他玩家的位置,动作,和接受每个玩家动作的次数。这个值会根据服务器运算量的大小而发生变化。

hlds默认的fps是60.用hl booster等插件可以提高这个值,但会增加对服务器资源的需求。我认为60其实也应该不太够,0.017秒的间隔,我

的服务器都用booster定在200。

下面介绍sv_maxupdaterate,这个也是服务器参数,客户端是没有的,这是限制发送给每个玩家最高update速率的值。比如服务器fps是

100,sv_maxupdaterate 是50,对客户端来说,每秒钟最多可以得到的更新就是50次而不是100次。如果这个值高于服务器的fps,那是没有意思的



对于客户端来说,每秒钟得到越多的更新数据,在玩家屏幕上与其他玩家的位置就与服务器里真正的位置更接近。

现在介绍cl_updaterate,是客户端的值了,客户可以根据自己的需要设置,默认值是30,也就是最多每秒从服务器接受更新的次数,或者说是

要求服务器每秒发送更新的次数。最好是设成与服务器sv_maxupdaterate一样,因为我们要得到尽量多的更新来刷新我们屏幕上敌人的位置。

但设比sv_maxupdaterate高是没有用的。(所以我自己的CS1.6客户端都是设置成100),另外这个值比你的fps_max高或比你显卡能够达到的

fps高也是没有太大的意义,反正显示不出来。

cl_cmdrate

这个也是客户端的值,是每秒钟发送给服务器的客户端动作的值(移动、瞄准、与射击等动作),忘了默认值是多少,我都是设置是30,我想

我每秒钟最多做那么多动作吧(这个值设高了会导致ping升高,再高会出现choke),是否收sv_maxupdaterate限制,俺也不清楚。

解释一下choke,choke与loss不一样,choke是值应该发送给客户或服务器而没有发送出去的数据包,loss是发送了但没有收到。

这个值有很多原因引起,而且一般情况下,不会影响游戏的可操作性(就算是稳定在100)

比较常见的原因是CS服务器管理员的参数调整不正确,服务器配置不对,服务器里还有一个参数是sv_maxrate,很多服务器为了节省带宽,设

置了比较低的sv_maxrate,但却设置一比较高的sv_maxupdaterate,但客户端设置cl_update比较高时,因为sv_maxrate的限制,不购带宽传出

全部足够的数据,导致了choke,同理,如果用户端设置过高的cl_cmdrate,也会因为带宽的限制不能传出全部的数据,也会出现choke..

如果你真的很在意choke,首先检查你的cl_rate,默认都是9999也就是9K(与服务器端的sv_maxrate,sv_minirate类似,向服务器传送带宽使用限

制,你1秒钟不可能发送超过7K的数据的,放心好了),

减低你的cl_updaterate(默认值是30)和cl_cmdrate(我建议大家这个值放30就可以了,这个参数太高ping会高起来)。



【本文转自点通,作者:larnk】
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注-册

本版积分规则

Archiver|手机版|小黑屋|DoDVip ( 桂ICP备14000730号 )

GMT+8, 2024-4-29 20:01 , Processed in 0.053317 second(s), 20 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表