全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1155|回复: 12

[疑问] 腾讯云轻量吃灰小鸡搭建CS1.6服务器

[复制链接]
发表于 2021-9-17 17:49:50 | 显示全部楼层 |阅读模式
我是参考了Debian10搭建CS1.6服务器-荒岛 (lala.im) 这篇文章来搭建的,只能算是自己的记录与遇到问题的补充。

准备步骤
首先更新软件源
  1. apt -y update
复制代码

添加用户、设置用户密码以及切换到用户
  1. useradd -m -s /bin/bash steam
复制代码

#-m 自动创建用户目录
#-s 指定用户shell解释器,这里设为bash
  1. passwd steam
  2. adduser steam sudo
  3. su - steam
复制代码

#不要尝试省略-,此符号代表将环境变量也一同切换
第一个问题:steam is not in the sudoers file. This incident will be reported
很奇怪,我按照原文中的方法添加了steam用户到sudo中,但似乎并没有生效,只能手动编辑sudoers文件

  1. vi /etc/sudooers
  2. #添加下面这行到文件中
  3. steam ALL=(ALL:ALL) ALL
复制代码

由于这是个只读文件,请输入wq!以保存并退出文件,保存完后reboot一下即可。

然后64位系统添加多架构支持

  1. dpkg --add-architecture i386
复制代码

安装steamcmd

  1. apt update
  2. apt -y install libsdl2-2.0-0:i386
  3. apt -y install steamcmd
复制代码

如果安装libsdl2-2.0-0:i386软件包时提示Couldn't find any package by glob 'libsdl2-2.0-0',请检查你有没有添加多架构支持并更新软件包列表。
安装steamcmd过程中会要让你同意使用协议,请按Tab再按回车键选择OK,再选择I AGREE即可完成安装,大概界面像下图

图片[1]-Debian10搭建CS1.6服务器-Rain's Blog
安装步骤
添加软连接并启动steamcmd

  1. ln -s /usr/games/steamcmd steamcmd
  2. steamcmd
复制代码

登录匿名用户(用于下载游戏服务端文件)

  1. login anonymous
复制代码

指定目录

  1. force_install_dir ./cs16
复制代码

下载服务端文件

  1. app_set_config 90 mod cstrike
  2. app_update 90 validate
复制代码

编辑配置文件,设置OP(管理员)密码,其中your_password替换为自己的密码

  1. vi /home/steam/.steam/steamcmd/cs16/cstrike/server.cfg
复制代码

#添加以下内容
  1. rcon_password "your_password"
复制代码

有可能会找不到目录,如果这样请切换到steam用户后重新进入steamcmd下载游戏。我也不知道为啥反正root下下载的文件不知道跑哪去了。。。
设置systemctl守护

  1. vi /lib/systemd/system/csserver.service
复制代码

写入配置

  1. [Unit]
  2. Description=cs 1.6 server
  3. [Service]
  4. Type=simple
  5. User=steam
  6. Group=steam
  7. WorkingDirectory=/home/steam/.steam/steamcmd/cs16
  8. ExecStart=/usr/bin/bash hlds_run -game cstrike +port 27015 +map de_dust2 +maxplayers 16
  9. Restart=always
  10. [Install]
  11. WantedBy=multi-user.target
复制代码

启动服务器&设置开机启动

  1. systemctl start csserver
  2. systemctl enable csserver
复制代码

原作者说有可能会遇到游戏服务端文件不全导致启动不了的BUG,但我没碰到,很顺利的就启动成功了。但这里还是写一下他的解决办法
由于steamcmd的bug,有时候你的服务端文件可能下载不完整导致启动不了,一般情况下是缺少一个steamclient.so,解决办法如下:

  1. mkdir -p /home/steam/.steam/sdk32
  2. ln -s /home/steam/.steam/steamcmd/linux32/steamclient.so /home/steam/.steam/sdk32
  3. ln -s /home/steam/.steam/steamcmd/linux32/steamclient.so /home/steam/.steam/steamcmd/cs16
复制代码

破解服务端正版验证
安装metamod-r插件
  1. mkdir -p /home/steam/.steam/steamcmd/cs16/cstrike/addons/metamod/dlls
  2. wget https://github.com/theAsmodai/metamod-r/releases/download/1.3.128/metamod_1.3.0.128.zip
  3. unzip metamod_1.3.0.128.zip -d metamod-1.3.0.128
  4. cd metamod-1.3.0.128/addons/metamod
  5. cp metamod_i386.so /home/steam/.steam/steamcmd/cs16/cstrike/addons/metamod/dlls
