cs1.6正版steam服务器搭建(linux环境)
条评论cs1.6正版steam服务器搭建,顾名思义,只支持正版steam的cs1.6客户端加入游戏,因为正版的cs1.6服务器会带有steam的认证过程,非正版的cs1.6客户端是无法通过认证和加入游戏的。
本篇文章将在linux(centos 7.5)的环境下搭建正版steam的cs1.6服务器。
环境需求
一台具有独立外网IP的服务器,可以租用阿里云或者腾讯云的,比较稳定,配置要求如下:
- CPU:2核
- 内存:4GB
- 网络:1MB/s(支持10人),5MB/s支持(32人),建议选择2MB/s及以上的
- 硬盘:10GB以上
- 系统:linux(centos 7.5)
系统配置
开放防火墙端口
这里为了安全考虑,并没有把防火墙关闭,而是开放cs1.6服务器可能用到的端口号。
1 | iptables -A INPUT -p udp -m udp --sport 26000:28000 --dport 1025:65355 -j ACCEPT |
安装运行时库
安装i686运行时库,兼容cs1.6服务器执行程序。
1 | yum install glibc.i686 |
其他安装问题
如果在此过程中遇到问题,可以参考官方文档:
下载steamcmd
创建csserver文件夹,并下载解压steamcmd执行程序。
1 | mkdir cssever |
安装cs1.6服务端
运行steamcmd,登录正版steam账户,并正确输入密码和验证码。然后配置安装cs1.6服务端程序。
1 |
|
通过上述步骤完成安装之后,cs1.6服务端程序将会安装在csserver/cs1.6目录下
运行cs1.6服务端
1 | chmod a+x hlds_run hlds_linux hltv # 为cs1.6服务端程序新增可执行权限 |
后台运行cs1.6服务端程序
通过上面的方式运行服务端的话,如果关闭了ssl远程管理窗口,那么服务器也会随之终止关闭。我们这时就需要让服务端在后台保持持续运行,这里提供一个方法,就是screen软件,这个软件可以让你的服务端程序保持在后台运行不会因为会话管制终止而关闭。
我们现在先按ctrl+c终止正在运行的服务端,然后分别执行以下指令,安装screen和创建screen会话,在screen会话中运行cs1.6服务端程序,退出screen会话,此时cs1.6服务端就在后台运行了,现在关闭ssl远程管理也不会影响服务端的运行。
1 | yum install screen |
按下ctrl+A+D键(即,按住ctrl键,然后分别按一下A键,按一下D键),退出screen会话。
steamclient.so无法打开问题
在运行服务器时,我们可能会出现如下错误,虽然目前还是能够正常运行,但是随着后续插件模块安装时,有可能会导致服务器崩溃。
~/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
这里有两种解决办法(推荐先使用方法一)
方法一:建立链接
首先在~/.steam/下创建sdk32文件夹,然后把csserver/cs1.6(或csserver/cs1.6/linux64)下的steamclient.so链接到~/.steam/sdk32/steamclient.so即可。
1 | mkdir -p ~/.steam/sdk32 |
方法二:直接拷贝
我们解决的方法也很简单,我们可以看到,在csserver/cs1.6文件夹下,也有文件名叫做steamclient.so的文件,我们只要把它拷贝到~/.steam/sdk32/文件夹下即可。
1 | cd ~/.steam/ |
其他screen操作说明
- 安装yum install screen
- 创建会话screen -S name
- 查看会话screen -ls
- 进入会话screen -r id或者name
- 退出会话ctrl+A+D,先按A,再按D
- 终止会话,在会话窗口输入quit结束会话进程
参考文献
官方steamcmd控制台客户端使用说明
Ubuntu搭设CS1.6游戏服务器
Linux 架设 CS1.6 服务器教程
cs1.6服务器搭建
linux系统架设cs1.6服务器图文教程(兼容47/48协议的non-steam)
V2拓海cs1.6服务器架设系列 - 哔哩哔哩视频教程