cs1.6怎么网络对战网上对战和局域网的参数主要那...

CS1.6网络参数详解
网络参数详细解释
原文作者: Jon Mellin
(原文需要加入Gotfrag
Prime!的会员才能浏览,译者就不在这里加入链接了)
-----------------------------------------------------------------------------------------------
在这篇文章中,我希望能让大家了解一下CS中的一些网络上的参数。在1.3时代,当欧洲和美洲的玩家在CS上强烈碰撞的时候,网络参数在当时是一个全新的主题。1.5里,玩家们开始尝试从这些命令当中研究,发掘某些特性。事实上,大多数人都采用了正确的设置。当我们都以为对于网络参数的争论结束的时候,一个看似神秘的参数ex_interp在1.5中被重新提出,引起了一系列的风波。然而,在1.6出现之后,Valve修正了网络参数的这个错误(指的是ex_interp),同时也制造了更多的混淆。如果没有混乱的话,正确的设定早已经有效的被Valve反作弊系统(VAC)所锁定.到了现在,却仍然是一个混乱的局面。
在文章中,我的观点是积累了2年的经验和长期观察的结果。最近,一些参数的问题又引发了我的兴趣:管理员强制性地设置了错误的数值,玩家们在LAN中使用正确的参数却被硬性地踢出等等。有些人可能会记得我,我就是当年发表那篇"ex_
cammands explained(ex_
系列参数详解)"的人。在这篇文章中,有很多信息是我与Valve的员工用Email交流之后获得的。(大家可能会奇怪,他们正在解决一些demo的问题。)我想再次提出,文章不会让你成为下一个SpawN,不过能帮助消除一些错误的监控(译者注:主要指管理员和一些软件的监控错误)并让大家有一个更具说服力更具准确度的游戏环境的理解。
下文中,我将首先说明一些个人认为重要的命令的大体介绍,并带出他们的实际功效。然后我将会推荐一些数值,并解释其中的原因。
------------------------------------------------------------------------------------------------
sv_ 以及sys_
系列参数,是服务器端的命令,如果是在非本地服务器上修改这些系列参数的命令,你需要获得服务器管理员的权限、
ex_interp和cl_updaterate的关系是非常紧密的,这两个参数的说明都请必须阅读。
文章中假设玩家的网络都在宽带接入的方式下进行。
------------------------------------------------------------------------------------------------
参数介绍:
cl_cmdrate:
这个命令决定了客户端向每秒钟服务端发送数据包的数量。很明显地,这个参数的数值设定得越高,那么服务器就能相应客户端处理信息的速度越快,基本上数值设定得高是没什么错的。如果你与你的朋友都在局域网中游戏,而延时非常严重,那么很可能就是这个参数没有设置好。事实上,大多数的宽带接入没有提供足量的上行带宽,这也恰好是这个命令需要的。
cl_updaterate:
cl_updaterate与cl_cmdrate是类似的,不过方向是相反的。它控制的是客户端每秒钟从服务端接收数据包的数量。因此,它和你的下行带宽是紧密相连的。cl_updaterate的数值设定得越高,你和服务器的同步率就越高。因为只有服务器才会决定你开枪是否命中,所以你需要足够的更新数据包(upadates)。
sv_maxupdaterate:
cl_updaterate控制客户端每秒接收来自服务端的数据更新包数量(只对客户端本身控制),而sv_maxupdaterate就指定了服务端每秒发送多少数据包到客户端上(对服务端进行控制)。因此,客户端cl_updaterate的数值设定比服务端sv_maxupdaterate的数值要高,是不能增加客户端接受的更新数据包数量的。
sys_ticrate:
这个命令设定了服务器每秒能处理的最大数据“帧”数。默认设定下,这个参数设置为100。为什么服务器的fps那么重要?这个参数决定了服务器的感应能力。我敢肯定我们都觉得服务器好像在TI-83
Plus(图形计算器)上工作一样,而我们就是在LAN上进行这些图形计算器的处理。
sys_ticrate只是指定你的服务器所能计算的最大fps。默认设定下,服务器不会达到你所设定的数值,因为运算系统可能在处理某些其他的进程。市面上有不同的加速("boost")服务器fps的软件,不过大多数(如果不是全部的话)服务器加速软件是靠网络服务器供应商处理的,记住,这样的加速会加重服务器CPU的负荷。(出于某些原因,在de_inferno和de_aztec上用服务器加速软件的话,会剧烈增加CPU的负荷,大家可能曾经有过这样的体验。)在默认设置下,Half-life服务器,基于Win32的服务器一般在64fps,而基于Linux的服务器一般在50fps。如果使用加速软件的话,可能可以提升到512fps或者更高。这么高的服务器fps是受到争议的,不过我感觉如果在200fps左右就能感觉到明显的改进了。
一致性才是关键的。Fps从100飙升到512,这样可能会带来一个更差的游戏环境,因为sys_ticrate只在150左右,150是大多数服务器硬件所能承受的了的。
如果你有一个服务器的权限,而且想测试一下服务器的fps,那么在控制台输入rcon
stats,看看你的服务器是否加速了:暂时地把sys_ticrate调到10000,然后在看看服务器的fps是否超过100,如果超过100,那就是加速了的。
ex_interp:
在解释这个参数之前,我们看看Webster字典对interpolate(添加,改写)这个词的解释.
(以下是Webster字典的解释,译者这里不将原英文去掉,是让大家容易看到原有的解释)
Main Entry: in·ter·po·late
主要条目: in·ter·po·late
3 : to estimate values of (a function) between two known
3 : 评估两个已知值之间的量的关系
intransitive senses : to make insertions (as of estimated
不及物动词:进行插入(到已评估的值之中)
每一秒你只能从服务器获得有限的更新,因此是不可能每次都那么精确地及时地与服务器达到同步。举个例子:
下面的图形显示的是圆的线性内插法。当数据点(更新数据包)的数量增加的时候,则插入的量则变得更加地准确。在CS中,你可以将这个比喻成在一秒内一个人物位置变化所跨越的范围。在服务器看来,这是一个精准的圆圈,而从客户端就需要在两个“真正”的数据包中插入一定的数据。
这就是ex_interp作用所在。在每一个更新包之间都会有一个很小的时间增量存在,这个时间由half-life的预处理系统计算。ex_interp设置了在每两个连续的更新之间的插入数(时间单位是秒)。在上面所看到的图象中,这些小的时间间隔会表示为图象的直边。因为插入值的处理是在客户端进行的,所以在服务器看来并不是完全的同步的。没有什么可以代替从服务端发出的真实的数据更新包,不过插入值的计算在大体上还是能达到要求。(译者注:感谢inbremen找到的图片)
------------------------------------------------------------------------------------------------
对线上游戏(互联网对战)的推荐值:
我之前已经假设rate的数值为20000。把它调到20000以上不会有任何的改善,还可能会造成更不好的影响。
rate 20000.
sv_maxrate:
这个值在大多数的情况下设置为0。我会解释一下为什么在线上游戏时这并不是个理想的数值。sv_maxrate
会检测每一个客户端rate的设置,并尽量满足每一个玩家的需求。假设对half-life引擎来说每一秒允许玩家使用的rate参数的数值超过20000。如果有一个玩家将这个数值设定为一个超高值(比如:),那么服务器会尽量的去满足这个玩家的需要。那么这样会潜在的浪费带宽,并且会对服务器造成更多的负担,也许会超过服务器所能承受的范围。因此,我提出一个比较安全的建议,sv_maxrate在20000的时候会有比较好的表现。在现实中,sv_maxrate
0和sv_maxrate
20000的效果对游戏的进行而言可能都是一样的,不过提高一些预防的范围总是好的。
sv_maxrate 20000.
cl_cmdrate:在理想情况下,这个数值应该和服务器的fps是相等的(不是有些人所认为的客户端的fps)。如果你对服务器的更新超过了在同一时段内服务器所能处理的帧数的话,多余的更新包会被服务器所丢弃。因此,cl_cmdrate设置得太高会有不好的效果,直接造成带宽的浪费。
cl_cmdrate与服务器的fps值相等或者稍高。
ex_interp:
把这个参数设为0或者什么都不写。CS会自动的把ex_interp设置为1/cl_updaterate(比如你的console窗口会显示“ex_interp
forced up to xx
msec")。这就是你想你的客户端要进行插入的时间长度。改变cl_updaterate会自动地改变ex_interp(当ex_interp=0时发生)。因此我推荐只改变cl_updaterate,让CS去设置你的ex_interp。现在已经不可能把ex_interp设定得比1/cl_updaterate更低了,把它设定得高一些却会产生错误。设置一个比1/cl_updaterate更高的值会造成你开枪的时候打在屏幕中人物的后面(译者注:就是实际上你并没有打中人物,而只打在他的后面)。举个例子,如果你用cl_updaterate
101,那么ex_interp应该是1/101=0.009(9毫秒),那么使用默认的ex_interp
0.1,而cl_updaterate还是这么高的话,那么之前所说的错误就会产生。
ex_interp 0
cl_updaterate:长期以来,大家都认为cl_updaterate的规定是在101,这样能使你获得少量的"choke(阻塞)"。Choke可以用命令net_graph
3看到。个人认为,choke是我不会考虑的东西。其实cl_updatarete的最佳值是很复杂的。CAL的服务端的config提供sv_maxupdaterate为101,那么很多人会总结为我们也应该把cl_updaterate设置为101。在理想的状况下,这是正确地,不过在实际情况下,并不是那么有用。在北美,大多数的服务器都不能负荷每秒100帧的运算,这就意味着服务器无法发出每秒100个更新包,而玩家们就会觉得很“卡”了。由于我们从客户端如果没有远程控制密码(远程控制权限)的话是无法窥探服务端的fps的,如何选择最适当的数值就像猜谜游戏一样了。你可能会说,“好吧,那就把cl_updaterate设置为101就不管了,我会获得服务器给我更新的最大值。”问题就在忽视了cl_updaterate对ex_interp的影响以及两者之间微妙的平衡关系。寻找一个适当的cl_updaterate值(记住要把ex_interp先设为0),从101开始逐渐减小,你会发现人物只是“微小的闪动”(译者注:原文是“slightyly
around”,从实际操作来看,我们可以看到人物的重影,就像闪动一样,我就把它翻译成“闪动”了)。“微小的闪动”是优先的选择,只要ex_interp等于1/cl_updaterate,那么人物就会在应有的位置上出现。在不同的服务器中游戏你都要改变cl_updaterate。如果必要的话,把它设置低于50也不要担心。预处理系统会发挥好它的作用的。备注:大多数的公众服务器都会使用默认的sv_maxupdaterate
30,那么在那种情况下,cl_updaterate就最好了。
请注意,从一个低的cl_updaterate数值(比如说20)逐渐增加是不行的,一旦你把它设定得更高,ex_interp是不会重新设定的,你需要不断手动地将ex_interp置0。这里我提供一个简易的脚本给大家调整你的cl_updaterate。
cl_updaterate应该与服务器的fps相等,不应该超过服务器的sv_maxupdaterate数值
sys_ticrate:
找合适的sys_ticrate就需要进行一些实验了。首先,如果你的服务器没有被加速,提高这个数值并超过100就不会有任何效果。如果你正好租用了一个高性能的服务器的话(你的服务器可能已被加速),那么你就有空间这么做。总体上来说,服务端有更高的fps是一件好事,提高sys_ticrate超过200(或者比200低)是毫无效果的。如果把sys_ticrate设为9999,你的服务器fps会根据现有的情况在150到1000之间不停的跳变,把sys_ticrate设定为低于200的数值会有一个更一致的环境,不过会对服务器的性能有所减弱。同样的,在一个物理服务器(一台电脑或者服务器主机)上都可能运行不同的HLDS(Half-Life
Server),那么如果每一个HLDS都把sys_ticrate设为10000的话,服务器的CPU的负荷就相当大了。这样的情况下,会潜在地造成在那台物理服务器上的性能的下降(也可能提高你每月的租用费用)。最后,服务器的fps只会在某几个数值上作用,举例来说,我的服务器fps只在85,102,128,170,256等数值上,而不是在他们之间(比如91)。如果你把sys_ticrate设为100,你的服务器fps最大值就会在100以下(比如85),因此,设定sys_ticrate大于目标fps数值约20到50左右比较合适。
sys_ticrate 110-180,结合你的服务器性能考虑。
------------------------------------------------------------------------------------------------
关于局域网对战的备注:
局域网对战,比如the
CPL,cl_updaterate设置为101,这与局域网服务器的质量有关。通常在LAN上,只有一小部分的服务器会在虚拟盒中运行,因此服务器使用更少的资源。如果服务器都加速超过了100fps,那么cl_updaterate
101就是一个非常理想的数值。判断一个LAN服务器最快的方法就是看看玩家们ping的平均值。一个运行在50到64fps的默认服务器,在LAN下的平均ping值为15ms,而加速过的服务器会使ping值下降,大概在5ms左右。据我所知,the
CPL,ESWC还有WCG都是使用加速过的服务器的。
------------------------------------------------------------------------------------------------
Alfred Reynolds, Valve Software
Yahn Bernier, Valve Software
Zibbo, UDPSoft
The HLDS Mailing Lists
The server.counter-strike.net forums
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。如何在CS1.6和CS起源中的局域网对战或互联网对战中让其他玩家看到我自己设定的人物模型?
如何在CS1.6和CS起源中的局域网对战或互联网对战中让其他玩家看到我自己设定的人物模型?
补充:我的意思是如何使其他玩家看到(如我和同学对战时同学可以看到)我自己设定的人物模型,但是这个人物只有我这台电脑装有,最好可以设置成只有我自己可以使用(我想该成火影的人物模型)。是否需要使用AMXX插件?需要的话该怎么使用?我的是1.76版的,要是需要请教教我吧。要是是主机的话该怎么弄?要是不是主机该怎么弄?求帮助啊·~~~两个游戏知道一个就请回答一个,感激不尽!
cs起源可以设置,cs1.6不可以
那起源的你能详细说一下吗?这样不明不白的谁知道啊……
请问你QQ是多少呢?我不知道怎么才能懂得你的QQ号啊……
10+去掉+和=就是我的号了
你有起源模型吗?
有,可以下载到的。这是我最后一次追问,你要是有回答就MM我QQ好了。我已经+你了,但是一没回我的话。下一次我就不追问了。
你先用QQ说话我好找到你
的感言:很感谢你一直以来的帮助,谢谢了,虽然最后还是没能解决问题……但是,很感谢啊!
其他回答 (2)
我们单位自己玩的,因为机器都不是很好,所以要单独找一台机器来建服务器,就像1.5版本的那种前面带个主机箱图标的主机,用来建服务器的主机是不能进行游戏的,这样应该会提高服务器性能吧。
首先对方的版本要和你的一致,然后对方要设定现实显示自定义皮肤贴图。
版本肯定一样啊,之后怎么弄呢?怎么显示自定义皮肤贴图?详细点!
相关知识等待您来回答
反恐精英领域专家cs1.6怎么联机(以前用路由器连过现在他把电脑搬走了要再想连怎么弄啊)局域网还行吗
cs1.6怎么联机(以前用路由器连过现在他把电脑搬走了要再想连怎么弄啊)局域网还行吗
你找一个开CS1.6服务器的网吧
把服务器的ip要来&&, 然后网上对战,& 添加服务器就哦了,&& 能与真人对战&, 不需要打机器人
但会总挨T,&& 因为网吧会有玩家要玩必须先满足网吧的
相关知识等待您来回答
反恐精英领域专家CS1.6基本参数都有什么?
CS1.6基本参数都有什么?
的基本操作~!详细的~!W: 是向前进 S:是向后退 A:是向左走 D:是向右走 R:是换子弹 Q:切换枪 E:是拆弹 Y:是说话 G:是把枪丢掉 B:是买东西的(还要按你要买的东西) Z X C 都是已经给你准备好的话 空格:是跳 SHIFT:是蹲 CTRL:是走 M:是换对伍 N:是启动夜视镜 逗号和句号:是买子弹 鼠标左键是打枪 鼠标右键是装消声器 1是主力武器 2手枪 3 刀 4 手雷 5 c4 都能自己设置 在控制台里面修改或者是在CS的目录下找到config这个文 件 能用记事本或者是写字板打开 CS中文版的在 cstrike_schinese文件夹里面 英文版的在cstrike文件夹 里面 参数的中英对照 bind &TAB& &+showscores&这个不用说了吧(查看杀人数) bind &ENTER& &+attack&这个(按回车开枪) bind &ESCAPE& &cancelselect&这个(取消选择) bind &SPACE& &+jump&这个不用我说了吧(跳) bind &'& &+moveup&向上移动(好像没如何用到) bind &+& &sizeup&增大画面降低FPS值 bind &,& &buyammo1&这个嘛...买主武器子弹 bind &-& &sizedown&减小画面增加FPS值(显卡好能不理会这个) bind &.& &buyammo2&这个是第二武器子弹(就是手枪啦) bind &/& &+movedown&向下移动 bind &0& &slot10&下面这10个是选择1-10 bind &1& &slot1& bind &2& &slot2& bind &3& &slot3& bind &4& &slot4& bind &5& &slot5& bind &6& &slot6& bind &7& &slot7& bind &8& &slot8& bind &9& &slot9& bind &;& &+mlook&这个就是用鼠标控制视野 bind &=& &sizeup&这是加机器人 bind &[& &invprev&这个嘛,就是切换到下一种武器啦 bind &`& &toggleconsole&这个就是调出控制台啦,大家都清楚吧!! bind &a& &+moveleft&向左移动 bind &b& &buy&买枪 bind &c& &radio3&无线电联络命令3(就是什么GOGOGO的) bind &d& &+moveright&右移动 bind &e& &+use&拆雷,救人质用的按建 bind &f& &impulse 100&开手电 bind &g& &drop&丢弃当前物品bind &h& &+commandmenu&这个就是共公的菜单,显视出当前地图还有多久换图,换准心,地图描术.1.6里加机器人也能通过这个H实现. bind &i& &buyequip&这个是打开购买武器的菜单. bind &k& &+voicerecord&语音系统. bind &l& &showbriefing&当前地图的描术 bind &m& &chooseteam&给你叛变用的 bind &n& &nightvision&夜视镜 bind &o& &buyequip&快截买装备的,例如O1半甲,02全甲,O3手雷,O4闪光和O5烟雾弹 bind &p& &+use&使用建,但我没用过....和E同样用法 bind &q& &lastinv&切换到最后用的武器,也就是人家用狙连按2下Q换回狙按的键. bind &r& &+reload&换子弹咯 bind &s& &+back&向后退 cl_allowdownload &1&这个是客户端是否允许下载,,1是能,0是不行 cl_allowupload &1&这个是客户端是否允许上传...同上. cl_backspeed &400&玩家设定后退的速度,比赛的最大值是400. cl_crosshair_color &50 250 50&&---这个是准心的艳色 cl_cmdbackup &2.000000& 如果非要解释的话那么这个就是你在搜索服务器的时候最快的频值也就是你要设置的数值,用默认的吧。 cl_cmdrate &101& 这个也是客户端的值,是每秒钟发送给服务器的客户端动作的值(移动、瞄准、与射击等动作),忘了默认值是好多,我都是设置是30,我想我每秒钟最多做那么多动作吧(这个值设高了会导致ping升高,再高会出现choke。 cl_crosshair_size &auto&这个是准心地大小,因为更新后能自定意准心滴,CS1.6cl_crosshair_translucent &1&这个是准心将依赖于光线而变化,就是说如果1的话你看着天空准心不容易看到,因为它变得亮了,如果是0的话就永远不会变(比赛允许) sensitivity &1.500000&这个是小孩子都清楚滴鼠标灵敏度选项zoom_sensitivity_ratio 1.2 ,这个是狙击枪开镜后鼠标的移动速度,默认是1.2,你要觉得不好用能改,config里没这个参数,能自己添加(比赛允许) spec_drawcone_internal &1& spec_drawnames_internal &1& spec_drawstatus_internal &1& spec_mode_internal &4& spec_pip &0&这个是开关画中画功能,具体自己试试吧,不清楚咋解释,但比赛不允许suitvolume &0.250000&前进时的声音音量大小sv_voiceenable &0&否允许语音通讯,0是关闭,1是开启,用于服务器端,客户端就算设0还是能讲话滴team &&队的皮肤,这样是默认 topcolor &30&这就就是设定玩家人物顶部颜色的参数 viewsize &120&这个是设定游戏可视区域滴百份比 setinfo dm 1换地图后开启地图的简介 setinfo &_ah& &0& 是否提供自动说明的功能 setinfo &_vgui_menus& &0& 购买武器菜单显示模式 文字模式 &0& 图型模式& &1& setinfo &lefthand& &0& 设定屏幕上的玩家是左撇子,或是右撇子 +mlook&---这个之前说过了,鼠标控制视野.... exec userconfig.cfg 如果有这串字符的话,在你进入游戏的时候,exec userconfig.cfg就会进入自动运行状态。 另外在cstrike和cstrike_schinese下都有一个userconfig.cfg,这里边保存的一般是不会被不正规的服务器修改的参数。以CPL官方的userconfig.cfg为例,要实现一个命令只要把这一过程定义(alias)好,并且分配一个键位给这个命令,以后只要按分配好的键位,就能实现这一过程,而我对这些丝毫不重视,我始终认为cs是体现个人aim的能力和意识,再加上团队的默契配合,也不需要用快捷键买枪,需要指出的是CPL官方的userconfig.cfg以下多少个参数才是正规和合法的,希望大家坚持使用,话又说回来哪怕是你自己乱改了这多少个参数你也不会提高技术,以不变应万变才是合理的。 CPL官方的userconfig.cfg正规参数如下: ati_subdiv 0 ati_npatch 0 s_eax 0 s_a3d 0 rate 25000 cl_updaterate &101& cl_cmdrate &101& ex_interp &0.01& (如果你喜欢上网对战最好把这个修改为0.1,那样会更流畅一些)
其他回答 (4)
进入游戏按“`”键进入控制台,输入以下命令:
cl_showfps 1
// 显示fps
gl_dither &1&gl_cull &1&// 只渲染可见目标gl_keeptjunctions &0&// 显示纹理的裂纹gl_max_size &128&// 设定纹理大小*gl_clear &0&// 纹理质量d_spriteskip &0&// 不清楚,似乎能提高性能r_dynamic &1&// 固定动态光源r_mirroralpha &0&// 关闭反射图片gl_palette_tex &0&// 使纹理平滑r_norefresh &0&// 非必要时不更新hud和consolegl_round_down &5&// 纹理降级等级固定(1-99越高质量越低)*cl_weather &0&// 关闭天气(de_aztec)max_shells &0&// 关闭子弹退镗gl_texturemode &GL_LINEAR_MIPMAP_NEAREST&// 设置纹理模式gl_wateramp &0&// 不显示水波r_shadows &0&// 关闭阴影r_waterwarp 0// 关闭天气在水面上的反应fastsprites 1// 烟雾细节(0-3,数值越高质量越低),对白云没有影响,但对手雷爆炸冒出的烟雾有影响。cl_highmodels 0// 建模质量cl_shadows 0// 关闭玩家阴影gl_picmip 1// 混合纹理*gl_playermip 2// 混合玩家建模纹理*joystick 0// 关闭游戏操纵杆max_shells 0// 不显示退镗弹壳(此处原文如此,与上文重复,可能是作者笔误——译者)max_smokepuffs 0// 关闭烟雾扩散效果(违规命令,比赛勿用)
cl_showfps 1 这个是显示FPS的..如果你的最大值是100那么显示就是99就对了...如果不对.看看垂直同步关了没.如果关了.那么就要调整很多参数了.这里就不多说了.. RATE 25000 这个调整起的是稳定PIN的作用.. CL_UPDATE 101 CL_CMDDATE 101 这2个调整的是CS的数据上传速度 EX_INTEIP 0.01 这个调整的是 图像显示帧数...
您好!楼主。
我推荐一个更安全的值“20000”。事实上,“sv_maxrate 0”和“sv_maxrate 20000”有可能效果是相同的,但是预防措施总是没有坏处的。 推荐值:sv_maxrate 20000
cl_cmdrate:这个参数的理想值应该是和服务器的FPS一样(而不是原来大家认为的客户端FPS)。如果你向服务器端发出的更新超过服务器本身的FPS,通常那些多余的数据包就会被丢弃掉。因此,“cl_cmdrate”设置过高没有什么大坏处,但是它浪费了你的带宽。推荐值:cl_cmdrate 等于或者大于服务器FPS
ex_interp:把这个值设成0。CS会自动把你的“ex_interp”设成“1/cl_updaterate”(你的命令台会告诉你“ex_interp”被强制设成XX毫秒。原文“ex_interp forced up to xx msec”)。这是因为两个数据包之间的时间间隔就正好是1/(每秒更新次数),这就是你需要客户端做出插值预测的时间长度。调整“cl_updaterate”会自动调整“ex_interp”(当“ex_interp”设成0的时候)。我建议你只修改“cl_updaterate”,而让你的CS来自动修改“ex_interp”。你现在不能把“ex_interp”设置的低于“ 1/cl_updaterate”,而把它设高则导致了你射击对手的时候不得不瞄准出现在你屏幕上的人的后方,这种行为通常被认为是作弊(原文exploit,因为欧美比赛中exploit也算是作弊的一种,因此这里就直接翻译成作弊了)。比如,如果你的“cl_updaterate”是101,你“ex_interp”的正确值就是“1/101=0.009”(9毫秒)。而使用默认值0.1就形成了前述的“作弊”(又是exploit,我ft)
推荐值:ex_interp 0
cl_updaterate:很长时间以来的做法是让“cl_updaterate”从101开始下降,降到你可以接受的“choke”值。可以用命令“net_graph 3”来查看“choke”。对我来讲,“choke”是我最后才关心的一个数值。事实上得到“cl_updaterate”的最优值是更为复杂的。CAL比赛服务器端设置都是“sv_maxupdaterate 101”,所有有人可能会觉得“cl_updaterate”应该设成101。理想状态下,这是对的,但现实中这并不正确。美国大部分的服务器并不能提供100FPS,这就意味着每秒钟服务器不可能发出100次更新。因此“cl_updaterate 101”除了让你的“ex_interp”变成0.009之外,并不能保证你每秒钟都收到100次更新,这就导致了玩家们的游戏感觉不断在变。既然没有(除非有远程控制权,“rcon stats”)知道服务器FPS的方法,我们就不得不猜测“cl_updaterate”的最优值。你可能说:“不妨把“cl_updaterate”设成101,这样就保证了能尽可能多的接收到数据包”。这样做的问题是忽视了“cl_updaterate”对“ex_interp”的影响,而实际上你的“ex_interp”应该设的更高。为了找出最优的“cl_updaterate”值(记得把“ex_interp”设成0),将其值从101开始下降直到游戏中的人物只有非常轻微的抖动。“轻微的抖动”的程度只是个人的偏好而已,只要你的“ex_interp”等于“1/cl_updaterate”,游戏中的人物就应该是在正确的位置上。你必须针对每个服务器来调整你的“cl_updaterate”。别害怕使用低于50的“cl_updaterate”值。预测机制会发挥它的作用。注意:大多数公众服务器会把“sv_maxupdaterate”设成30,这时“cl_updaterate 30”就是最正确的。  请注意“cl_updaterate”从低向高调整是行不通的。一旦你的“cl_updaterate”设置到了一个较高的值,“ex_interp”并不会自动调整,而你不得不一次又一次的手动输入“ex_interp 0”。下面是我写的一个调整“cl_updaterate”的很方便的脚本:
调整更新速度的设置文件
推荐值:“cl_updaterate”应该等于服务器的FPS,而且不应该超过服务器的 “sv_maxupdaterate”值。
sys_ticrate:寻找合适的“sys_ticrate”值需要做一些试验。首先,如果你的服务器fps没有被提高到100以上,那么把这个值设成大于100是毫无意义的。如果你碰巧租到的是一个高性能服务器(即FPS被提升过),那么你就可以对“sys_ticrate”做点什么了。尽管越高的FPS是件好事,但是把“sys_ticrate”设置的超过200通常不是件好事。比如你把“sys_ticrate”设成9999, 你的服务器FPS则会随着当前地图上的战况而在150到1000之间晃悠。因此把它设置的低于200,会提供一个更稳定的游戏环境。通常,服务其提供商的每台计算机都会运行多个“半条命”服务器,所以如果所有这些服务器的“sys_ticrate”很高的话,就会占用极大的CPU资源。而使得每个“半条命”服务器上的玩家都感觉不爽。(并且多半你的服务器供应商还会增加月租金)。最后,服务器的FPS只能是某些特定的数。比如,我的服务器只能工作在85、102、128、170、256等几个FPS下,而且不会出现其它的FPS值。如果你把“sys_ticrate”设成100,你的服务器会自动选取小于100的那个工作值(上面情况下,将是85)。所以请试着在你想要的FPS上加上20到50,来设置“sys_ticrate”。
推荐值:sys_ticrate 110-180, 取决于你服务器的质量。
局域网赛事注意事项:那些局域网赛事的主办者,比如CPL,使用“cl_updaterate 101”的原因是由于他们使用了高品质的服务器。如果服务器的FPS被提高到100以上,那么使用“cl_updaterate 101”就是一个合理的值。一个快速的查看你局域网服务器FPS是否被提高的方法是看玩家的ping。一个运行在50或者64FPS的默认服务器通常会让玩家的ping超过15毫秒,而一个被提升的服务器则会提供一个远小于此的ping值,通常是在5毫秒左右。就我所知,CPL、ESWC和WCG都是使用的提升过的服务器。
本文将深入探讨一些CS中有争议的关于网络的参数。网络参数是一个相对新的课题,那些顶尖的选手也是从1.3时代欧洲与美洲的激烈碰撞中才开始注意到的。在1.5的时代,选手们开始认真研究特定网络参数的意义。事实上,大多数人直接采用了别人的正确设置。尽管如此,到了1.6,Valve修正了代码中的一个错误,反而造成了更多的混乱。原来正确的设置由于Valve的反作弊程序(VAC)而不能发挥其效力。你们中的有些人可能由于我很久之前的那篇“ex_参数解析”的文章而记得我。
这个观点是通过两年来试验和观察累计而成的。近来有些事情使我提起了对网络参数的兴趣:网管强迫玩家使用错误的参数,局域网赛事中选手由于使用正确的参数而被取消资格等等。最近我通过和一位Valve员工之间的一系列通信而确认了本文中的大部分内容。(对于你们关于demo问题的那些疑问,Valve确实在研究解决方案。)要声明的是,本文所含内容不会使你成为另外一个“Spawn”,但是可以消除错误的对他人关于网络参数的指责并提供一个更加平衡的竞技环境。
下面,我将对我认为重要的网络参数给出一个概述并介绍一下其背景。然后我会给出网络参数建议值,并解释为何如此建议。
请注意:
以“sv_”或者“sys_”开头的参数是服务器端参数,如需修改必须用远程控制命令“rcon”修改。直接修改该参数将导致本地机器的参数被修改,而不是服务器上的参数。
“ex_interp”和“cl_updaterate”两个参数之间的关系极端重要,阅读下文关于其中任何一个的时候,也请阅读关于另外一个的部分。
本文阅读对象主要是那些用宽带上网的读者。
一般信息:
cl_cmdrate:
这个参数决定了每秒钟你--即客户端发给服务器多少个数据包。很显然,这个值越高,服务器对你执行的命令的响应就越快。如果你拥有宽带网并且是其唯一使用者,把此值设高对你没什么坏处。如果你和你的朋友在一处上网打CS,并且能感觉到经常出现延迟的现象,那么这个命令就是罪魁祸首。大多数的宽带(主要是ADSL)并不提供足够的上传带宽,而这恰恰是“cl_cmdrate”所需要的。
cl_updaterate:
“cl_updaterate”和“cl_cmdrate”颇为类似,只是反其道而行之。它控制的是每秒钟你从服务器端接收的数据包的数量。因此,它依赖的是你的下载速度。你的“cl_updaterate”值越高,你和服务器的同步率就越高。既然只有服务器能决定你是否打中了,你当然希望收到足够多的数据包以保持和服务器同步。
sv_maxupdaterate:
如同“cl_updaterate”控制每秒钟客户端发给服务器端的最大数据包数量,“sv_maxupdaterate”就是每秒钟服务器端允许客户端接收的最大数据包数量。因此,把“cl_updaterate”设置的高于“sv_maxupdaterate”是毫无意义的。
sys_ticrate:
这个参数设定的是每秒钟服务器将计算出的帧数。默认值是100。为什么服务器的FPS(每秒钟的帧数)重要呢?这个参数本身决定了你在这个服务器上的感觉。我肯定我们都有过这种经验:有些服务器好像是架设在“深蓝”(或者曙光?龙芯?呵呵)上,而我们就好像是在局域网里打比赛一样。
“sys_ticrate”只是设定你服务器的最大FPS。一般来说,你的服务器不会达到这个值,因为你的操作系统并不允许你这样。有很多种不同的方法来提升服务器的FPS,但是其中很多种都需要服务器提供商的合作。请记住,提高服务器的FPS会导致服务器提供商的机器CPU加重负担,因此多半服务器供应商们不会这么做。(出于某种原因,在de_inferno和de_aztec上提高服务器的FPS会导致CPU过载)。基于Windows的“半条命”服务器的默认FPS是64,而基于Linux的服务器的默认FPS是50。某些情况下,你可以把服务器FPS提高到512。是否使用如此之高的服务器FPS现在还有争议,但是就我个人的经验,通常在200FPS下你的游戏感觉会有明显的改善。
稳定性是关键。FPS在100和512之间跳来跳去只会使你的游戏感觉更糟糕,因此当你的服务器一般状态下是150FPS的时候,不妨把“sys_ticrate”设成150。
如果你有服务器的远程控制权限并且想知道服务器当前的FPS,那么就在命令台中输入“rcon stats”。要检查你的服务器有没有被提升过,暂时把“sys_ticrate”设成10000,并输入“rcon stats”。如果你的服务器FPS大于100,那么你的服务器就是被提升过了。
ex_interp:
开始之前,韦氏大辞典如下定义“interpolate”(插值):
Main Entry: in·ter·po·late (主要词条: interpolate)
3 : to estimate values of (a function) between two known values (3:估计两个已知函数值中间的函数值)intransitive senses : to make insertions (as of estimated values) (不及物动词: 插入(在估计值的时候)感谢楼主,希望采纳。
CS1.6的话下个好点的版本就OK。
其他的参数设置就不需要再多设置 只需要设置下LAN参数就OK。
LAN参数:
rate 25000cl_updaterate 101cl_cmdrate 101_cl_autowepswitch 1 是否自动捡枪cl_dynamiccrosshair 0 动态准心fps_max 101ex_interp 0.01
去加速,刷新率,32bit
-noforcemaccel -noforcemparms -noforcemspeed -freq 100 -32bpp
如果是OP的话想管理服务器可以使用这些参数。
rcon_password 密码 输入OP密码rcon status 可以看对方的IPrcon users 查看玩家信息rcon kick ID 根据users看到的ID 来K玩家rcon mp_fadetoblack 1 死亡黑屏rcon changelevel de_dust2 换图rcon sv_restart 1 刷新1秒rcon mp_startmoney 16000 设置16000钱
HLDS服务器启动文件参数
START/REALTIME hlds.exe -game cstrike +servercfgfile server.cfg -insecure -port 27015 +maxplayers 16 +map de_dust2 +sv_lan 0 -console -noipx
SXE 关闭 开启命令
rcon __sxei_required 1 开启rcon __sxei_required 0 中立,未开启显示 NO-SXE-Ircon __sxei_required -1 关闭
希望您能尽早找到满意答案
相关知识等待您来回答
反恐精英领域专家}

我要回帖

更多关于 cs1.6怎么网络对战 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信