复制代码

编辑liblist.gam文件

  1. nano /home/steam/.steam/steamcmd/cs16/cstrike/liblist.gam
复制代码

修改以下内容

  1. gamedll_linux "addons/metamod/dlls/metamod_i386.so"
复制代码

至此 metamod-r 插件安装完成

安装Rehlds插件
下载 Rehlds 并解压,最终替换原始服务端的engine_i486.so文件即可完成安装

  1. wget https://github.com/dreamstalker/rehlds/releases/download/v3.10.0.761/rehlds-bin-3.10.0.761.zip
  2. unzip rehlds-bin-3.10.0.761.zip -d rehlds-bin-3.10.0.761
  3. cd rehlds-bin-3.10.0.761/bin/linux32
  4. cp -f engine_i486.so /home/steam/.steam/steamcmd/cs16/engine_i486.so
复制代码

安装reunion插件
下载文件包,解压后进入目录

  1. [code][code]wget https://lala.im/wp-content/uploads/2020/09/reunion_0.1.92.zip
  2. unzip reunion_0.1.92.zip -d reunion_0.1.92
复制代码

cd reunion_0.1.92/[/code][/code]
复制reunion.cfg到cs16目录:

  1. cp reunion.cfg /home/steam/.steam/steamcmd/cs16
复制代码

创建reunion目录,然后把reunion_mm_i386.so复制过去:

  1. mkdir -p /home/steam/.steam/steamcmd/cs16/cstrike/addons/reunion
  2. cp bin/Linux/reunion_mm_i386.so /home/steam/.steam/steamcmd/cs16/cstrike/addons/reunion
复制代码

编辑metamod的插件配置文件:

  1. vi /home/steam/.steam/steamcmd/cs16/cstrike/addons/metamod/plugins.ini
复制代码

我看原文的作者使用nano编辑器打开的plugins.ini,但我半天也没见着有么个文件,Google了半天发现是要自己创建,淦!
完成
重启cs服务器

  1. systemctl restart csserver
复制代码

进入CS1.6客户端,按~唤出控制台,输入connect IP地址后回车即可链接服务器。

忘记补充了,腾讯云轻量的防火墙在重置完系统镜像后似乎会重置规则,所以需要添加一下放行规则
放行防火墙
  1. iptables -I INPUT -p udp --dport 27015 -j ACCEPT
  2. iptables -I INPUT -p tcp --dport 27015 -j ACCEPT
复制代码

#这里是放行了27015端口的通信

最后大伙们要是有兴趣可以去我博客看看原文
Debian10搭建CS1.6服务器-https://blog.im.ci/study-notes/linux-notes/520/
发表于 2021-9-17 17:52:21 | 显示全部楼层
多少年没玩过这了
发表于 2021-9-17 17:53:50 | 显示全部楼层
CS1.6在哪下载,另外哪个防作弊插件呢?需要下载哪个?
发表于 2021-9-17 17:55:57 | 显示全部楼层
服务器地址是多少啊 让我上去玩会啊?
 楼主| 发表于 2021-9-17 18:02:15 | 显示全部楼层
告辞 发表于 2021-9-17 17:52
多少年没玩过这了

怀旧啊,小时候第一个玩到的FPS
 楼主| 发表于 2021-9-17 18:05:30 | 显示全部楼层
豫山 发表于 2021-9-17 17:53
CS1.6在哪下载,另外哪个防作弊插件呢?需要下载哪个?

豆客的可以下,反作弊默认是VAC
 楼主| 发表于 2021-9-17 18:06:49 | 显示全部楼层
豫山 发表于 2021-9-17 17:55
服务器地址是多少啊 让我上去玩会啊?

还没完全搞好,插件什么的还在找怎么弄
发表于 2021-9-17 18:06:53 | 显示全部楼层
搞起,晚上先撸一把对战。
发表于 2021-9-17 18:07:26 | 显示全部楼层
技术贴顶一下  我打1.6经常被当成外挂
发表于 2021-9-17 18:07:55 | 显示全部楼层
搞好发出来啊,MJJ大战
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-19 22:48 , Processed in 0.064411 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表