当前位置: 首页 > news >正文

2026 年 CS 1.6 死斗服务器开服指南(Linux)

2026 年 CS 1.6 死斗服务器开服指南(Linux)

背景:笔者想搞一个无聊时可以和小伙伴之间激情对枪的轻量级射击游戏,要求“轻量,画面现代也能接受,手感不错,土豆机也能流畅运行,可离线部署,自托管”。简单看了一圈下来 CS 1.6 似乎是最好的选择,尽管画面落后,但即便以如今视角来看也不算很难受,并且依然有丰富的社区资源支撑。但在 CS1.6 经历半条命 25 周年大更新以及各路第三方修复与扩展的充实下,在 2026 年要正确开启一个 CS 1.6 服务器远远不是简单的下载 Dedicated Server 并启动那么简单,以往的教程也略显过时。本文旨在给出 CS 1.6 的服务器架设指南,目标是架设一个现代的、轻量的带 Bot 的 CS 1.6 死斗服务器,以允许闲时和小伙伴激情对战或者快速练习。

CS 起源其实也很好,但是如今 CS 起源的社区支持不佳,甚至远不及 CS 1.6,很多插件年久失修,没有人维护。而即便要自己做扩展开发,起源引擎的游戏做扩展开发也非常痛苦:作为同时具备过时技术与 DEAD GAME 双重 debuff 的游戏,如今在 CS 起源上进行开发的投入产出比极低,评估下来我认为没有理由过多去投入精力折腾。或许等 AI 继续发展下去,能够帮助实现绝大部分功能后才有去折腾的理由。

此外,对于有相似需求的读者,竞技场 FPS,例如 Warsow(Warfork)也是一个很值得考虑的选择。

1. 技术信息简介

  • 客户端:原版最新版 CS 1.6,不作任何更改
  • 服务端:基于 legacy 版本的服务端,配合 ReHLDS + ReGameDLL_CS + Metamod-R & AMX Mod X 完成基架搭建,使用 ReDeathmatch 实现死斗模式,使用 YaPB 实现 Bot 功能。

本教程假定读者有一定的 Linux 基础与动手能力,且有关电脑基础操作的部分将被省略不作赘述。

2. 服务器基架搭建

2.1. 安装 Steamcmd

略,请直接参考 Valve 提供的官方教程:https://developer.valvesoftware.com/wiki/SteamCMD

如果想使用容器方案,可以考虑使用 cm2network/steamcmd 镜像

2.2. 获取 CS 1.6 服务端文件

执行以下命令并等待下载完成即可:

steamcmd \+force_install_dir "$(pwd)/counter-strike" \+login anonymous \+app_set_config 90 mod cstrike \+app_update 90 -beta steam_legacy validate \+quit

完成后 CS 1.6 的服务端文件会放置到当前目录下的 counter-strike 目录中。此后如何特殊说明,均假设工作目录(Working Directory)为 counter-strike 目录。

注意到这里用了 -beta steam_legacy 要求下载旧版服务端文件,这是因为之后需要使用的 ReHLDS 仅和 25 周年更新前的最新版服务端兼容。不必担心客户端的兼容问题,25 周年后的新版 CS 1.6 客户端依然可以进入此服务器。

2.3. 安装 ReHLDS

在 ReHLDS 的 GitHub 仓库下载二进制构建文件:https://github.com/rehlds/ReHLDS/releases/

接下来,将下载的构建文件解压,并用 bin/linux32/ 目录中的所有文件覆盖所有原版 CS 1.6 服务端中的同名文件。以当前最新的 rehlds-bin-3.14.0.857.zip 为例,bin/linux32 的覆盖结构如下:

├── core.so
├── demoplayer.so
├── engine_i486.so
├── filesystem_stdio.so
├── hlds_linux
├── hltv
├── proxy.so
└── valve└── dlls└── director.so

重要:清除服务端根目录下 engine_i486.so 文件的可执行堆栈标记:

execstack -c ./engine_i486.so

如果不清除掉该文件的可执行堆栈标记,在现代 Linux 的安全策略下启动服务器时会导致执行出错。示例报错为:Error: engine_i486.so: cannot enable executable stack as shared object requires: Invalid argument。这一问题会影响容器化部署。

