小白 发表于 2008-10-18 12:57:38

解决CS跳频问题

架F将近一个月了,找遍了所有可能引起跳ping的原因。总结出了一点经验,与大家共享,也感谢DT会员。

1、CS服务器3647最稳定,没有自动踢人的现象,推荐采用。本人用的DT3647纯净版服务端,最好是纯净版,保持服务器纯净不含其它config

2、Metamod 1.19 p32或p28,个人觉得比较稳定。

3、Amxmod我个人用的是1.76b ,感觉挺稳定的。

4、Booster 这个很重要,推荐用1.7版本。

其实不必追求过高的FPS,一般服务器保持在200左右是最稳定的。在512-200 左右来回跳频是容易造成ping不稳定。感谢DT会员Zsy314发的Booster.cfg参数,我再贴一下,这个Booster.cfg将接管CPU,将服务器fps保持在稳定的数值内。

将以下内容复制至文本文件中,改名booster.cfg。^_^

server.cfg中加一行exec booster.cfg,每次换图时自动锁定fps值。

=============== 以下是Booster.cfg内容============================

sys_ticrate 1000

// booster_show_connmsg x (0 = disabled, 1 = small message, 2 = large message)
// Shows a console message to players with booster information when they connect.
booster_show_connmsg 1

// booster_autofps x (x = 0 to 1000, 0 = no target FPS)
// Automatically changes value of sys_ticrate to achieve and maintain the desired server FPS (if possible).
// It is not recommended to target FPS greater than 200 or so.
// Note that autofps adjusts sys_ticrate, which makes it incompatible with any booster_lite_mode other
// than 3. Setting booster_autofps will force booster_lite_mode to 3.
booster_autofps 1000

// booster_minsleepms x (x = 1 to 10, 10 = no change to multimedia timer)
// This adjusts the multimedia system timer to trick HLDS into sleeping for less time. Note that
// the lower the value set, the higher the CPU consumption will be for HLDS. Values lower than 3
// are not recommended, as they can cause massive CPU consumption and/or system instability.
booster_minsleepms 5

// booster_force_systicrate x (x = 0 to 10000, 0 = let Booster2 manage the value itself (no force))
// Booster2 will force this sys_ticrate value. Note that using this option will set booster_autofps to 0
// and booster_lite_mode to 3, as these methods rely on a sys_ticrate value untouched by user settings.
// You should avoid directly setting sys_ticrate in your server.cfg, as manually adjusted values can
// cause problems with various parts of Booster2.
booster_force_systicrate 0

// booster_cpu_enabled x (0 = off, 1 = on, 2 = report CPU only - don't actively manage CPU)
// Booster2 can monitor CPU usage and adjust the multimedia timer to reduce load when necessary
booster_cpu_enabled 0

// booster_cpu_spikemax x
// If CPU management is enabled, number of times booster_cpu_spikelevel needs
// to be exceeded in order for mmtimer to increase and CPU load to be reduced.
booster_cpu_spikemax 3

// booster_cpu_spikelevel x
// If CPU management is enabled, level which CPU utilization needs to exceed
// (booster_cpu_spikemax times) for mmtimer to increase and CPU load to be reduced.
booster_cpu_spikelevel 75

// booster_cpu_floor x
// If CPU management is enabled, level which CPU utilization needs to stay under
// (for booster_cpu_quiettime seconds) for mmtimer to decrease and FPS to increase.
booster_cpu_floor 50

// booster_cpu_mminc x
// If CPU management is enabled, amount mmtimer will increment (Booster2 will also decrease
// the mmtimer by 1 for every 5 minute period that booster_cpu_spikelevel is not exceeded.
booster_cpu_mminc 2

// booster_cpu_quiettime
// Seconds required without CPU spike exceeding booster_cpu_floor before
// mmtimer value is decreased by 1.
booster_cpu_quiettime 300

