凌峰创科服务平台

Linux CS1.6服务器如何搭建与配置?

这份指南将以最流行的 Ubuntu/DebianCentOS/RHEL 系统为例,为你提供一份详尽的、从零开始的搭建教程。

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

核心概念

在开始之前,你需要了解几个关键点:

  1. HLDS (Half-Life Dedicated Server): 这是 Valve 官方的服务器端程序,是搭建 CS 1.6 服务器的核心,它使用 GoldSrc 引擎。
  2. Metamod: 一个插件接口/插件管理器,它允许你像“插线板”一样,在游戏核心和插件之间建立一个中间层,让你可以轻松地加载和卸载插件,而无需修改游戏核心文件。
  3. AMX Mod X: 最流行、功能最强大的 CS 1.6 服务器管理插件,它提供了强大的管理命令(如 amx_ban, amx_slap)、计分板、管理员菜单、插件系统等,Metamod 是运行 AMX Mod X 的前提。
  4. 地图: 服务器运行的地图文件(如 de_dust2.bsp),你需要手动下载并上传到服务器。
  5. 服务器类型:
    • Dedicated (专用服务器): 在 Linux 上运行的标准模式,性能最好,最稳定。
    • Listen (本地服务器): 通常在 Windows 上运行,你在同一个电脑上既是服务器又是客户端,Linux 上不推荐。

准备工作

  1. 一台 Linux 服务器:

    • 推荐系统: Ubuntu 20.04/22.04 LTS 或 CentOS 7/8,本教程以 Ubuntu 22.04 为例。
    • 最低配置: 1核CPU, 512MB 内存, 1GB 硬盘空间。
    • 网络: 必须有公网 IP 地址,并且开放以下端口:
      • UDP 27015: 游戏客户端连接端口。
      • TCP 27015: Steam 查询端口(可选,但推荐)。
      • TCP 27020/27025: 用于某些特定功能(可选)。
      • 你需要在服务器的防火墙(如 ufw, firewalldiptables)和云服务商的安全组中开放这些端口。
  2. SSH 访问权限: 你需要通过 SSH 连接到你的服务器。


第一步:更新系统并安装依赖

打开终端,连接到你的服务器。

Linux CS1.6服务器如何搭建与配置?-图2
(图片来源网络,侵删)

对于 Ubuntu/Debian 系统

# 更新软件包列表
sudo apt update
# 升级已安装的软件包
sudo apt upgrade -y
# 安装必要的编译工具和库
sudo apt install -y wget tar gzip build-essential lib32gcc1 lib32stdc++6

对于 CentOS/RHEL 系统

# 安装 EPEL 仓库
sudo dnf install -y epel-release
# 更新系统
sudo dnf update -y
# 安装必要的编译工具和库
sudo dnf install -y wget tar gzip gcc gcc-c++ glibc-devel glibc.i686 libstdc++-devel libstdc++.i686

第二步:安装 HLDS (游戏服务器核心)

我们将从 SteamCMD 下载 HLDS,这是官方推荐的方式。

  1. 创建一个专门的用户来运行服务器 (这是安全最佳实践)

    sudo adduser --system --group --no-create-home hlds
  2. 创建服务器目录并切换到该用户

    sudo mkdir -p /opt/cstrike
    sudo chown hlds:hlds /opt/cstrike
    sudo su - hlds
    cd /opt/cstrike
  3. 下载并安装 SteamCMD

    Linux CS1.6服务器如何搭建与配置?-图3
    (图片来源网络,侵删)
    # 下载 SteamCMD
    wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
    # 解压
    tar -xvzf steamcmd_linux.tar.gz
    # 删除压缩包
    rm steamcmd_linux.tar.gz
  4. 使用 SteamCMD 自动更新和安装 CS 1.6 服务器

    # 运行 SteamCMD
    ./steamcmd.sh

    在 SteamCMD 的命令行界面中,依次输入以下命令:

    # 登录匿名账户(用于下载公共服务器)
    login anonymous
    # 设置安装目录 (非常重要!)
    force_install_dir /opt/cstrike
    # 下载/更新 CS 1.6 服务器 (appid 90 是 CS 1.6)
    app_update 90 validate
    # 退出 SteamCMD
    quit

    这个过程会下载 HLDS 和一些默认地图,完成后,你的 /opt/cstrike 目录下应该会有 cstrikevalve 等文件夹。