要使用 execstack 命令,Debian 系需要安装 execstack,RH 系需要安装 prelink。

2.4. 安装 ReGameDLL_CS

在 ReGameDLL_CS 的 GitHub 仓库下载二进制构建文件:https://github.com/rehlds/ReGameDLL_CS/releases/

接下来,将下载的构建文件解压,并用 bin/linux32/ 目录中的所有文件覆盖所有原版 CS 1.6 服务端中的同名文件。以当前最新的 regamedll-bin-5.28.0.756.zip 为例,bin/linux32 的覆盖结构如下:

└── cstrike├── delta.lst├── dlls│   └── cs.so├── game.cfg└── game_init.cfg

2.5. 安装 Metamod-R

在 Metamod-R 的 GitHub 仓库下载二进制构建文件:https://github.com/rehlds/Metamod-R/releases/

接下来,将下载的构建文件解压,将其中的 addons 目录整个放置于服务端根目录下的 cstrike 目录中。

└── cstrike├── addons

然后,编辑 ./cstrike/liblist.gmm 文件,找到 gamedll_linux 开头的行,并修改为以下值以启用 Metamod-R:

gamedll_linux "addons/metamod/metamod_i386.so"

2.6. 安装 AMX Mod X

在 AMX Mod X 的 GitHub 仓库下载二进制构建文件:https://github.com/alliedmodders/amxmodx/releases/。这里需要下载两个文件:base 与 cstrike,例如

  • amxmodx-1.9.0-git5303-base-linux.tar.gz
  • amxmodx-1.9.0-git5303-cstrike-linux.tar.gz

解压两者,并先将 amxmodx-base 中的 addons 目录放置到服务端根目录下的 cstrike 目录中, 然后将 amxmodx-cstrike 中的 addons 目录按同样的位置放置并覆盖掉同名文件。

接下来,编辑 ./cstrike/addons/metamod/plugins.ini(没有则新建),写入以下内容:

linux addons/amxmodx/dlls/amxmodx_mm_i386.so

重要:与 ReHLDS 的情况相似,还需要清除 amxmodx 的核心二进制文件的可执行堆栈标记,否则可能会导致容器环境下 AMX Mod X 加载失败:

execstack -c ./cstrike/addons/amxmodx/dlls/amxmodx_mm_i386.so

2.7. 安装 ReAPI

在 ReAPI 的 GitHub 仓库下载二进制构建文件:https://github.com/rehlds/ReAPI/releases/

解压,并将目录下的 addons 复制到 ./cstrike

2.8. 验证安装

在服务器根目录下执行如下命令快速启动服务器:

./hlds_run \-game cstrike \-insecure \-nomaster \-ip 0.0.0.0 \+maxplayers 10 \+map de_dust2

如果 ReHLDS、ReGameDLL、Metamod-R、AMX Mod X 均安装成功,应当能在控制台输出信息中看到相关字样,例如:

Metamod-r v1.3.0.149, API (5:13)ReGameDLL version: 5.28.0.756-devExecuting AMX Mod X Configuration File

在启动的服务端的控制台中执行以下命令验证插件基础设施是否安装成功:

meta list

期望输出示例:

      description   stat pend  file                      vers         src  load  unload[ 1] AMX Mod X     RUN   -    amxmodx_mm_i386.so        v1.9.0.5303  ini  Start ANY[ 2] Ham Sandwich  RUN   -    hamsandwich_amxx_i386.so  v1.9.0.5303  pl1  ANY   ANY[ 3] CSX           RUN   -    csx_amxx_i386.so          v1.9.0.5303  pl1  ANY   ANY

继续执行以下命令验证 AMX Mod X 与相关的插件是否安装成功:

amxx list

期望输出示例:

