|
发表于 2002-12-28 00:49:02
|
显示全部楼层
|阅读模式
来自 中国–浙江–杭州
最初由 恍若如梦 发表
设置地图为32人,当玩家人满的时候玩家的ping值会时高时低,有时候为20多ms,有时候是为500多ms.玩家全部是局域网,不会是网线的问题。就是人多起来的时候就会出现,玩家有26人这样时就会出现这样的问题。
服务器的配置是win2000 sp3,p31.2G,512M,所装的插件有StatsMe v2.6.17, WWCL v2.00,反作弊软件有VSM, HLG v1.35,大家帮我看看是怎么回事?真是很感谢:yeah:
看到很多类似的问题,所以在这儿做个初步的解释和探讨:
基本上,CS并不是一个对硬件要求很高的游戏,但是任何事情总有一个度,你永远不要指望你的486能够拖动16人的服务器,既便你使用Linux,FreeBSD,whatever...
我们来看看CS到底是如何消耗我们的硬件资源的:
CPU
如果要达到理想的情况,没有任何Lag,请记住,每位玩家大约会消耗50MHz的CPU运算能力。这样,一个2G的CPU在驱动32人满员的服务器时,峰值情况下,会消耗80%的CPU资源。如果你此时正在浏览有大量flash,java的网站或是甚至在服务器上面CS(天啊:han: ),那么,请务必接受不定期lag的事实。
【要点】: 50MHz/每人
带宽
同样的,理想情况下(我指的是获得最好的图像细节和获取所有服务器信息),那么每位玩家需要占用服务器的平均带宽是5KB/sec。注意,是Byte而不是bit,所有,对于所谓的1M带宽的网络而言,您实际获得的带宽是1024/8=128KB,因此,大致可以流畅的驱动26名玩家。当然,前提条件还是你并没有在服务器上同时下载DVD,或者在线看电影(你不会真的这么做吧:han: )
【要点】: 5KB/sec/每人 KB而不是Kb
内存
内存,很少成为lag的主要问题,而且并不随人数的增长而迅速增长。一般而言,CS服务器需要60-80M内存。如果你能够充分保障,并有大概40%左右的空闲内存,那么这块就OK了。
【要点】: CS服务器会消耗60-80M内存
Half-Guard
我们还记得CS1.3时代的服务器吗,所谓32人的服务器铺天盖地,几乎是个宣传卖点。但是在VAC反作弊推出后,这样的服务器越来越少了。一个自然是因为大家开始憎恨混战,另一个原因是任何反作弊程序都大量的消耗了CPU。其中,最明显的是HLG。HLG采用了定期扫描的办法,并常驻内存,用于反wallhack和aimbot,这都是吃CPU的大户,更为糟糕的是,HLG1.35前并没有对AMD芯片(3D Now)做优化,因此AMD平台的服务器会更加的雪上加霜。因此,狂暴军团的建议是,要么索性放弃越来越成为鸡肋的HLG,要么就不要打开HLG所有的参数,比如反透视,反自动射击等。
【要点】: HLG是资源消耗大户,不要全部enable HLG所有的参数,除非你对自己的硬件条件信心满满
其他因素
我们不认为statsme这样的软件,会占用太多的CPU或是内存。但是,一个是例外,那就是psychostats,或者hlstats。请不要把CS服务器和psychostats web服务器,MySQL放在同一个硬件机器上面,除非你安装了多路高端CPU和海量内存。
如何知道服务器lag的原因
我并没有心理准备,听到大家还在用Win98做CS服务器。因此,如果是用Win2k或者WinXP的话,请打开“任务管理器”和HLSW,在lag多发时间,监视你的服务器硬件资源消耗情况。
通常情况下,一旦发生lag,总有可怜的玩家会抱怨说“lag a”或者“ka”,这时候,我们需要马上看“任务管理器”“进程”和“性能”一栏,看看到底是那个进程吃的了我们的CPU和内存,而此时的CPU和内存的消耗又是否达到瓶颈?这样,我们就可以简单的知道,自己需要升级那个部分的硬件了,或者,就缩减服务器支持的人数。
【要点】: 利用“任务管理器”找到硬件的瓶颈所在
以上,只是基于狂暴军团的实践和相关资料,希望得到大家的反馈和指点,thank you ! |
|