这篇指南将以最主流的 Linux 发行版 Ubuntu/Debian 为例,为你提供一份详尽的、手把手的教程。

目录
- 准备工作
- 安装 SteamCMD
- 下载 CS 1.6 服务器文件
- 创建服务器启动脚本
- 配置服务器
server.cfg- 核心配置mapcycle.txt- 地图循环listip.cfg&banned.cfg- 封禁管理
- 配置防火墙
- 启动服务器
- 常见问题与进阶
- 如何安装 AMX Mod X?
- 如何安装 Metamod?
- 如何添加插件?
- 如何让服务器后台运行?
准备工作
你需要一台已经安装好 Ubuntu 20.04/22.04 或 Debian 10/11 的服务器,并且拥有 sudo 权限。
连接到你的服务器 SSH:
ssh your_user@your_server_ip
更新系统软件包列表:
sudo apt update sudo apt upgrade -y
安装一些必要的依赖库,这些是 CS 1.6 服务器运行所必需的:

sudo apt install -y lib32gcc1 libstdc++6 libstdc++5
安装 SteamCMD
SteamCMD 是 Valve 官方的命令行工具,用于下载和更新游戏服务器,我们将把它安装在 /opt 目录下。
# 进入 /opt 目录 cd /opt # 下载 SteamCMD sudo wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz # 解压 sudo tar -xvzf steamcmd_linux.tar.gz # 创建一个 steamcmd 用户来运行服务器(推荐的安全做法) sudo useradd -m -s /bin/bash steam
下载 CS 1.6 服务器文件
我们将使用刚刚安装的 SteamCMD 来下载服务器,切换到 steam 用户。
sudo su - steam
使用 SteamCMD 命令行下载服务器,CS 1.6 的 AppID 是 90。
# 启动 SteamCMD ./steamcmd/steamcmd.sh # 在 SteamCMD 命令行中,依次执行以下命令: # 1. 登录匿名账户(下载服务器不需要Steam账号) login anonymous # 2. 设置服务器的安装目录(我们把它放在 home 目录下) force_install_dir ./cstrike16 # 3. 下载/更新 CS 1.6 服务器 app_update 90 validate # 4. 退出 SteamCMD quit
下载完成后,你的 CS 1.6 服务器文件就在 /home/steam/cstrike16 目录下了。