Currently loaded plugins:name                    version     author            file             status[  1] Admin Base              1.9.0.5303  AMXX Dev Team     admin.amxx       running[  2] Admin Commands          1.9.0.5303  AMXX Dev Team     admincmd.amxx    running[  3] Admin Help              1.9.0.5303  AMXX Dev Team     adminhelp.amxx   running[  4] Slots Reservation       1.9.0.5303  AMXX Dev Team     adminslots.amxx  running[  5] Multi-Lingual System    1.9.0.5303  AMXX Dev Team     multilingual.am  running[  6] Menus Front-End         1.9.0.5303  AMXX Dev Team     menufront.amxx   running[  7] Commands Menu           1.9.0.5303  AMXX Dev Team     cmdmenu.amxx     running[  8] Players Menu            1.9.0.5303  AMXX Dev Team     plmenu.amxx      running[  9] Maps Menu               1.9.0.5303  AMXX Dev Team     mapsmenu.amxx    running[ 10] Plugin Menu             1.9.0.5303  AMXX Dev Team     pluginmenu.amxx  running[ 11] Admin Chat              1.9.0.5303  AMXX Dev Team     adminchat.amxx   running[ 12] Anti Flood              1.9.0.5303  AMXX Dev Team     antiflood.amxx   running[ 13] Scrolling Message       1.9.0.5303  AMXX Dev Team     scrollmsg.amxx   running[ 14] Info. Messages          1.9.0.5303  AMXX Dev Team     imessage.amxx    running[ 15] Admin Votes             1.9.0.5303  AMXX Dev Team     adminvote.amxx   running[ 16] NextMap                 1.9.0.5303  AMXX Dev Team     nextmap.amxx     running[ 17] Nextmap Chooser         1.9.0.5303  AMXX Dev Team     mapchooser.amxx  running[ 18] TimeLeft                1.9.0.5303  AMXX Dev Team     timeleft.amxx    running[ 19] Pause Plugins           1.9.0.5303  AMXX Dev Team     pausecfg.amxx    running[ 20] Stats Configuration     1.9.0.5303  AMXX Dev Team     statscfg.amxx    running[ 21] StatsX                  1.9.0.5303  AMXX Dev Team     statsx.amxx      running
21 plugins, 21 running

3. 添加死斗插件与 YaPB 人机

继续这一步之前,请确认上一步的服务器基架搭建已经正确完成。

3.1. 添加 ReDeathmatch 插件

在 ReDeathmatch 的 GitHub 仓库下载二进制构建文件:https://github.com/ReDeathmatch/ReDeathmatch_AMXX/

解压,并将目录下的 cstrike 复制到服务端根目录。

是的,无需编辑 AMX Mod X 的 plugins.ini,ReDeathmatch 自带的 plugins-redm.ini 本身就会被 AMX Mod X 读取。

非必要,但推荐:编辑 ./cstrike/addons/amxmodx/configs/plugins-redm.ini,注释掉插件的 debug 标记,如下:

; Main plugin
ReDeathmatch.amxx   ;debug; Addons
redm_spawns.amxx    ;debug

如果需要对死斗规则进行调整,可修改其配置文件 cstrike/addons/amxmodx/configs/redm/gamemode_deathmatch.json

3.2. 添加 YaPB 人机

在 YaPB 的 GitHub 仓库下载二进制构建文件:https://github.com/yapb/yapb/releases/

解压,并将目录下的 addons 目录复制到服务端根目录下的 cstrike 目录中。

打开 ./cstrike/addons/metamod/plugins.ini,添加 YaPB 启用配置。结合先前的配置,当前的 metamod 的 plugins.ini 长这样:

linux addons/yapb/bin/yapb.so
linux addons/amxmodx/dlls/amxmodx_mm_i386.so

打开 ./cstrike/addons/yapb/conf/yapb.cfg,做一下简单配置,如下:

yb_quota "10"                // 服务器里保持10个Bot
yb_autovacate "1"            // 真人进服时,自动踢掉一个Bot腾位置
yb_join_after_player "1"     // 真人进服后Bot才加入 (省服务器资源)yb_ignore_objectives "1"     // 强制Bot无视C4和人质任务,纯粹杀人
yb_camping_allowed "0"       // 禁止Bot老六蹲坑,强制它们全图游走对枪
yb_walking_allowed "0"       // 禁止Bot静步走,死斗就是要求跑起来打yb_difficulty "3"            // 难度等级
yb_shoots_thru_walls "2"     // 允许Bot穿墙射击

YaPB 提供了大量参数控制人机行为,并且对每个参数都做了注释说明,可根据自身需求进行调整。

4. 运行服务器

使用以下命令启动服务器:

./hlds_run \-game cstrike \-insecure \-nomaster \-ip 0.0.0.0 \+maxplayers 10 \+map de_dust2

