精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>● FreeBSD>>有待整理的文章-新加的文章都在这里>>在FreeBSD下架设反恐精英(Counter Strike)服务器(四)

主题:在FreeBSD下架设反恐精英(Counter Strike)服务器(四)
发信人: fly_ryu(风之铃)
整理人: hackerbay(2002-09-06 16:48:51), 站内信件
本文来谈谈关于在CS中安装反作弊系统和建设免cd-key的CS服务器,这篇文章早该写了,一来反作弊软件近日升级频繁,我也在等它的比较新的版本的出现,另外我也想观察我的服务器设置是否合理,否则写出东西来属于空谈。

一、安装反作弊系统
  很多好游戏都毁在了作弊上,如以前我们都知道的《三角洲》系列,一些网络RPG类游戏的“外挂”(据说这些所谓的外挂还要收费,作弊也要收费?)等等,随着一个好游戏的产生,相应的作弊器也会发放出来,前几天著名的OGC(Half life系列游戏作弊器,可实现自动瞄准、透视等)宣布停止开发他们的OGC作弊系统,实在是令人兴奋的好消息,但伴随而来的一个坏消息就是他们开放了OGC的源代码,得到这些源码的人可能会开发出更强的、更不容易检测的作弊器。
  通过对各种反作弊系统的测试,本人觉得使用服务器/客户端的模式比较理想,在此建议使用Cheating-Death(http://www.cheating-death.com),Cheating-Death可有效检测OGC、xqz2 以及 HalOSH 等作弊工具,并且升级速度很快,是一个很有生命力的系统。
  首先我们登录Cheating-Death的网站,得到其for Linux的服务器端程序包(当前版本为1.1.2),文件名为cd1120ds.tar.gz,将其解开,会得到三个文件:
cdmod_i386.so(程序文件) readme(自述文件) readme_German(德语版自述文件)
将cdmod_i386.so复制到/game/hlds_l/cstrike/dlls目录中,按以下两种情况做不同设置:
1、您的服务器上未安装 Admin Mod
  修改/cs/hlds_l/cstrike目录下的liblist.gam将 gamedll_linux "dlls/cs_i386.so" 改为 cdmod_chain "dlls/cs_i386.so",并加入 gamedll_linux "dlls/cdmod_i386.so"
2、您的服务器已安装 Admin Mod
  在liblist.gam中加入cdmod_chain "dlls/cs_i386.so",修改autoexec.cfg(如果没有创建一个),加入localinfo mm_gamedll dlls/cdmod_i386.so

修改server.cfg,添加如下内容

// ======= For Cheating-Death ========

// Cheating-Death 是否为必需(如设为0,则用户如未安装客户端软件,只对用户作提示,并不踢出)
cdrequired 1

// Cheating-Death 为必需模式的信息
//cdrequiredmsg "***** WARNING *****\nCheating-Death is required on this server.\nPlease download it"

// Cheating-Death 为可选模式的信息
//cdoptionalmsg "Cheating-Death is optional on this server."

// Cheating-Death 客户端为旧版本信息
cdupdatemsg "Cheating-Death needs to be updated to play on this server."

//cdvalidatecmd "user %d"

//cdnovalidatecmd "kick #%d"

此时启动服务器,此时您的服务器就具有反作弊功能了

下载客户端:
   Cheating-Death的客户端非常简单,在http://www.cheating-death.com下载到它的最新版本,解压到一个目录中,运行cdeath.exe,不要关闭,再运行反恐精英,连接到服务器里即可

 二、免cd-key服务器的做法
   这个话题可能是目前讨论最多的,也有各种各样的方案,其实万变不离其宗,就是将反恐服务器做成局域网的服务器,然后使用端口转发程序将外网的信息转到内网,从而实现免cd-key的目的,本人做法如下
   在/etc/rc.conf中,给自己的网卡一个内网IP地址,如192.168.0.250:
 ifconfig_fxp0_alias0="192.168.0.250 netmask 255.255.255.0"
   修改CS启动脚本,将IP设为内网IP地址:
 export LD_LIBRARY_PATH=/game/hlds_l:$LD_LIBRARY_PATH
./hlds_run +sv_lan 1 -nomaster -game cstrike +ip 192.168.0.250 +port 27015 +maxplayers 16 +map de_dust &
  下载stone,可从http://www.freebsd.org得到,安装,并按如下参数运行
stone -u 64 -n 192.168.0.250:27015/udp 外网IP:27015/udp &
  这时再运行反恐服务器,您会看到其成为一个内网服务器,但您使用客户端从外网完全可以登录上去,并不需要cd-key了

[关闭][返回]