第三步:安装 Metamod 和 AMX Mod X

现在服务器核心有了,我们需要安装插件来管理它。

  1. 退出 hlds 用户,回到 root 或你的普通用户

    exit
  2. 下载 Metamod 和 AMX Mod X

    我们去它们的官方网站下载最新版本,请务必去官网获取最新链接!

    以当前最新版本为例 (请自行替换为最新版本号):

    # 创建下载目录
    mkdir ~/downloads
    cd ~/downloads
    # 下载 Metamod (metamod-v1.21.1-amxx)
    wget http://www.metamod.org/files/metamod-1.21.1-amxx.tar.gz
    # 下载 AMX Mod X (amxmodx-1.9.0)
    wget https://www.amxmodx.org/release/amxmodx-1.9.0-base-linux.tar.gz
    wget https://www.amxmodx.org/release/amxmodx-1.9.0-cstrike-linux.tar.gz
    wget https://www.amxmodx.org/release/amxmodx-1.9.0-modules-linux.tar.gz
    wget https://www.amxmodx.org/release/amxmodx-1.9.0-udamage-linux.tar.gz # 可选,显示伤害
  3. 解压并安装插件

    # 进入服务器目录
    cd /opt/cstrike
    # 解压 Metamod 到 addons 目录
    tar -xvzf ~/downloads/metamod-*.tar.gz
    # 解压 AMX Mod X 的各个部分
    tar -xvzf ~/downloads/amxmodx-*-base-linux.tar.gz -C addons/
    tar -xvzf ~/downloads/amxmodx-*-cstrike-linux.tar.gz -C addons/
    tar -xvzf ~/downloads/amxmodx-*-modules-linux.tar.gz -C addons/
    tar -xvzf ~/downloads/amxmodx-*-udamage-linux.tar.gz -C addons/
  4. 配置 Metamod

    Metamod 需要知道 AMX Mod X 在哪里,我们需要创建一个 plugins.ini 文件。

    # 编辑 metamod 的 plugins.ini 文件
    nano addons/metamod/plugins.ini

    在文件末尾添加以下一行,告诉 Metamod 加载 AMX Mod X 插件:

    ; AMX Mod X
    addons/amxmodx/dlls/amxmodx_i386.so

    注意:如果你的系统是 64 位的,但 CS 1.6 是 32 位的,文件名可能仍然是 amxmodx_i386.so,请确认文件名是否正确。

    保存并退出 (Ctrl+X, Y, Enter)。


第四步:下载地图

默认的地图很少,你需要下载一些经典地图。

  1. 创建地图下载目录

    mkdir ~/maps_download
    cd ~/maps_download
  2. 下载地图

    地图文件通常是 .zip.bz2 格式,推荐使用一个地图包。

    # 下载一个包含大量地图的包 (从 GameMaps.com 下载)
    # 这里提供一个示例链接,你可以搜索 "cs16 maps pack" 找到最新的
    wget https://gamebanana.com/maps/download/184835 -O de_dust2.zip
    wget https://gamebanana.com/maps/download/184834 -O de_nuke.zip
    # ... 下载你想要的更多地图
  3. 解压并放置地图

    # 返回服务器目录
    cd /opt/cstrike
    # 将下载的地图解压到 cstrike/maps 目录
    # 注意:地图文件应该是 .bsp 格式
    unzip ~/maps_download/de_dust2.zip -d cstrike/maps/
    unzip ~/maps_download/de_nuke.zip -d cstrike/maps/
    # 清理下载的地图包
    rm -rf ~/maps_download

第五步:配置服务器