创建服务器启动脚本
为了方便启动和管理服务器,我们创建一个启动脚本。
# 回到 root 用户 exit # 创建一个启动脚本文件 sudo nano /home/steam/start_server.sh
粘贴到 start_server.sh 文件中:
#!/bin/bash # 进入服务器目录 cd /home/steam/cstrike16 # 启动服务器 ./hlds_run -game cstrike -port 27015 +ip 0.0.0.0 +maxplayers 12 +map de_dust2
参数解释:
./hlds_run: HLDS (Half-Life Dedicated Server) 的启动程序。-game cstrike: 指定游戏目录为cstrike。-port 27015: 设置服务器端口,确保这个端口在你的防火墙中是开放的。+ip 0.0.0.0: 绑定到所有网络接口,让外网玩家可以连接,如果你想只绑定某个特定IP,请替换为+ip 你的服务器IP。+maxplayers 12: 设置最大玩家数量。+map de_dust2: 服务器启动后加载的地图。
保存并退出 (Ctrl+X, 然后按 Y, 最后按 Enter)。
给这个脚本添加可执行权限:
sudo chmod +x /home/steam/start_server.sh
配置服务器
服务器的主要配置文件都位于 /home/steam/cstrike16/cstrike/ 目录下。
server.cfg - 核心配置
这是最重要的配置文件,定义了服务器的名称、密码、规则等。
sudo nano /home/steam/cstrike16/cstrike/server.cfg
一个典型的 server.cfg 示例:
// 服务器基本信息 hostname "我的Linux CS1.6服务器" sv_password "" // 留空为无密码,设置密码为 "123" 则写成 sv_password "123" sv_contact "admin@example.com" sv_region "3" // 3代表亚洲 // 游戏规则 mp_timelimit 25 // 每张地图25分钟 mp_fraglimit 0 // 炸弹模式,此参数无效 mp_roundtime 2.5 // 每回合2.5分钟 mp_freezetime 6 // 开局冻结时间6秒 mp_c4timer 35 // C4倒计时35秒 mp_startmoney 800 // 起始金钱 mp_buytime 0.90 // 买时间为秒,0.90=54秒 // 日志和作弊防护 log on // 开启日志 sv_cheats 0 // 禁用作弊 sv_allowdownload 0 // 禁止客户端从服务器下载文件(减少服务器负载) sv_send_logos 0 // 禁止发送Logo sv_send_resources 0 // 禁止发送资源文件
mapcycle.txt - 地图循环
这个文件定义了服务器会按顺序加载哪些地图。
sudo nano /home/steam/cstrike16/cstrike/mapcycle.txt
添加地图名称,每行一个:
de_dust2
de_inferno
de_nuke
de_train
de_aztec
de_cbble
listip.cfg & banned.cfg - 封禁管理
listip.cfg: 用于记录玩家IP,以便封禁,通常由服务器命令自动生成和管理,手动编辑即可。banned.cfg: 用于封禁玩家,你可以手动添加要封禁的IP。
sudo nano /home/steam/cstrike16/cstrike/banned.cfg
格式如下:
"ip" "ip地址" "0"
"ip" "1.2.3.4" "0"
配置防火墙
为了让外网玩家能够连接到你的服务器,必须开放 27015 端口。
# 安装 UFW (如果还没安装) sudo apt install ufw -y # 允许SSH连接 (如果你还没有设置) sudo ufw allow ssh # 允许CS1.6服务器端口 (UDP) sudo ufw allow 27015/udp # 启用防火墙 sudo ufw enable
启动服务器
万事俱备,你可以启动你的服务器了!
# 使用我们之前创建的脚本启动 sudo /home/steam/start_server.sh
如果一切正常,你会看到服务器正在加载地图,并显示类似 Game init 的信息,你的 CS 1.6 服务器现在就在线了!
你可以通过游戏添加服务器来测试,或者使用 connect 你的服务器IP:27015 命令直接连接。
常见问题与进阶
如何安装 AMX Mod X?
AMX Mod X 是最流行的服务器管理插件,让你可以添加插件、管理玩家、设置排行榜等。
- 下载 AMX Mod X: 访问 amxmodx.org 下载 Linux 版本的
base包。 - 上传并解压: 将下载的
.tar.gz文件上传到你的服务器,并解压到/home/steam/cstrike16/目录下,它会自动覆盖到正确的文件夹(如addons,configs等)。 - 安装 Metamod: AMX Mod X 依赖于 Metamod,AMX Mod X 的安装包里已经包含了。
- 配置插件: 主要配置文件是
/home/steam/cstrike16/addons/amxmodx/configs/plugins.ini,在这里用plugin_name.amxx的格式启用你想要的插件。
如何让服务器后台运行?
直接在 SSH 窗口运行服务器,一旦关闭 SSH 连接,服务器就会停止,有几种方法可以解决这个问题:
使用 screen (推荐)
screen 是一个终端多路复用工具,可以让你在断开 SSH 后,程序仍在后台运行。
- 安装
screen:sudo apt install screen -y
- 创建一个新的 screen 会话:
screen -S cstrike
- 在这个新的会话中启动你的服务器脚本:
/home/steam/start_server.sh
- 服务器启动后,按下
Ctrl+A,然后松开,再按D,这样就会 detach(分离)会话,服务器在后台继续运行。 - 你可以安全地关闭 SSH。
- 当你想重新查看服务器控制台时,重新连接 SSH,然后使用以下命令恢复会话:
screen -r cstrike
使用 tmux
tmux 是 screen 的一个现代替代品,功能更强大,安装和使用方法与 screen 类似。
# 安装 tmux sudo apt install tmux -y # 创建新会话 tmux new -s cstrike # 在会话中启动服务器 /home/steam/start_server.sh # 分离会话 (Ctrl+B, 然后按 D)
恢复会话:
tmux attach -t cstrike
