解析:
一般我们玩cs的时候,经常用的是以下几个参数:
cl_cmdrate 101;cl_update 101 rate 20000 fps_max 99max_shell 0e_eax 1_graph 0fps_show 0sensitivity x.x而对于ex_interp这个参数,一直都有争议,因为像cpl等著名的大赛都禁止用这个参数,否者会被认为是作弊
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) beeen o known values (3:估计两个已知函数值中间的函数值)
intransitive senses : to make insertions (as of estimated values) (不及物动词: 插入(在估计值的时候))
你不可能完全和服务器同步,因为你只是每秒钟接收到一定量的数据包。比如:图所示。随着数据点的增加,插值图形将越来越接近原本的圆。CS中我们可以认为这个圆就是一个玩家中在一秒钟不同的位置。从服务器的观点来看,它就是一个完美的圆,而客户端不得不通过插值来预测两个数据包中间的空档。
这就是“ex_interp”出现的原因。两个数据包之间的空档,就要由“半条命”的预测机制来决定了。“ex_interp”设置的是在两个连续数据包之间隔多长时间插值一次,其单位是秒。如上图所示,这些小的时间段就对应了插值多边形的边。因为插值是由客户器端做出的,他和服务器端的判断并不是完全一样。没什么东西能替代真正的数据包,但是插值预测大多数情况下都做得不错。
对于在线游戏的推荐值:
rate:
我已经确认过rate最高是20000,设成20000以上是没有任何意义的,甚至有可能会降低性能。
推荐值:
rate 20000
sv_maxrate:
这个值通常会被设成0。对于在线游戏来说,这并不是最优值。“sv_maxrate 0”会自动监测所有玩家的连接速度,并满足每个人的要求。假定“半条命”允许玩家使用超过20000的“rate”值,如果一个玩家疯到把“rate”设成***********,服务器会满足他的要求。这不仅导致了带宽的浪费,也导致了服务器过载。因此我推荐一个更安全的值“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”值。可以用命令“_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都是使用的提升过的服务器。
一、基本安装篇1、建立服务器的带宽和机器配置
1.6服务器对对带宽和机器配置的要求比1.5高一些,我在ADSL上通过浩方平台建立1.5服务器,可以在本机上进行游戏,但是1.6出现明显的停顿,无法流畅的游戏,即使机器配置很高也不能彻底解决,相信带宽是最大的瓶颈。
因此,使用ADSL或者机器配置一般的cser建议不要在本机上建立服务器,用lan的cser在本机上建立服务器效果也不会太理想(除非你只想提供一个服务器,过一把OP的瘾,呵呵)。
2、1.6服务器版本
我收集有6个版本的cs1.6,通过试用,个人认为esai2738经典版是最好的,只有200M,同时包括了建立服务器的必要组件,用来游戏与经典版建立的服务器能够很好的兼容。
下载地址:bt种子下载
3、下载完毕后,点击桌面的快捷方式‘Cs1.6服务器’,自己的服务器就开始工作了,就这么简单?!呵呵。不要只扔西红柿,再来几个鸡蛋,鸡蛋西红柿:)
这只是第一步。看看下边吧:
二、设置篇
1、右键打开桌面快捷方式的属性:
×:\Cs1.6中文版\hlds.exe -game cstrike -port 27016 +maxplayers 16 +map de_dust2 -console +localinfo mm_gamedll dlls/hldsmp.dll
其中27016为服务器端口,可以进行修改;
maxplayers 16为最大人数,可以自由变更,别超过32;
开始地图de_dust2可以更换成你喜欢的地图;
+localinfo mm_gamedll dlls/hldsmp.dll指你的游戏用哪个dll启动(很多人反映没有新特性,就是由于你的dll没设置好)
其他的参数建议不要更改。
2、反作弊软件的选择
很多自己建立了服务器的cser会发现无法进入游戏,或者进入后很快被踢出,我在开始建立服务器的时候也遇到了类似问题。查考了大量资料后,我认为是反作弊软件的冲突造成的。一般情况下,我们认为cd比vac要强,会自然想打开服务器的cd反作弊插件,或者进入游戏前打开cd。此时,以上问题就出现了。
因此,我们需要将cs的cd插件关掉:
打开.\cstrike\addons\metamod\plugins.ini,在“win32 addons/cdeath/cdmod.dll”前加上//,
即“//win32 addons/cdeath/cdmod.dll”。
进入服务器前也不要打开cd。
安装vac,打开cstrike\liblist.gam,将设置成secure "1",一般情况下,安装完毕默认是打开的,如果关闭可以将1改为0。
wwcl是杜绝修改脚本作弊的插件,打开cstrike\addons\metamod\plugins.ini,其中win32 addons/wwcl/dlls/pcawwclconfig_mm.dll即为打开,可以在前面加上//将其关闭。
建议:打开vsm和wwcl,可在一定程度上防止作弊。
3、服务器中amx插件的使用
可以说,amx插件对1.5而言是成熟的,在1.6上使用是不是有冲突还不敢肯定,因此建议不要安装过多的amx插件。
我的amx插件:
AMX Mod plugins
admin.amx admin base (required for any admin-related)
admin_mysql.amx admin base - MySQL version (comment admin.amx)
admincmd.amx basic admin console commands
adminhelp.amx help command for admin console commands
adminslots.amx slot reservation
menufront.amx front-end for admin menus
cmdmenu.amx command menu (speech, settings)
plmenu.amx players menu (kick, ban, client cmds.)
restmenu.amx restrict weapons menu
mapsmenu.amx maps menu (vote, changelevel)
antiflood.amx prevent clients from chat-flooding the server
adminchat.amx console chat commands
adminvote.amx vote commands
nextmap.amx displays next map in mapcycle
timeleft.amx displays time left on map
mapchooser.amx allows to vote for next map
scrollmsg.amx displays a scrolling message
imessage.amx displays information messages
welcomemsg.amx console motd @ client connection
stats.amx stats on death or round end (CSStats Module required!)
stats_logging.amx weapons stats logging (CSStats Module required!)
telemenu.amx teleport menu (Fun Module required!)
miscstats.amx bunch of events announcement for Counter-Strike
pausecfg.amx allows to pause and unpause some plugins
statscfg.amx allows to manage stats plugins via menu and commands
ucstats_cstrike.amx i love you
ucstats_live.amx hehe heh
gore.amx 44hehe
amx_restrictshields.amx
前面加;的为禁止的。最后一个为禁用盾牌插件。
PS:看着服务器中一堆拿着盾牌的家伙,感觉实在是不爽:)
下载amx以前的版本安装,amx点击下载
免盾牌amx程序amx插件,解压后拷贝到\cstrike\addons\amx目录下,覆盖源文件。
完成后,可以自己考虑使用那些插件:打开\cstrike\addons\amx\plugins\plugins.ini,进行修改。
1)首先你要安装HLserver,虽然在Half Life里本身就带了建立服务器的软件,但是如果你不在服务器上玩的话(根本没有人在服务器上玩^_^),用HLserver可以减少很多的空间。然后升级HLSERVER到最新的版(跟升级HL一样),再安装CS的最新版本(就跟装一个客户端的CS一样)。2)作为服务器,必须要有很多设置,普通情况下你只需要在HLserver\cstrike\目录下建立server.cfg、mapcycle.txt、motd.txt这三个基本文件即可。
server.cfg是服务器的配置文件
可用任何文本编辑器进行编辑。
0为No,1为Yes。
sv_aim 0 是否自动瞄准
pausable 0 是否客户端可暂停游戏
hostname "CCSK.net counter-strike Server " 服务器名字
mp_timelimit 30 循环每一地图时间
mp_c4timer 45 炸弹倒计时时间
mp_chasecam 0 是否固定镜头
mp_falldamage 1 高处落下杀伤
mp_flashlight 1 是否有手电筒
mp_footsteps 1 是否有脚步声
mp_freezetime 4 每局开始买物品时间
mp_friendly_grenade_damage 1 是否手雷友军伤害
mp_friendlyfire 1 是否武器友军伤害
mp_autoteambalance 2 自动调整双方人数差异最低限制
mp_roundtime 4 每回合时间数
rcon_password ***** 服务器密码
mp_limitteams N 双方超过N人即自动调整
mp_tkpunish 1 是否伤害友军惩罚
mp_mapvoteratio 0.2 投票比率(大家可以通过投票踢出作弊者和更换地图)
mp_logfile 1 是否服务器留下记录文件
log on 开始记录
mp_hostagepenalty=3 规定时间内伤害人质超过三人自动踢出
Logaddress 202.108.249.81 2000 设定ccsk全国cs排行榜的监听端口
mapcycle.txt是地图文件循环的顺序文件
mapcycle.txt里面写的都是地图文件名,不带后缀,如cs_747.bsp,只取cs_747。地图在Hlserver\cstrike\maps目录下,将你想循环的地图挑出来,然后将文件名按上面所说的规则输入mapcycle.txt中,每个地图之间用硬回车隔开。加入的新地图不仅要把.bsp文件拷到Hlserver\cstrike\maps目录下,也要在mapcycle.txt里面加入新地图的名称,切记!
motd.txt是服务器的说明文件
motd.txt为服务器说明文件,当每个玩家进入服务器后看到的第一个窗口就是。可以随意按照自己喜欢写。
3)有了上面这些,cs服务器就算配置的差不多了,下面再来说说服务器运行参数。
在桌面点鼠标右键新建一个快捷方式,在命令行里输入下面一行,注意空格
c:\Hlserver\hlds.exe -game cstrike -port 27016 +maxplayers 22 +map cs_747
c:\Hlserver\hlds.exe 你安装hlserver的目录
-game cstrike 指定运行游戏为CS
-port 27016 指定游戏连接端口为27016
+maxplayers 22 游戏最大人数22人(游戏只支持20人,多余两人为观众)
+map cs_747 指定开始地图为cs_747
其他人进服务器的时候进Internet game,选择Add server输入服务器的IP和上面你指定的端口即可。 4)在居域网上建立服务器跟上面相同,不过可以在命令行里加上-nomaster让服务器不上WON认证,避免因为出国网络不通导致的服务器问题。同时加上+sv_lan 1 指定其为一个LAN server,其他人进服务器的时候进LAN game就可以了。
5)如果没有下载hlserver,用普通的hl+cs1.0也可以做服务器,具体方法是:进入游戏后选择play cs,选internet game,选create game,在最下面有一个dedicated server的选项,选中它,点击done。就可以单独使用一台机器做cs服务器了,这样能够大大提高游戏的速度。局域网的游戏也适用,只不过是在lan game里面选就是了。上面的各项设置也可以实现。
以上是架设服务器的方法..
不过你自己先对比一下自己是否符合条件去架设服务器.
条件1.线路是越快越好,虽然CS在游戏中连续上传和下载的速度最大也才3K/s,但是如果PING高的话玩起来也不会爽,ccsk的服务器就是10M独享的带宽。
条件2.服务器的最低硬件配置大概在PIII500、内存在128M以上,要是内存较低的话,那你就要常常忍受超时的痛苦了。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)