如果倾向于使用容器化部署,建议基于 cm2network/steamcmd

podman run --rm -it --network host --userns keep-id --workdir /app \-v ./counter-strike:/app \cm2network/steamcmd \/app/hlds_run \-game cstrike \-insecure \-nomaster \-ip 0.0.0.0 \+maxplayers 10 \+map de_dust2

5. 其他

5.1. CSCZ 兼容性

上述改造流程基本完美适配 CSCZ,只是 cstrike 目录变为 czero,服务端下载的 steamcmd 命令有变化:

app_set_config 90 mod czero

6. 参考资料

  1. Gemini 3.1 Pro
  2. https://rehlds.dev/
  3. https://github.com/rehlds/ReHLDS
  4. https://github.com/rehlds/ReGameDLL_CS
  5. https://github.com/rehlds/metamod-r
  6. https://github.com/rehlds/ReAPI
  7. https://github.com/alliedmodders/amxmodx
  8. https://github.com/ReDeathmatch/ReDeathmatch_AMXX
  9. https://github.com/yapb/yapb
  10. https://www.amxmodx.org/downloads.php
  11. https://redeathmatch.github.io/en/Getting-started/installation/
  12. https://yapb.readthedocs.io/en/latest/
  13. https://blog.timxs.com/docs/cs1.6/plugins
http://www.jsqmd.com/news/765545/

相关文章:

  • 别再只怪代码了!从硬件角度排查Arduino ESP32/UNO异常复位:电源、噪声与接地的坑
  • 轻量级AI聊天界面的技术实现:Ollama Web UI Lite深度解析
  • 2026年5月黏糊麻辣烫加盟避坑:杭景元东北老式麻辣烫品牌推荐榜,保姆式运营与精细化利润分析指南
  • MCP 2026推理引擎集成实战:5步完成LLM服务低延迟接入,实测P99延迟压降至<87ms
  • 土豆膨大用肥技术强的厂家推荐 - 品牌企业推荐师(官方)
  • Masonry
  • GetQzonehistory完整教程:5分钟永久保存QQ空间所有历史记录
  • AI性格越好越爱瞎编!Nature揭开大模型致命的温柔
  • AI赋能算法设计:借助快马平台生成智能车竞赛弯道模糊控制优化方案
  • 如何永久保存网络小说:novel-downloader完整指南
  • 从WSDM顶会论文看2024时空预测新趋势:CityCAN、CreST这些模型到底解决了啥实际问题?
  • BetterNCM安装器终极指南:一键解锁网易云音乐无限潜能 [特殊字符]
  • 2026年洛阳偃师黄金回收,哪家更值得信赖? - 品牌企业推荐师(官方)
  • Linux内核调优笔记:调整tcp_sack与tcp_dsack参数,对高并发服务网络性能的实际影响测试
  • 解锁黑苹果配置新高度:OCAT如何让OpenCore管理变得简单高效
  • 云代理商:企业级Hermes Agent部署方案 从零搭建高可用智能客服系统
  • BilibiliDown:3步掌握免费B站视频批量下载技巧
  • 终极免费解决方案:luci-app-aliddns让动态IP家庭网络7×24小时稳定在线
  • AISMM认证不是考试,是合规博弈:基于2026 SITS2026真题库的4层证据链构建法
  • Windows系统VBE7INTL.DLL文件丢失无法启动程序解决
  • 68.YOLOv8视频推理优化,30FPS实时检测,代码可复用
  • MCP 2026国产化部署“静默降频”问题溯源:从龙芯3A5000微架构到JVM ZGC参数的12层链路压测实录
  • AI技能安全扫描器:防范AI Agent供应链攻击的实战指南
  • Dayflow:基于纯文本与本地优先理念的个人时间管理与量化分析工具
  • CBCX:国际监管框架下的稳健运营
  • day00-开班导学
  • 告别‘玄学’调试:用Python手把手实现BCH码纠错,实测5G NR中的误码率
  • 构建企业级知识库问答系统时的大模型接入实践
  • 别再瞎填AISMM评估表了!:资深评估师私藏的12个高危指标陷阱与3种验证性测量法
  • RSSHub Radar浏览器扩展:5分钟快速上手智能RSS订阅终极指南