// booster_cpu_mmmin x
// If CPU management is enabled, Booster2 will never set the mmtimer below this value.
booster_cpu_mmmin 3

// booster_cpu_mmmax x
// If CPU management is enabled, Booster2 will never set the mmtimer above this value.
booster_cpu_mmmax 8

// booster_lite_mode x
// Controls how the Booster-Lite approach is implemented:
// 0 - HLDS sleeps 10ms if no network packets are received. If HLDS
// receives a packet, it stops sleeping. (this mode has been added
// to provide backward compatibility with how BL v1.00 worked).
// 1 - HLDS attempts to sleep 10ms. If a packet is received,
// HLDS stops sleeping. Otherwise it attempts to sleep another 10ms.
// 2 - HLDS attempts to sleep 50ms. If a packet is received, it stops sleeping.
// 3 - HLDS will sleep the standard amount (this value turns this feature off).
booster_lite_mode 3

// booster_lite_extra_sleep_frequency x
// Forces HLDS server to sleep x milliseconds even if a packet is received.
// This setting helps to lower CPU usage.
booster_lite_extra_sleep_frequency 0

// booster_stats_cpu_counter
// Sets the string Booster will use to query cpu performance. By default this is
// "\Processor(_Total)\% Processor Time". Manually set this only if you need to
// support non-english counter names or to query a specific processor.
// This cvar is only used if booster_cpu_enabled is turned on.

// booster_stats_in_counter
// Sets the string Booster will use to query bandwidth in. By default this is
// "\Network Interface(NDIS 5.0 driver)\Bytes Received/sec". Manually set this only
// if you need to support non-english counter names or to query a specific interface.
// This cvar is only used if booster_stats is turned on.

// booster_stats_out_counter
// Sets the string Booster will use to query bandwidth out. By default this is
// "\Network Interface(NDIS 5.0 driver)\Bytes Sent/sec". Manually set this only
// if you need to support non-english counter names or to query a specific interface.
// This cvar is only used if booster_stats is turned on.

// booster_stats
// This turns on statistics gathering. This options is not supported. See info at the end
// of the readme regarding this option.

// booster_trigger_cmd
// Sets a command to be executed the first time (during any given map) that CPU consumption
// trips booster_cpu_spikemax. This allows admins to do things such as turn off wallhack
// blocks or other CPU intensive systems under heavy load.

// booster_intping
// This is a read-only value, and holds the current average player ping.

// booster_extping
// This is a read-only value, and holds the current ping to the address set in booster_pingaddr.

// booster_pingaddr
// Sets the address (in IP format x.x.x.x) that Booster will ping once a minute. If no value is
// set, Booster won't ping anything. Pinging an external address is useful in helping determine
// latency issues. If clients are showing high ping, pings to a nearby router can help determine
// if the problem is close to the server or part of something that is beyond the administrator's
// control.

====================我是分割线====================================

我机子基本锁定在200左右,20人服务器,个人认为足够保持稳定的ping值了。

最后强调一点,CS服务器如果配置不够强,最好只运行CS服务器。不要运行其它非CS程序,可能导致跳ping ,本人有过这样的经验。



本文来自:深蓝海洋技术博客(www.deepcn.net)
原文链接:http://www.deepcn.net/view.asp?id=173

axiajiajunzhuai 发表于 2008-10-18 15:20:21

回复: 解决CS跳频问题

我服务器的FPS的PING始终是200多到310左右。。。。还比较稳定。 176C 1。70加速 19P32

76233386 发表于 2008-10-18 15:41:29

回复: 解决CS跳频问题

booster 我用 1.46 。。嘿嘿。。
降低玩家ping 很明显。。。
也 没什么冲突 等问题。很稳定
本人测试下来比 170 的强。

小白 发表于 2008-10-18 16:59:48

回复: 解决CS跳频问题

意外的发现
换成1.76b+ Booster1.7 + Booster.cfg

人满时CPU最高不过30%

