凌峰创科服务平台

如何在Linux系统搭建CS1.6服务器?

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

如何在Linux系统搭建CS1.6服务器?-图1
(图片来源网络,侵删)

目录

  1. 准备工作
  2. 安装 SteamCMD
  3. 下载 CS 1.6 服务器文件
  4. 创建服务器启动脚本
  5. 配置服务器
    • server.cfg - 核心配置
    • mapcycle.txt - 地图循环
    • listip.cfg & banned.cfg - 封禁管理
  6. 配置防火墙
  7. 启动服务器
  8. 常见问题与进阶
    • 如何安装 AMX Mod X?
    • 如何安装 Metamod?
    • 如何添加插件?
    • 如何让服务器后台运行?

准备工作

你需要一台已经安装好 Ubuntu 20.04/22.04Debian 10/11 的服务器,并且拥有 sudo 权限。

连接到你的服务器 SSH:

ssh your_user@your_server_ip

更新系统软件包列表:

sudo apt update
sudo apt upgrade -y

安装一些必要的依赖库,这些是 CS 1.6 服务器运行所必需的:

如何在Linux系统搭建CS1.6服务器?-图2
(图片来源网络,侵删)
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 目录下了。

如何在Linux系统搭建CS1.6服务器?-图3
(图片来源网络,侵删)

创建服务器启动脚本

为了方便启动和管理服务器,我们创建一个启动脚本。

# 回到 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 是最流行的服务器管理插件,让你可以添加插件、管理玩家、设置排行榜等。

  1. 下载 AMX Mod X: 访问 amxmodx.org 下载 Linux 版本的 base 包。
  2. 上传并解压: 将下载的 .tar.gz 文件上传到你的服务器,并解压到 /home/steam/cstrike16/ 目录下,它会自动覆盖到正确的文件夹(如 addons, configs 等)。
  3. 安装 Metamod: AMX Mod X 依赖于 Metamod,AMX Mod X 的安装包里已经包含了。
  4. 配置插件: 主要配置文件是 /home/steam/cstrike16/addons/amxmodx/configs/plugins.ini,在这里用 plugin_name.amxx 的格式启用你想要的插件。

如何让服务器后台运行?

直接在 SSH 窗口运行服务器,一旦关闭 SSH 连接,服务器就会停止,有几种方法可以解决这个问题:

使用 screen (推荐)

screen 是一个终端多路复用工具,可以让你在断开 SSH 后,程序仍在后台运行。

  1. 安装 screen:
    sudo apt install screen -y
  2. 创建一个新的 screen 会话:
    screen -S cstrike
  3. 在这个新的会话中启动你的服务器脚本:
    /home/steam/start_server.sh
  4. 服务器启动后,按下 Ctrl+A,然后松开,再按 D,这样就会 detach(分离)会话,服务器在后台继续运行。
  5. 你可以安全地关闭 SSH。
  6. 当你想重新查看服务器控制台时,重新连接 SSH,然后使用以下命令恢复会话:
    screen -r cstrike

使用 tmux

tmuxscreen 的一个现代替代品,功能更强大,安装和使用方法与 screen 类似。

# 安装 tmux
sudo apt install tmux -y
# 创建新会话
tmux new -s cstrike
# 在会话中启动服务器
/home/steam/start_server.sh
# 分离会话 (Ctrl+B, 然后按 D)

恢复会话:

tmux attach -t cstrike
分享:
扫描分享到社交APP
上一篇
下一篇