由于网上对于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管理/地图更换/游戏时间/等等之类的,有空再写吧。。。
这个LGSM可是个好东西,把它容器化之后,用容器跑服务端,更好用。(别问我怎么知道的,我研究过他,神器啊)
咸鱼少女,我似乎发现了点什么233
站长有联系方式吗 加个好友咨询下梯子问题
机场问题别找我了。
什么时候来点游戏内具体配置的教程呗?
游戏内的大部分配置都依靠amxmodx了,装了这个后服务器的模式和玩法可以说想怎么改就怎么改,范围太广不好写教程,官网也有wiki可查:https://www.amxmodx.org/
谢谢(*°∀°)=3虽然看不太懂,但跟舍友还是打的很6
常用管理服务器的功能,其实用游戏内自带的菜单就足够了。输入OP密码之后就可以用游戏内的OP菜单。
我喜欢这个教程哈哈
你是老访客啊~
为什么最后服务器搭建好 现实的IP是私有IP,不是公网ID,导致客户端连不上?
检查你的服务器是不是没有外网网卡,比如阿里云ECS这类机器,eth0是内网的话就没办法使用的。
可以ping通外网IP,但是csserver details显示Check IP是私有IP,私有IP是ping不通的。另外,VPC安全组策略我都设为所有网段可以访问,无论TCP还是UDP。我先检查一下你说的外网网卡吧,我就是用的阿里云的ECS
现在阿里云的ECS是真的不好用,VPC都是内网的,外网IP是NAT到内网的,网卡都是内网IP,导致很多程序都跑不了。
大神这个有解决的办法吗?
我现在能访问了,但是为啥我每一步都按照教程做的,现在提示STEAM validation rejected,没有破解啊
正版/盗版都链接试过了吗?
大佬,可以搞个ra2的服务器吗
没玩过这个。。
大佬,可以搞个红警的服务 器吗
大佬 ,按你写的文章部置了,但不能连接上
DESCRIPTION DIRECTION PORT PROTOCOL
> Game/RCON INBOUND 27015 tcp/udp
< Client OUTBOUND 27005 udp
Status: ONLINE
大佬,我也按照您的教程,成功搭建,每一步都跟你一样,就是无法局域网无法连接,也是检测online.
这种网络问题,也没有日志,你这样描述我也不知道问题在哪啊。。
大佬。。gamedll_linux “addons/metamod/dlls/metamod.so”
我这边修改了以后就连不上去了 用原来的cs.so是没问题的,
服务器环境是centos 7 64位 。 我下载的也是amd64版本的metamod。。不知道哪里有问题求救!