以前1.76c+booster1.7   不加booster.cfg
cpu人满时最低在40%   ....

原因未明!!难道是booster 接管了cpu分配更合理了?

小白 发表于 2008-10-18 17:01:17

回复: 解决CS跳频问题

Booster1.46 效果明显 ??没用过....

小白 发表于 2008-10-18 22:10:28

回复: 解决CS跳频问题

booster 参数详解
概述 %#MZb : 本文转自莆田钓鱼网 http://bbs.eotoo.com
  这个插件仅对Windows系统有效,其原理是降低程序运行时的时钟间隔,即等待时间,系统中是sleep :%9u3Q 本文转自莆田钓鱼网 http://bbs.eotoo.com
函数。hlds.exe设计是sleep应为1ms,而Windows系统的sleep则为10ms,所以hlds运行时的FPS总达不到 xsZ -J9T: 本文转自莆田钓鱼网 http://bbs.eotoo.com
100fps。当然事物总是矛盾的,如果过于追求FPS值,将过多地消耗系统资源,造成整体性能下降,所以 : <*m 本文转自莆田钓鱼网 http://bbs.eotoo.com
要寻找合适的平衡点。WinHL-Booster默认设置为sleep时间为3ms,这样当没人时可以达到333fps,人满也能在200fps以上。 。 Dey$]679a 本文转自莆田钓鱼网 http://bbs.eotoo.com
   q6U] 本文转自莆田钓鱼网 http://bbs.eotoo.com
