one piece

如何安全地建立CS服务器

选择的操作平台为Windows 2000 Advanced Server。\r
至于要如何的硬件配置,请参考dispbbs.asp?boardID=28&ID=14908&page=1

我目前的配置是:

CPU: P4 2.6c

RAM: 1GDDR

HD: 40G7200rpm

NET: 3COM+Realteak

一、操作系统的安装

我想,这个过程大家都知道。我就不细说了。这里说说如何配置“服务和应用程序”。\r
为了获得高效的服务性能。我通常只保留如下服务。\r
COM+ Event System
Event Log
IPSEC Policy Agent
License Logging Service
Logical Disk Manager
Network Connections
Plug and Play
Protected Storage
Remote Procedure Call (RPC)
Routing and Remote Access
Windows Management Instrumentation
Windows Management Instrumentation Driver Extensions
Workstation

说明如下:\r 红色的服务是系统必需的。\r Task Scheduler,我用来管理服务器后台运行程序。为何不用ServerDOC等软件?我觉得这会造成系统的不稳定。毕竟用操作系统自带的就能解决问题了。\r Protected Storage,用来保存建立的任务密码。没有它,系统会无法运行你设定的任务。\r License Logging Service,没有它,在主机无法登陆。\r Logical Disk Manager,用来管理硬盘的。可以禁用它。我想谁也不会没事,老给服务器分区、格式化吧?
Network Connections,就是网络连接,如果停止它,你的网络连接将是一个空白的窗口。其实设置好了网络,这个可以禁用,不会影响服务的。\r COM+ Event System,是为了提供服务管理的一些logs的查看。\r IPSEC Policy Agent,我用来管理本地安全策略。我在里面的IP安全策略中。设置了对135,139等安全漏洞的拒绝访问。\r Routing and Remote Access,我用来分流不同的网络数据。\r
我的硬件配置选择了双网卡,这是有目的的。我将Realteak设置为内网,3COM设置为内网2。因为内网的数据流量Realteak完全可以胜任。而内网2用NAT映射到外部,用于处理WAN访问。利用操作系统的路由功能,只将给定的UDP端口数据转发给Realteak网卡。同时内网用户无法访问3COM网卡。\r 这样,服务器即使受到Dos或则DDos攻击,利用3COM的处理能力,可以在一定程度上减缓服务器的压力。当然,如果采用了专业的防火墙设备用于Internet接入效果会更好。\r

二、反恐服务器软件的安装\r

首先要明白,服务器版本与零售版是不同的。这里必须的软件是hlserver4110.exe或则是hlserver4111.exe,以及csv15full.exe软件和hlds4111e_beta.exe升级软件。\r 第一步,运行hlserver4111.exe安装。建议安装在D:\HLServer。如果安装在C:\HLServer,万一操作系统崩溃将导致所有服务器程序都要重新做过。\r 第二步,运行hlds4111e_beta.exe升级。为了外网可以加入,还要安装免cdkey补丁。用下载的swds.dll文件替换D:\HLServer下的文件就可以了。\r 第三步,运行csv15full.exe安装cstrike。用系统认定的目录D:\HLServer。安装后修改D:\HLServer\cstrike下的liblist.gam文件。将secure改为0。\r 第四步,运行REGEDIT,将注册表中的Software\Valve数据导出(共有2处)。保存在D:\HLServer目录下。目的是如果重装系统后,只要将这个注册表文件导回系统就可以工作了。\r 为了让反恐服务器在系统启动后自动运行。在“计划任务”中添加新任务。选择每天,输入密码,在高级计划选项中选择重复任务,每一分钟,持续时间是24小时。运行的命令行参数如下:

D:\HLServer\hlds.exe -port 27015 +ip Realteak网卡地址 -game cstrike -noipx -nomaster -nojoy +sv_lan 1 +maxplayers 32 +map de_dust2 -console

这样你的服务器就会自动运行在后台了。\r
为了管理好你的服务器,你必须修改D:\HLServer\cstrike下的server.cfg文件。参考设置如下:

hostname “反恐服务器 CS1.5 Server”
rcon_password bbs.okgogogo.cs15

三、常用服务器插件的安装\r

1、MetaMod的安装。\r 首先,在D:\HLServer\cstrike目录下建立addons目录,再在addons下建立metamod目录。\r 其次,将下载的metamod.zip文件释放。将metamod.dll文件复制到metamod目录下。\r 第三,修改cstrike目录下的liblist.gam文件。将原来的gamedll行删除,添加为:

gamedll “addons/metamod/metamod.dll”

