|
前言:
很多人关心的是cs里的弹道问题,
我最近浏览了一些网页,大致总结了一下。
和这几个参数有关。
fps_max
rate
cl_latency
cl_updaterate
cl_cmdrate
ex_interp
需要注意的是,在internetgame上ex_interp参数是可以修改的,(0.05-0.1)
这些数值设的越大,(比如说101,25000)。打cs越流畅,弹道越难控制。越小则弹道越集中!
另外,弹道的改动只是一个方面,让你cs的游戏性能更爽,真正的好的控枪是靠自己的练习而获得的。 这些参数到底怎么设置? 如果是lan的话,
cl_updaterate和cl_cmdrate
在lan中的标准设置都为101
如果是lan的话则可以设置为
rate “25000”
cl_cmdrate “101”
cl_updaterate “101”
如果说cl_updaterate=fps=101,
那么
服务端传送到client中的数据报率=client的刷新率
那么,服务端对client的响应是刷新率所决定的。
如果是lan, cl_cmdrate作为客户端传送到服务器中的速率与cl_updaterate相同,
那么网络条件好的情况下,我们打cs是最流畅的
我所说的cl_cmdrate=cl_updaterate=fps只是其中的一种情况。
如果针对不同的网络条件对服务器进行连接,那么可以有不同的设置情况。
这些参数都是示范用,国外玩家使用的【不推荐的】
ADSL 64/128
rate “9999”
cl_cmdrate “35”
cl_updaterate “45”
ADSL 256
rate “9999”
cl_cmdrate “50”
cl_updaterate “46”
ADSL 512
rate “9999”
cl_cmdrate “100”
cl_updaterate “60”
ADSL 2MB
rate “9999”
cl_cmdrate “100”
cl_updaterate “100”
网络条件越好,那么这两个参数就越接近,至于fps,要和cl_updaterate接近,我的意思已经很明白:服务器对客户端的响应与客户端显示刷新率同步,我们打cs才不会有一顿一顿的感觉。
loss和choke在任何一台服务器都可能出现,只是出现的情况不一样,loss指的是掉包,与网络连接有直接关系,与网络的负载也有关系,通常出现在客户端端口,或者服务端的端口。choke指数据流拥塞,比如我们有两台机器,同时连到另外一台主服务器上,在服务器里,我们所进行的操作是同时的,或者是同步的,那么就可能产生拥塞,如果客户端带宽不能处理数据流时,越高的cl_updaterate,将产生越多的choke
所以清楚自己的连接情况,并且针对设置,那么会有一些好的改善
一,512/64ADSL:
cl_updaterate和cl_cmdrate的差是要看网路的特性来调整,当你在开net_graph时你应该会看到有几个跳动非常快的数字in、out,你会看到in後面的数字跳动的非常快!!而out比较稳定比较少变动,in就是你看到其他人传给你的资料(敌人的位子敌人开枪),out就是你传给其他人的资料,(你开枪你的位子);你一定会想说那HL几乎都是“射击”游戏应该out要比in多,不可能敌人走路比我开枪还快吧!按照道理来说应该是这样不过以“电脑的特性”“网路的特性”来说不太一样.
512/64ADSL的设定
fps_max 100
rate 16383.999023
cl_latency -61.000977
cl_updaterate 30
cl_cmdrate 30
ex_interp 0.1
其实cl_updaterate和cl_cmdrate要设定成一样的数字,如果cl_updaterate设的稍低一点的话,你net_graph里面的out就有可能大过in,当上面的情况发生就是你网路接受的资料不足!!(接受的资料就是敌人的位子)这也就是LAG。
像56k在HL里是传输很慢的网路(几乎都是在下载),所以cl_updaterate和cl_cmdrate要设定一个“差“才可以让56k有一点上传,所以56k的设定是20和30。
但是ADSL是一个高速传输的网路,不过整体上下传是很快的,所以如果你照的56k的设定20和30你会发现,很多时候你的out会大过in,所以应该要补正成30、30。
cl_cmdrate这个参数是控制你整体网路的上下传,如果你是56k的话设定成30而512ADSL上传也只有64k(事实上是不到),所以512/64ADSL的cl_cmdrate设定成30然後为了要补正ADSL的网路特性所以把cl_updaterate加大到30(跟cl_cmdrate一样),因此得出:
512/64ADSL:cl_updaterate 30、cl_cmdrate 30
二,1.5M ADSL: 上传好像可以达到384k(还是一样实际上是不到)就可以把cl_updaterate和cl_cmdrate设定到40,但是以ADSL特性的话顶多到40如果是Cable就可以设定的更高50 50 (甚至再更高)....LAN的话就可以像CPL设定到101 101。
三,教你怎麽在有设sv_maxrate的server上面玩进量不得到choke!
再来是如何上有设定sv_maxrate的server尽量不得到choke,有设定sv_maxrate几乎都是设定在8000以内。
之前就有提到过rate後面小数点设定成0.000521这是一个会自动改变的数字,我测试的结果在rate 8100上下....後面的0.000521会改变成不同的数字,像我的电脑rate 8100以上的话0.000521会改变成0.000977,如果是以下的话0.000521会变成0.000488;
所以当一个server sv_maxrate是8000的话把rate设定成7999.999521,7999.999521会自动改变成7999.999512。
0.000521 + 0.000488 = 1
刚好补正到8000满server最大的rate你就会得到最少的choke,记住小数点後三位要是0.999後面的521才会变成512;我实验的解果是没有0.999的话7999.000521就会变成7999.000488,因为server有调节/限制!!....所以就算别人传给传给你最大的资料也只会有8000。
如果你还是有得到choke的话.....不是server有特别另外设定过,不然你就要调整你的cl_updaterate降低。
四,如何在有限定的服务器调整参数:
如果你512/64ADSL有设定好的话你会“非常明显“!!!的看出一个server有没有动过手脚和有没有超出负荷,你把ex_interp 设定成0.05..........等server人数全满+一个回合的一开始(就是每有一个人死每一个人都在动作)时,你就会看出不同的异状@@
net_graph下面蓝色一直跑的杠应该都要在标准以下,不应该有突出变成红色的!!一个红“越凸出“代表LAG越严重
像我看到有些动过手脚的server,就算server只剩两个人那个红色大丁(LAG)特别凸出还是持续着,这样的一个很小的LAG方式是在游戏中感觉不到的,如果那红色的凸出比较小的话
一个红色的LAG代表的是...........ping突然变高一点,进来的资料in变少一点!!这是很严重的!!
因为HL server要收集server上每一个玩家的资料,在传送到每一个玩家的电脑,所以你看到其他人的资料都是经过server再传送给你,HL的网路新技术server已经占了很重要的地位,以前的HL server就只是像proxy server,现在的hl server会处理一个玩家们的资料,让ping比较高的玩家(如ADSL玩家)得到更公平的Game,一般server是比较不会有很严重的大丁LAG(就算是有超出一点server负荷)..........会有很严重的大LAG几乎都是有人在server上动手脚。
如果你的cl_updaterate和cl_cmdrate没有设定好的话,你是“绝对“绝对看不出一个server的网路状况。
五,综合说明:
有几个参数是要调整的
fps_max
rate
cl_latency
cl_updaterate
cl_cmdrate
ex_interp
设定如下:
fps_max 100
rate 16383.999023
cl_latency -61.000977
cl_updaterate 30
cl_cmdrate 40
ex_interp 0.05
我不敢保证这个适用於每一个512/64ADSL玩家,但是这每一个数字设定都有我自己研究、推测而来的道理
fps_max 100
我想这参数大家应该都知道才对,这是HL引擎最高fps张数,这个跟你的萤幕更新率也有关。
rate 16383.999023
为什麽会有这麽奇怪的一个数字??就是你CS进入Internet Game选单右上角的下拉选单
这就是rate,HL预设只有几个选项...而且都是整数...要调到像我一样有小数点的请选择Custom。
再到console里面自己输入
cl_latency -61.000977
这是一个到HL引擎开发出网路新技术之後才有的一个参数(前身好像是有两个参数组成的)
这个参数请使用“负“(不问为什麽)很多人都说这个数字是ping的负一或是负一半事实上是ping的最小值
是怎麽会有这一些数字的?首先你先连上一个internet server但是在连那一个server之前先点server info看看sv_maxrate 0是不是为零,确定进入游戏里面之後就要开始做一堆的反覆动作...
ESC
滑鼠点Resume
按 ~ 输入新的数字
ESC
滑鼠点Resume
按 ~ 输入新的数字
rate理论上是最大的下载bps但最大好像也只有25000.000000,我参考了很多别人的设定,一开始我先输入是25000.000521,出去选单再会来发现变成了25000.000000那个521不见了,一直往下降到17000.000521回来还是变成17000.000000;到了16000.000521回来之後发现变成了16000.000977,我知道数字就在16000和17000之间了......
尽量逼近17000但是要保留0.000521这个会自动改变的的其特殊数字,最後当我试到16383.999521时回来就变成了16383.999023这一个数字,如果我再往上加到16383.999900时....他就又变成16384.000000这不是我要的16383.999023这就是有小数点的最大rate!
再来要调整的是cl_latency,
当你打开net_graph 1时你如果有看到xx ms这个就是你的ping,一般在LAN或是Cable是不太会看到这个跳动的数字出现在net_graph,而这个ping会因为你的一些设定让它变低,有人说cl_cmdrate是你平均fps,但是我参考到的资料cl_cmdrate其实都固定是几个数字。
这参数给我的感觉是......多少fps(动作)被网路传送出去......
cl_cmdrate 30是56k数据机
cl_cmdrate 40适用DSL
cl_cmdrate 50适用在区域网路LAN
大家都知道CPL的设定是cl_cmdrate 101大家也知道HL最高fps也只有100,所以这代表了你在CPL区网的电脑所做的每一个动作的完全的传送出去,就算是达到fps 100,这也代表了你电脑的fps不会被网路“牵制住“。
六,网络参数对鼠标灵活性的影响:
1,有在家玩CS的玩家都感觉我的电脑配备明明很高档,但是为什麽用512adsl在家连到internet为什麽fps会依下子掉到很低,一下子又可以保持100,滑鼠都移动的不怎麽顺畅,准心都回缩的很慢,这时候你就要用cl_latency参数来补正你的game
fps_max + 1 - cl_cmdrate 就是这样 101 - 40 = 61
但是记住cl_latency -要使用“负数“
ok!设定成cl_latency -60感觉fps有回来一点点但是怎麽滑鼠还是不很不顺畅
你试试看滑鼠快速的转身,一直反覆!!你就会感觉转一转怎麽会有卡到一下的感觉!!虽然滑鼠移动有比较快了,但怎麽感觉射击敌人时还有不扎实的感觉,不是觉得敌人移动的比较快就是,自己滑鼠一下子快一下子慢。
其实HL网路新技术的引擎就是把自己的电脑每一个动作和网路紧密的连结在一起,不过世界上有太多不同的网路,所以没以办法做的一庞大的资料库自动一一校正
所以.......说这麽多.......就是设定成这样cl_latency -61.000977
0.000977这个数字在刚刚设定rate时很眼熟ㄝ!!16000.000521回来时变成16000.000977,在看看自己的rate 16383.999023,两个参数rate和cl_latency後面的小数点加在一起看看.....0.999023 + 0.000977 = 1,喔!!好特别再转转看自己的滑鼠,不会卡到了!!!
这说明rate和cl_latency两个配合已经把滑鼠和HL同步了!!也让滑鼠接到网路牵制的影响降到最低!!
2,再来是cl_updaterate和cl_cmdrate
cl_cmdrate就已经提过了DSL就是用40所以不改变,大陆而且是距离较近的服务器建议用40~80;开启net_graph 3记住数字是3!你会看到loss和choke看到如果有choke就是降低cl_updaterate而最高也只能到40(大陆而且是距离较近的服务器建议用40~80)注意要跟cl_cmdrate同样的数字。
七,说说ISDN的调整:
512/64 ADSL下载可以高达50k但是上传只有6k.......这麽大的一个差距我想大概也跟isdn差不多了,台湾好像没有isdn但还是说说isdn的设定就是不对称的类似56k数据机。
isdn的设定是下面:
cl_updaterate 31
cl_cmdrate 35
如果是1.5M的ADSL我想就是定成40 40,如果是512adsl我实验的结果cl_updaterate 30,可以和一个敌人对射击时不会得到choke 1;但是在平常,每一回合的一开始,死亡後,走动间,瞄人实际都还会得到不等的choke!!
不过HL引擎真的利害,只要你一接近敌人时你的choke就会停止!真正和对方对射时才会开始计算。
那时你会不会得到choke?
看看ex_interp 这个参数预设值是0.1,你把他改成0.05,你打开net_graph 1你会看到下面蓝色一直跑的杠会变的比较整齐且接近填满,但不会超过。【作弊参数,非internetgame不要改】
要怎麽把设定好的资料保存,让每次启动就是自动套用设定好的数值,首先
fps_max
rate
cl_updaterate
cl_cmdrate
这四个参数设定好後就会固定在config.cfg里面不会任意改变
cl_latency
ex_interp
这里个参数则是会关闭游戏後又会回复预设值!!!
所以你必须把这里个参数你必须另外写一个.cfg,最好让autoexec.cfg启动或是直接写在autoexec.cfg。(此文仅供参考)
|
|