参数配置 Y[U^3D 本文转自莆田钓鱼网 http://bbs.eotoo.com
  安装后需要在你的 Config 配置文件中添加相关设置,或者在 config 文件中用 exec 命令运行定制 qYsdSZVjE 本文转自莆田钓鱼网 http://bbs.eotoo.com
的 cfg 文件,具体参数有: b8 /http://bbs.eotoo.com
  //用户进入时显示的提示信息:0-不显示,1-少量信息,2-大量信息 hiw>EY 本文转自莆田钓鱼网 http://bbs.eotoo.com
  booster_show_connmsg 1 w$FKGg{n 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //通过改变 sys_ticrate 来管理FPS值,0-1000,建议不要超过200 ?):"Sz-FO 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //一旦设置了此值 booster_lite_mode 将被强制设置为 3 "'T>hT2 R 本文转自莆田钓鱼网 http://bbs.eotoo.com
  booster_autofps 200 A2=Qf}Pd|x 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //设置等待时间 1-10ms,公式=1000/FPS,建议不要小于默认值 3ms u~$)8iKo 本文转自莆田钓鱼网 http://bbs.eotoo.com
  booster_minsleepms 7 Hjg`$S7q3 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //强制设置sys_ticrate,0-10000,0为非强制,尽量不设置此值 tN,$R3| 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //若设置将强制 booster_autofps=0 和 booster_lite_mode=3 <bD5p\$ 5 本文转自莆田钓鱼网 http://bbs.eotoo.com
  booster_force_systicrate 0 9h:DTG.} 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //自动CPU管理,0-禁止,1-允许,2-仅监视CPU,不进行干预  @tyW_ZA# 本文转自莆田钓鱼网 http://bbs.eotoo.com
  booster_cpu_enabled 0 xItg}e(d 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //若允许CPU管理,CPU超过booster_cpu_spikelevel时的措施值 V,F8kgY 本文转自莆田钓鱼网 http://bbs.eotoo.com
  booster_cpu_spikemax 3 b##oASv9@ 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //若允许CPU管理,采取限制措施的CPU使用上限 0-100 h`K*3=GtJ6 本文转自莆田钓鱼网 http://bbs.eotoo.com
  booster_cpu_spikelevel 75 5tg4kN !hh 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //若允许CPU管理,采取相反措施的CPU使用下限 0-100 >w(6K&PU 本文转自莆田钓鱼网 http://bbs.eotoo.com
  booster_cpu_floor 50 @KZe*(a35 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //若允许CPU管理,自动调整的增量值 1-10ms }*>M7sd 本文转自莆田钓鱼网 http://bbs.eotoo.com
  booster_cpu_mminc 2 dVt>6<8 VA 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //自动向下调整增量时的演示时间,单位:秒 d\tb|G*Xh 本文转自莆田钓鱼网 http://bbs.eotoo.com
  booster_cpu_quiettime 300 V 3^pTVS  本文转自莆田钓鱼网 http://bbs.eotoo.com
  //若允许CPU管理,自动下调的极限 1-10ms d(o:++kj0& 本文转自莆田钓鱼网 http://bbs.eotoo.com
  booster_cpu_mmmin 3 :k,}3w-_` 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //若允许CPU管理,自动上调的极限 1-10ms *|&v~7* C 本文转自莆田钓鱼网 http://bbs.eotoo.com
  booster_cpu_mmmax 8 SFWAA1Qg* 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //控制模式设置 #jZjP<q/. 本文转自莆田钓鱼网 http://bbs.eotoo.com
  // 0 - HLDS 接收不到数据包时等待 10ms,一旦有数据结束等待 ;XTrAT 本文转自莆田钓鱼网 http://bbs.eotoo.com
  // 1 - HLDS 尝试等待 10ms,一旦有数据结束等待  G'3I%!&; 本文转自莆田钓鱼网 http://bbs.eotoo.com
  // 2 - HLDS 尝试等待 50ms,一旦有数据结束等待 P+Xa_zX. 本文转自莆田钓鱼网 http://bbs.eotoo.com
  // 3 - HLDS 按原来默认标准恒定 10ms 等待 g*_%J 本文转自莆田钓鱼网 http://bbs.eotoo.com
  booster_lite_mode 3 )HW> 1m, 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //无论是否有数据强制 HLDS 等待 x ms,有助于降低CPU使用率 1 x3e 84Y 本文转自莆田钓鱼网 http://bbs.eotoo.com
  booster_lite_extra_sleep_frequency 0 y@ Kmc2 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //booster_stats_cpu_counter >IadWJ& 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //设置显示查询CPU资源的信息格式,默认为: F.qU" Ghttp://bbs.eotoo.com
  // "\Processor(_Total)\% Processor Time" |\Z"F]ymh 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //通常非英语显示或需要特殊界面时才须设置此值 Z5^L3U$: 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //仅当 booster_stats 开启时才有效 P5:i @I 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //booster_stats_in_counter 45 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //设置显示输入带宽的信息格式,默认为: v4THwV"a 本文转自莆田钓鱼网 http://bbs.eotoo.com
  // "\Network Interface(NDIS 5.0 driver)\Bytes Received/sec" \^g/2n 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //通常非英语显示或需要特殊界面时才须设置此值 vqqzB$|O 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //仅当 booster_stats 开启时才有效 r9 kSfhttp://bbs.eotoo.com
  //booster_stats_out_counter B&f]>y 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //设置显示输出带宽的信息格式,默认为: (oJ`GL 0g` 本文转自莆田钓鱼网 http://bbs.eotoo.com
  // "\Network Interface(NDIS 5.0 driver)\Bytes Sent/sec" s;@JpCwf 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //通常非英语显示或需要特殊界面时才须设置此值 5F "U7SE 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //仅当 booster_stats 开启时才有效 o>/ e!VH 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //booster_stats <O12E3AMw! 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //开启统计,此命令不再被支持 x6MxedANOE 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //booster_trigger_cmd _F~|n- 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //CPU消耗超出 booster_cpu_spikemax 设置时,执行一次指定的命令(在任何地图中),这可以让管 O'Oh   本文转自莆田钓鱼网 http://bbs.eotoo.com
理员关闭诸如 wallhack blocks 等高消耗资源的进程。 7V~x! \P 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //booster_intping UQhttp://bbs.eotoo.com
  //只读,提供当前用户的平均 ping 值 &d} "g&1O 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //booster_extping ;MeB *9 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //只读,提供对 booster_pingaddr 的 ping 值 aW/KGT+h 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //booster_pingaddr pNj(kC 本文转自莆田钓鱼网 http://bbs.eotoo.com
  //设置 IP地址 x.x.x.x,Booster 将每1分钟 ping 该地址一次,不设置将不会 ping 任何地址。设 $j P<^ 本文转自莆田钓鱼网 http://bbs.eotoo.com
置一个外部地址有利于判断故障点,如果某用户的 ping高,ping一个就近的路由,可以帮助判断问题的 %2p)uD  本文转自莆田钓鱼网 http://bbs.eotoo.com
所在,是客户端问题还是服务器问题 K:DV@j;bg 本文转自莆田钓鱼网 http://bbs.eotoo.com
* CJzTy& 本文转自莆田钓鱼网 http://bbs.eotoo.com
得不到支持的特性 4=*yeE 本文转自莆田钓鱼网 http://bbs.eotoo.com
  Booster 具有 TOS(IPv4的前缀) 位挤压降低时延(Low Delay bit tweak)的功能,以较低的时延发送 '1muVhI@e 本文转自莆田钓鱼网 http://bbs.eotoo.com
数据包。在 HLDS.exe 中加入 -tos 启动命令来激活 TOS LOWDELAY Tweak 功能,(笔者注:本功能未测试 uz~#=Zg 本文转自莆田钓鱼网 http://bbs.eotoo.com
,但据hlds官方文件,仅4.1.1.1版本有此功能,且仅针对Linux版有效),此外你必须修改注册表(仅 ',jCG* 本文转自莆田钓鱼网 http://bbs.eotoo.com
Windows 2000/XP): mPOhttp://bbs.eotoo.com
  Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters +UF[ 本文转自莆田钓鱼网 http://bbs.eotoo.com
  Value name: DisableUserTOSSetting &*-Lm<f> 本文转自莆田钓鱼网 http://bbs.eotoo.com
  Value type: DWORD aGxV, 4>` 本文转自莆田钓鱼网 http://bbs.eotoo.com
  Value data: 0 cO9ps%3b 本文转自莆田钓鱼网 http://bbs.eotoo.com
Tz":^X!?\y 本文转自莆田钓鱼网 http://bbs.eotoo.com
  统计日志:统计日志 (用户数量、平均 ping 值、CPU消耗和 FPS) 将每分钟产生一条,保存在 HLDS b*7=M> 本文转自莆田钓鱼网 http://bbs.eotoo.com
所在目录的 statsdat.dat 文件中。


本文由 a188 在 莆田钓鱼网 发表 转载请注明出处,本帖地址:http://bbs.eotoo.com/read.php?tid=3991

mdymdy 发表于 2008-10-19 11:17:30

回复: 解决CS跳频问题

这样设置有效吗?FPS值在人满时稳定多少

小白 发表于 2008-10-19 12:24:39

回复: 解决CS跳频问题

稳定在200左右...不设置booster参数,人满时在200-512 之间跳动,造成跳频

q411658927 发表于 2008-10-20 13:48:12

回复: 解决CS跳频问题

今天刚测试了.还是跳FPS.什么都按照你的说法做的.
建立的32人服务器.4个预留通道!

小白 发表于 2008-10-22 16:45:47

回复: 解决CS跳频问题

机器环境不一样.楼上的最好把机子配置说一下.还有系统问题也会造成FPS不稳定,诸多因素8楼需要考虑一下哪个环节出问题! 最重要的一条就是booster_cpu_enabled 0 这条,降低了CPU占用.楼上的可以搜索一下BOOSTER参数的汉化说明.
页: [1] 2
查看完整版本: 解决CS跳频问题