第四,在metamod目录下建立plugins.ini文件。内容暂时不要添加。\r
  2、Cheating-Death的安装。\r 首先,在addons目录下建立cdeath目录。\r 其次,将下载的cd-server-x_xx_0-en.zip文件释放,将cdmod.dll文件复制到cdeath目录下。\r 第三,修改plugins.ini文件,添加如下:

;CDeath
win32 addons\cdeath\cdmod.dll CDEATH

第四,修改server.cfg文件,添加 cdrequired 1 。\r
3、AMX的安装。\r 将下载的amx-0.9.6j.zip文件释放到临时目录下。再将整个addons目录复制到D:\HLServer\cstrike下。系统会提示已经存在addons目录,点击“是”。\r 修改metamod目录下plugins.ini,添加如下内容:

; AMX Mod
win32 addons\amx\dlls\amx_mm.dll AMX

这样服务器基本上就算建立好了。将“计划任务”中的hlds停止,再运行。服务器就具有CD和AMX管理功能了。\r
我这里说个小技巧,如果你的服务器不具有远程管理,你可以开设ftp。要有HLServer目录的读写和改写权利。\r 例如升级CDEATH。用FTP软件登录服务器,先将cdeath目录下的cdmod.dll改为cdold.dll文件,再上传新的cdmod.dll文件。然后利用hlsw在console中输入exit。服务器将会停止工作。由于我们采用了“计划任务”,服务器将在1分钟内自动运行。这时,你的服务器的CD就是最新的版本了。还有一个方法是。将cdmod.dll改为cdmodnew.dll后,修改Metamod下的plugins.ini文件,改为:

;CDeath
win32 addons\cdeath\cdmodnew.dll CDEATH

然后restart,或则换地图。\r
例如要改OP密码,用FTP将修改好的server.cfg覆盖服务器中cstriek目录的文件。在换地图或则console输入restart后,新的OP密码就生效了。\r

四、服务器的加速\r

1、WinHL-Booster MM Plugin 的安装。\r 在addons下建立booster目录,将booster_mm.dll文件复制到该目录下。\r 在plugins.ini中添加如下内容:

;WinHL-Booster
win32 addons/booster/booster_mm.dll WinBooster
修改server.cfg文件,添加:

booster_show_connmsg 0
booster_autofps 1000
booster_minsleepms 2

booster_force_systicrate 10000
booster_cpu_enabled 0
booster_cpu_spikemax 3
booster_cpu_spikelevel 75
booster_cpu_mminc 2

2、为了提高服务器的性能,还可以修改AMX\plugins目录下的plugins.ini文件。将一些amx禁止。我的plugins.ini如下:\r
; 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

禁止了statscfg将无法管理stats。我的方法是修改stats源代码,只保留TOP15,RANK,StatsMe功能。\r 修改adminslots源代码,在服务器满人时自动转到别的服务器。\r
3、服务器网络的优化。\r 在网络连接中,只保留TCP/IP和网络的文件和打印机共享。在配置中修改网卡的高级属性。将Connection Type改为100BaseTx Full。因为确省的Auto并不能带来好的特性。\r
因为是做反恐服务器,自然在BIOS中禁止COM,LPT,USB,AC97,ACModem。没有这些资源占用,系统的性能会更好。\r
五、服务器的安全\r
服务器还有一种状态,就是“挂机”。这时服务器是Timeout,而实际上服务器的hlds还在运行。从大家的总结看来,问题出在更换地图的时候。这个时候服务器要做2件事,一是将logs写入,二是读取地图。如果服务器的硬盘性能比较差,自然就挂机了。我采用的方法就是禁止logs。\r
IPSEC Policy Agent的安全设置,基本上可以保证服务器的安全。但是做好预防更重要。我采用的方法是欺骗HLSW等服务器观察程序。反恐服务器有3种类型,即Listen、Dedicated和Proxy,而操作系统是Linux和Win32。通过修改DLL文件,在HLSW中看到的服务器操作系统并不是真正的系统。例如,用HLSW查看服务器,类型是v1.1.1.1d (Linux, Dedicated),而实际上是Windows服务器。这样的目的很明白--既然是Linux服务器,自然不会用Windows攻击了。当然还可以欺骗服务器类型,以及版本号。\r
说到Dos和DDos攻击,我想最新的x.1.1.1e版本已经解决了这些问题。如果要专业点,我建议采用ISA2000的企业一览子解决方案来防御。\r

Created By: sb123

Form Page: 如何安全地建立CS服务器


Leave a Reply


必须填写