这是最关键的一步,决定了你的服务器如何运行。

  1. 配置服务器参数 (server.cfg)

    nano cstrike/server.cfg

    这是一个基础配置文件示例,你可以根据需要修改:

    // 服务器名称
    hostname "我的 Linux CS 1.6 服务器"
    // 服务器密码 (留空表示无密码)
    rcon_password "your_strong_rcon_password"
    // 默认密码 (加入服务器时需要)
    sv_password ""
    // 地图循环列表
    mapcyclefile "mapcycle.txt"
    // 每个地图的时间(分钟)
    mp_timelimit 25
    // 开始时是否需要购买时间
    mp_buytime 1.5
    // 是否允许换边
    mp_autoteambalance 1
    mp_teamplay 1
    // 最大玩家数
    maxplayers 20
    // 是否允许死亡聊天
    mp_deathmsg 1
    // 日志记录
    log on
    sv_logbans 1
    sv_logs 1

    保存并退出。

  2. 配置地图循环 (mapcycle.txt)

    nano cstrike/mapcycle.txt

    在文件中输入你希望服务器循环的地图名称,每行一个:

    de_dust2
    de_nuke
    de_inferno
    de_dust
    de_aztec
    de_cbble

    保存并退出。

  3. 配置管理员 (users.ini)

    AMX Mod X 的管理员权限在这里配置。

    nano addons/amxmodx/configs/users.ini

    文件格式为: "玩家名字或STEAM_ID" "密码" "权限级别" "身份"

    • 玩家名字: 容易被伪造,不推荐。
    • STEAM_ID: 最安全的方式,你需要玩家的 STEAM_0:0:123456 这样的 ID。
    • 权限级别: a = 最高管理员 (全部权限), b = 普通管理员, z = 禁止进入。

    示例:

    // STEAM_ID 密码 权限 身份
    "STEAM_0:1:123456" "mypassword" "a" "abcdefghijklmnopqrstu"
    // 一个只有 kick 和 ban 权限的管理员
    "AnotherAdmin" "hispassword" "b" "bcdefghijklmn"

    保存并退出。


第六步:启动服务器

  1. 回到 hlds 用户

    sudo su - hlds
    cd /opt/cstrike
  2. 启动服务器

    最基本的启动命令:

    ./hlds_run -game cstrike +maxplayers 20 +map de_dust2
    • -game cstrike: 指定游戏目录为 cstrike
    • +maxplayers 20: 设置最大玩家数。
    • +map de_dust2: 设置初始地图。

    启动后,你应该能看到服务器信息、地图加载、玩家连接等日志,如果一切正常,恭喜你!你的服务器已经可以运行了。

  3. 让服务器在后台持续运行 (使用 screen)

    直接在 SSH 中运行,一旦断开连接,服务器就会关闭,我们需要 screen 来让它后台运行。

    • 安装 screen (在 root 用户下):

      # Ubuntu/Debian
      sudo apt install screen
      # CentOS/RHEL
      sudo dnf install screen
    • 启动服务器:

      # 创建一个新的 screen 会话
      screen -S csserver
      # 在 screen 会话中启动服务器
      ./hlds_run -game cstrike +maxplayers 20 +map de_dust2 -pingboost 3
      • -pingboost 3: 可以稍微提高网络性能,占用更多 CPU,如果你的 CPU 不够,可以尝试 10
    • 脱离会话: 在 screen 会话中,按下 Ctrl+A,然后按 D,这样你就可以安全地退出 SSH,而服务器会继续在后台运行。

    • 重新连接到会话:

      screen -r csserver

第七步:常见问题与维护

  1. 如何更新服务器?

    • 切换到 hlds 用户 (sudo su - hlds)。
    • 进入 SteamCMD 目录 (cd /opt/cstrike)。
    • 运行 ./steamcmd.sh
    • 在 SteamCMD 中执行:login anonymous -> force_install_dir /opt/cstrike -> app_update 90 validate -> quit
    • 服务器已更新。
  2. 如何添加/更换地图?

    • 下载新的 .zip.bz2 地图包。
    • 解压到 /opt/cstrike/cstrike/maps/ 目录。
    • 确保地图文件名(如 de_mymap.bsp)在 mapcycle.txt 中。
  3. 插件不工作怎么办?

    • 检查 addons/metamod/plugins.ini 是否正确加载了 amxmodx_i386.so
    • 检查 addons/amxmodx/configs/plugins.ini 是否启用了你想要的插件。
    • 查看服务器控制台或日志文件 (cstrike/logs/L_YYYY-MM-DD.log),通常会有插件加载失败的错误信息。
  4. 如何重启服务器?

    • 如果使用 screen,先连接 (screen -r csserver),然后按 Ctrl+C 停止服务器。
    • 然后重新运行启动命令即可。

你可以在你的 CS 1.6 游戏中,通过 "添加服务器" -> "输入服务器 IP:27015" 来连接到你自己的 Linux 服务器了!祝你玩得开心!

分享:
扫描分享到社交APP
上一篇
下一篇