最近搞了个阿里云学生机,¥9.5/月的云服务器ECS。一时没想好要用它干些什么,怎么搭网站也还在研究。想起之前在宿舍和舍友连隔壁宿舍开的wifi局域网联机CS1.6玩,就寻思试试搭下CS1.6服务器。
配置过程
下载服务器端和客户端
本来还想从用SteamCMD下服务器端开始搞,后来还是放弃了,毕竟大佬的成品实在是香。服务器端下载:新年发福利,CS1.6 正版(8308)服务器端,备用下载。这个服务器端要Steam版的客户端才能连,所以网上下载的CS1.6很多都是不能连的。在不方便安装Steam的时候我们需要破解版的Steam版进行游戏。一番搜寻后总算在贴吧这里(备用下载)找到破解版的8303客户端,虽然不是最新的但能玩就行。运行里面的revLoader.exe可以直接打开游戏。
启动服务器
由于这个服务器端显然是Windows版的,所以服务器的操作系统要选择Windows Server。启动服务器后,用远程桌面连接时,记得点显示选项,本地资源,详细信息,把驱动器里下载的服务器端所在的盘符打钩,确定后连接登录,可以直接把文件复制到服务器。
服务器端配置
HLDS配置
把服务器端的压缩包复制到服务器后解压,可以看到里面的文件。运行CS1.6开启服务器.bat,登录云服务器提供商网站,设置允许27015端口的TCP和UDP。这时打开Steam版CS1.6,输入服务器的IP,如果能搜到所开的服务器并能加入,就代表没什么其他的问题,可以按需对服务器端进行配置了。按Ctrl+C关闭服务器端。 用记事本打开这个批处理文件,相信你能看懂命令的参数是什么意思,按自己的需求修改就好。 我们进入到cstrike目录下,之后我们可能要修改的文件都在这个目录里。先看服务器的配置文件server.cfg。里面的各项配置对应的注释也解释得很清楚,按自己的需求修改即可。注意设置好rcon_password并记住,后面可能要用到。接着打开mapcycle.txt,服务器轮换地图是按这个文件来的,按自己的需求修改。然后打开motd.txt,这是进服时的欢迎页面,按自己的需要修改。
插件相关配置
AMX Mod X配置
进入到addons\amxmodx\configs,打开plugins.ini,配置要使用的插件,前面带;
表示注释,被注释的插件不会启用。如果需要使用管理员功能,需要启用admin.amxx、admincmd.amxx、adminhelp.amxx、adminslots.amxx、menufront.amxx、plmenu.amxx、adminchat.amxx、adminvote.amxx。建议启用cmdmenu.amxx、mapsmenu.amxx、pluginmenu.amxx、nextmap.amxx、mapchooser.amxx、timeleft.amxx。
打开users.ini,按照说明添加一个管理员账号,例如"ADMIN_0" "123456" "abcdefghijklmnopqrstu" "a"
,保存。
用记事本打开amxx.cfg,修改amx_password_field,例如amx_password_field "_gpw"
。这样,在客户端,修改玩家名称为ADMIN_0
,在控制台输入setinfo _gpw "123456"
,然后连接到服务器,即可以管理员身份登录。其他的属性看着办。
打开maps.ini,写在这里面的地图会显示在AMX Mod X自带的选图菜单里,按自己的需求修改。
Bot配置
一时找不到人来联机的话,加Bot是不错的选择。这里介绍下如何配置YaPB和ZBot。
- YaPB配置
到https://yapb.ru/下载Windows的zip包,复制到服务器。将包里addons下的yapb文件夹解压到cstrike\addons下。打开cstrike\addons\yapb\conf\yapb.cfg,按需进行修改。然后打开cstrike\addons\metamod\plugins.ini,在末尾添加一行
win32 addons\yapb\bin\yapb.dll
,保存。 注意检查cstrike\addons\amxmodx\configs\plugins.ini,确保反作弊插件未启用。 YaPB不支持自动生成路点,所以请确保YaPB自带或YaPB网络数据库有服务器所使用地图的路点。 - ZBot配置
如果打开上文提到的破解版8303客户端新建游戏,可以发现这个客户端是可以用ZBot的。估计只要有相关的文件,服务器端也可以用ZBot。
打开破解版8303的压缩包,把cstrike目录下的BotCampaignProfile.db、BotChatter.db和BotProfile.db都解压到服务器端的cstrike目录下。把cstrike\dlls的mp.dll解压至对应目录下替换原有的mp.dll。把cstrike\sound\radio下的bot文件夹解压至服务器端的cstrike\sound\radio下。
注意检查cstrike\addons\amxmodx\configs\plugins.ini,确保cmps.amxx、restmenu.amxx及反作弊插件未启用。
客户端加入服务器后,如果在serer.cfg里设置了rcon_password,比如
rcon_password "1234"
,则先在控制台执行rcon_password 1234
,然后执行rcon bot_quota 9
加9个Bot,执行rcon bot_kill
杀死所有Bot,执行rcon bot_kick
踢出所有Bot,等等。其他需要OP权限的命令也都需要前面带rcon执行。 虽然ZBot支持自动生成路点,不过在我这里实测服务器端生成路点很可能发生生成过程卡退客户端,生成完成后不重启不能加Bot的现象。所以建议先在自己的电脑生成好所使用地图的路点,然后复制到服务器端对应目录再开服。
虽然我没试过,不过感觉ZBot和YaPB可以共存。如果感兴趣可以试试让他们对打。
服务配置
如果直接双击批处理文件开启服务器端,远程桌面连接关闭后运行的服务器端也会被关闭,因此需要把服务器端封装成一个Windows服务运行。
去http://www.nssm.cc/下载NSSM,这是一个可以将普通exe程序封装成服务使之像Windows服务一样运行的服务封装程序。解压下载的压缩包到服务器,打开里面的win64文件夹(现在服务器用的Windows应该都是64位的了),双击打开nssm.exe,会提示你有什么命令可用。这里我们使用更为直观的GUI:我们在这个目录下打开命令提示符或者PowerShell,执行.\nssm install,会弹出窗口让你填服务的信息。点Path右边的...
按钮,选择服务器端目录下的hlds.exe,它会自动填好Startup directory,然后在Arguments填入开启服务器那个批处理里在hlds.exe后面的所有参数,最后在Service name里填入这个服务的名字,例如hlds-cs1.6
,点Install service
,会提示安装完成。
点开开始菜单,打开Windows管理工具,打开服务,选择名称为hlds-cs1.6
的服务,启动服务,启动完成后可以放心关闭远程桌面连接,服务器端仍会继续运行。如果需要关闭服务器端,停止此服务即可。
开始享用
打开Steam版客户端,点击选项卡我喜爱的,点击添加服务器输入服务器的IP和服务器端的端口应该就能加入服务器了,正版客户端的互联网列表里应该也能刷出所开的服务器。 进入服务器,如果能成功以管理员身份登录并在客户端调整服务器的配置,也能获取到OP权限进行加Bot等操作,就大功告成了。叫上朋友来一起联机吧!