原贴地址:https://lala.im/3905.html
由于网上对于Linux系统搭建CS1.6服务器的相关教程年代都已久远,方法早已失效,故我今天借此机会写一篇目前最简单/可行的搭建方案。
目前有一个非常方便的部署工具叫:LinuxGSM(Linux Game Server Managers)
这款工具目前支持82款游戏,它可以轻松的让你部署这82款游戏中的任何一种,简单到似乎有点一键脚本的味道了,具体支持列表可在此查看:https://linuxgsm.com/servers/
我们在开始之前需要注意的是:无论你打算搭建哪款游戏的服务器,LinuxGSM都只会帮助你部署“正版服务器”,盗版用户是无法进入你的服务器的。所以今天我们要部署的是盗版CS1.6服务器,在后续会有一些对服务端文件的改动。如果你只是需要一个“正版服务器”那就非常简单,但如果你想要盗版用户也能进入你的服务器,那么就务必要仔细看完文章的全部。
我使用CentOS7X64,首先安装依赖:
yum -y install lrzsz mailx postfix curl wget bzip2 gzip unzip python binutils bc jq tmux glibc.i686 libstdc++ libstdc++.i686
然后关闭系统防火墙:
systemctl stop firewalld.service
接着新建一个用户:
adduser csserver
给这个用户修改一个复杂的密码:
passwd csserver
切换到这个用户下:
su - csserver
下载LinuxGSM脚本并执行:
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh csserver
注:这个脚本文件在国内的服务器上可能下载不了,大家可以先在本地挂个梯子,把脚本下载到本地然后传到服务器上再执行。
脚本安装完成后执行下面的命令开始安装CS1.6服务端:
./csserver install
如图所示选择Y:
然后基本就是一个全自动安装的过程了,等待10分钟左右,直到你看到有如下图的提示:
确定有Success! App’90’ fully installed.这句提示后选择Y,安装就大功告成了。否正选择n重新安装。
至此,你的CS1.6服务器就搭建完成了,但现在这台服务器只支持Steam正版用户连接。很显然这并不符合“中华人民共和国”的国情。
所以,接下来我们对这个服务端稍作修改,我们要安装两个插件,分别是metamod/dproto。
首先安装metamod,先新建这样一个目录:
mkdir -p /home/csserver/serverfiles/cstrike/addons/metamod/dlls
进入这个目录:
cd /home/csserver/serverfiles/cstrike/addons/metamod/dlls
下载metamod插件压缩包:
wget https://nchc.dl.sourceforge.net/project/metamod-p/Metamod-P%20Binaries/1.21p37/metamod-p-1.21p37-linux_i686.tar.gz
解压:
tar -xzvf metamod-p-1.21p37-linux_i686.tar.gz
然后编辑liblist.gam文件:
vi /home/csserver/serverfiles/cstrike/liblist.gam
这个文件原始模样是这样的:
我们要把
gamedll_linux "dlls/cs.go"
改为
gamedll_chain "dlls/cs.so"
接着在下面添加一行:
gamedll_linux "addons/metamod/dlls/metamod.so"
最后完成后如图所示:
接下来我们来安装dproto,首先我们把dproto下载到本地电脑,当前最新版本是dproto_0_9_582,我这里已经给各位打包好了:
如有新版本,各位自行到这里下载:https://cs.rin.ru/forum/viewtopic.php?f=29&t=55986(友情提示:这个网站的账号非常不好注册)
解压这个压缩包,我们只需要用到这两个文件:
dproto.cfg
/bin/Linux/dproto_i386.so
回到终端内,首先新建这样一个目录:
mkdir -p /home/csserver/serverfiles/cstrike/addons/dproto
进入这个目录:
cd /home/csserver/serverfiles/cstrike/addons/dproto
使用rz命令将本地电脑的dproto_i386.so文件上传到该目录中。
再进入到:
cd /home/csserver/serverfiles/cstrike/
同样使用rz命令将本地电脑的dproto.cfg文件上传到该目录中。
接着我们在如下目录新建一个plugins.ini:
vi /home/csserver/serverfiles/cstrike/addons/metamod/plugins.ini
写入:
linux addons/dproto/dproto_i386.so
最后重启CS1.6服务端:
cd ./csserver restart
查看当前运行状态:
./csserver details
如下图所示,一切正常:
现在就可以打开你的CS1.6客户端,来尝试连接一下你的CS服务器了,在控制台执行:
connect 你的服务器公网IP:27015
很棒,我成功的连接到了我的CS服务器:
随便玩玩,一切正常,延迟有点高,毕竟国外服务器,相隔十万八千里:
关于服务器的更多细节设置,比如OP管理/地图更换/游戏时间/等等之类的,有空再写吧。。。