以文本方式查看主题

-  索沛CS1.6论坛 CS反作弊 CS1.6下载 amxx sma插件 cs对战平台  (http://106.53.153.14:27015:27015/index.asp)
--  Hurri.canE  (http://106.53.153.14:27015:27015/list.asp?boardid=108)
----  【原创】手把手教你设置CS网络参数  (http://106.53.153.14:27015:27015/dispbbs.asp?boardid=108&id=1023303)

--  作者:Zak
--  发布时间:2011-11-20 16:05:00
--  【原创】手把手教你设置CS网络参数

首先要声明一点,这是本人参考了网上的帖子后,自己摸索的。

不一定对,也不一定对你适用,供你参考吧。

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

CS网络联机游戏的基本原理:

一个完整的网络联机CS游戏包含一个服务器和数个客户端,服务器就是通常说的CS服,客户端就是我们每个人打CS时所使用的电脑。

这两者分工不同,客户端将玩家的游戏信息(包括该玩家的位置,速度,生命值,射击等等)通过数据包发给服务器,然后再接收服务器发过来的数据包(包含其他玩家的位置,速度,开枪有无击中等等)。

服务器收集整理所有玩家的信息,然后经过计算,再将计算结果通过数据包发给每个玩家。

所有的结果都是由服务器判断产生的,包含玩家是否击中对方,是否打死对方等等。

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

几个参数解释:

cl_cmdrate:

  客户端每秒钟向服务端发送数据包的数量。很明显地,这个参数的数值设定得越高,服务器就能越快的更新你的信息。所以,数值设定得高是没什么错的。

cl_updaterate:

  客户端每秒钟从服务端接收数据包的数量。cl_updaterate的数值设定得越高,你和服务器的同步率就越高。举个例子,此刻在你的电脑上看到的是敌人在你准星里,你准备开枪射击。但是实际上那个敌人(另外一个玩家)已经移动了,已经不在你的准星里了。只是你自己电脑网络延迟的原因,还没有从服务器收到这个敌人移动的信息,所以此时你开枪,是不会击中敌人的。

sv_maxupdaterate:

  指定服务端每秒发送多少数据包到客户端上(对服务端进行控制)。因此,客户端cl_updaterate的数值设定比服务端sv_maxupdaterate的数值要高,是不能增加客户端接受的更新数据包数量的。 比如服务器设定60,你自己设定的是80。那你每秒钟从服务器得到的数据包不是80个,而是60个。

 ex_interp:

  interp是interpolate的缩写。interpolate(窜改, 插入)的词义如下:  
to estimate values of (a function) between two known values, 评估两个已知值之间的量的关系。

本参数解释如下: 无论你的网络环境是多好,网速是多快,你的电脑得到的别人的信息,总是要比真实的情况要慢一点。举个例子,玩家A与服务器之间的延迟是1秒(举个例子,不要当真),他在此刻按了鼠标左键开枪,1秒后,服务器收到了他开枪的这个信息。玩家B与服务器的延迟也是1秒,1秒后他从服务器得到了玩家A开枪的信息。也就是说,玩家A开枪2秒钟后,玩家B的电脑上才显示开枪。当然了,服务器计算一切结果,以服务器为基准,玩家B是在A开枪1秒后得到的信息。

因此,为了弥补这个延迟,让你的CS运行的更加流畅,CS程序提供了预测模拟,ex_interp。在接收到下一个数据包之前,CS程序对相关的信息进行了预测模拟。比如敌人此刻在1的位置,他正向2的位置前进。虽然你还没有从服务器收到他是否运动到位置2的信息,但是你自己的电脑已经模拟出他已经运到到位置2的结果,并将这个结果反应到你的电脑屏幕上。对于ping好的玩家来说,ex_interp可以设置的很小,0.01。因为他可以很快的从服务器端得到最新的数据包。而那些ping比较大的玩家,为了让CS更加流畅,而不是看起来一卡一卡的,不得不设置高一点的ex_interp,比如0.1。这样做的好处是画面流畅了,不是一卡一卡的,但缺点也是很明显的,因为你的电脑的预测模拟很可能错了,并且模拟的时间越长,错误的可能性就越大!接着上面那个例子,实际敌人并没有运动到位置2,而是去了位置3,并且向你开了枪。而你因为延迟的原因,这些信息都不知道,你还在对着你屏幕上位置2的敌人开枪,然后抱怨为什么打不死人。

==================================================================================

好了,上面是我看了一些不清不楚的文章后,自己揣摩的意思,很有可能是错误的,你凑合看吧:D

下面就是设置步骤,很简单。先这样设置:

rate 20000 (不懂,别问我为什么,反正比赛都是这个)

cl_cmdrate 101 (据反应这个设置成101没有副作用)

cl_updaterate 101 (这个是暂定的,先设置成最高)

ex_interp 0 (设置成0,系统会根据你的cl_updaterate自动调节成最优的值)

下面开始:

cl_updaterate 101 情况下,拿AK(M4)对着墙扫一梭子,注意不要压枪,鼠标不要动。

多扫几梭子,记住这个弹道。

然后设置cl_updaterate 90(系统会自动帮你把ex_interp修改了),同样拿枪对着墙扫几梭子,记住这个弹道。

以此类推,cl_updaterate 80, cl_updaterate 70, cl_updaterate 60....

到30为止,再低也没意义了。

基本上你会看到弹道的连续变化,逐渐变差,或逐渐变好,或先变好在变差。

然后选择那个最优弹道对应的cl_updaterate和ex_interp值。

这个就是你最优的CS网络参数了。

注意,以上设置需要进入服务器后,再设置。

并且,只有当你把cl_updaterate从大往小调的时候,ex_interp才会自动调整。反过来,ex_interp不会自动调整。

[此贴子已经被作者于2011-11-20 16:09:47编辑过]

--  作者:Zak
--  发布时间:2011-11-20 16:08:00
--  

我在索沛服的ping,大多在50~70之间(这是我网络最好的情况)

经测试,在cl_updaterate 60, ex_interp 0.016时,我的弹道最好。

当然了,弹道还是没法和10以内ping比了。

点射弹道还可以,扫射就是漫天打鸟了。


--  作者:Zak
--  发布时间:2011-11-20 16:11:00
--  

有必要的话,可以来回多测试几次。


--  作者:JavieRy
--  发布时间:2011-11-20 16:46:00
--  
很好~有时间可以试试,我用加速器打港服点射都偏的不知所云
--  作者:Angst
--  发布时间:2011-11-20 21:52:00
--  
西瓜经常在服里因为太卡 跑步都是瞬移的疾风步

导致我打不到你 图片点击可在新窗口打开查看

--  作者:dall
--  发布时间:2011-11-21 2:11:00
--  

一个防火墙拦着 注定我与高手无缘了

怀念哥上个月的30+ping啊

图片点击可在新窗口打开查看
--  作者:Gee_
--  发布时间:2011-11-21 14:33:00
--  

我的是rate 25000

20000的ak没那么好射


--  作者:NUSzkfly
--  发布时间:2011-11-21 15:47:00
--  

呵呵 你们试一试就知道 ex 调成0 的话  虽然他会自己改动 但是还是人还是会一卡一卡的  呵呵  还是1吧


--  作者:BlackCurrant
--  发布时间:2011-11-21 23:55:00
--  
這些我都不懂...

--  作者:Zak
--  发布时间:2011-12-11 1:45:00
--  
以下是引用NUSzkfly在2011-11-21 15:47:00的发言:

呵呵 你们试一试就知道 ex 调成0 的话  虽然他会自己改动 但是还是人还是会一卡一卡的  呵呵  还是1吧

如果是一卡一卡的

说明ex_interp设的太小了

需要调大一点