凌峰创科服务平台

CentOS饥荒服务器怎么搭建?

教程概览

  1. 准备工作:购买一台云服务器,并连接到它。
  2. 安装 Docker:在 CentOS 系统上安装 Docker 环境。
  3. 下载饥荒服务器镜像:获取官方的饥荒服务器 Docker 镜像。
  4. 配置服务器:创建世界配置文件,设置游戏参数。
  5. 启动服务器:运行容器,启动饥荒服务器。
  6. 高级配置(可选):配置端口转发、自动更新、Mod 等。
  7. 常用管理命令:如何查看日志、重启、停止服务器。

第一步:准备工作

  1. 购买云服务器

    CentOS饥荒服务器怎么搭建?-图1
    (图片来源网络,侵删)
    • 推荐配置:至少 2核CPU、2GB内存、40GB硬盘,饥荒本身不算吃资源,但为了流畅运行和多世界,建议配置稍高一些。
    • 操作系统:选择 CentOS 7, CentOS 8CentOS 9 (Stream),本教程以 CentOS 7 为例,但步骤在 8/9 上基本通用。
  2. 连接服务器

    • 使用 SSH 工具连接到你的服务器,Windows 用户可以使用 PowerShellPuTTY,macOS 和 Linux 用户可以直接使用终端。
    • 命令格式:ssh root@你的服务器IP地址
    • 输入你的密码登录。

第二步:安装 Docker

Docker 是一个容器化平台,能让我们把饥荒服务器和系统环境隔离开,部署和管理都非常方便。

  1. 更新系统包

    yum update -y
  2. 安装 Docker 依赖

    CentOS饥荒服务器怎么搭建?-图2
    (图片来源网络,侵删)
    yum install -y yum-utils device-mapper-persistent-data lvm2
  3. 添加 Docker 官方 Yum 源

    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  4. 安装 Docker Engine

    yum install docker-ce docker-ce-cli containerd.io -y
  5. 启动 Docker 并设置为开机自启

    systemctl start docker
    systemctl enable docker
  6. 验证 Docker 是否安装成功

    CentOS饥荒服务器怎么搭建?-图3
    (图片来源网络,侵删)
    docker version

    如果看到 Client 和 Server 版本信息,说明安装成功。


第三步:下载饥荒服务器镜像

我们使用 Klei 官方提供的 Docker 镜像,它包含了所有必要的依赖。

# 拉取最新的 Don't Starve Together 服务器镜像
docker pull klei/dontstarvetogether:stable
  • klei/dontstarvetogether 是官方镜像名。
  • stable 代表稳定版,你也可以使用 preview 来获取测试版更新,但可能不稳定。

第四步:配置服务器

这是最关键的一步,我们需要告诉服务器如何生成世界、设置密码等。

  1. 创建配置文件目录 为了方便管理,我们在 /home 目录下创建一个 dst 目录来存放所有配置文件和数据。

    mkdir -p /home/dst
    cd /home/dst
  2. 创建 cluster.ini 文件 这个文件是服务器的核心配置,用于设置服务器名称、密码、游戏模式等。

    vim cluster.ini
    • 如果不熟悉 vim,可以使用 nanonano cluster.ini
    • 按下 i 键进入编辑模式,然后粘贴或输入以下内容,并根据你的需求进行修改:
    # 服务器名称,在游戏内服务器列表显示的名字
    cluster_name = 我的服务器
    # 服务器密码,玩家进入游戏时需要输入
    cluster_password = your_password_here
    # 服务器描述,可以留空
    cluster_description = 一个由 CentOS 搭建的饥荒服务器
    # 游戏模式
    #   - survival: 生存模式 (默认)
    #   - wilderness: 荒野模式 (无Boss,无科技树)
    #   - endless: 无尽模式
    game_mode = survival
    # 是否启用PvP (玩家互殴)
    pvp = false
    # 服务器最大玩家数量
    max_players = 4
    # 是否启用投票踢人功能
    vote_enabled = true
    # 服务器公开,是否显示在官方服务器列表中
    #   - true: 显示,任何人都可以通过服务器名称搜索加入
    #   - false: 不显示,只能通过IP:端口直接加入或使用令牌
    lan_only_cluster = false
    • 编辑完成后
      • vim 中,按 Esc 键,然后输入 wq 并回车,保存并退出。
      • nano 中,按 Ctrl + X,然后按 Y,再回车,保存并退出。
  3. 创建 server.ini 文件 这个文件用于设置特定服务器的配置,比如是创建洞穴世界还是地表世界。

    vim server.ini
    # 这个配置块用于地表世界
    [SHARD]
    shard_enabled = true
    name = Master
    master_ip = 127.0.0.1
    master_port = 10888
    cluster_key = "cluster_key" # 这个值必须和 caves.ini 中的一致
    # 这个配置块用于洞穴世界,如果你不想开洞穴,可以注释掉或删除
    # [SHARD]
    # shard_enabled = true
    # name = Caves
    # master_ip = 127.0.0.1
    # master_port = 10889
    # cluster_key = "cluster_key"
    • name = Master 定义了这是地表世界。
    • name = Caves 定义了这是洞穴世界。
    • cluster_key 必须在所有世界配置文件中保持一致,用于连接地表和洞穴。
  4. 创建 modsmodoverrides.lua 文件(可选,用于安装Mod) 如果你想安装Mod,需要创建这两个文件。

    mkdir mods
    touch modoverrides.lua
    • mods 文件夹:将你下载的Mod文件(.zip)放进去。
    • modoverrides.lua:用于配置Mod的启用/禁用和优先级,暂时为空即可。

第五步:启动服务器

现在万事俱备,我们可以启动服务器了。

  1. 创建启动脚本 为了方便启动和管理,我们创建一个 start.sh 脚本。

    vim start.sh
    #!/bin/bash
    # 设置 DST 服务器数据目录的挂载路径
    # 我们将宿主机的 /home/dst 目录挂载到容器内的 /data 目录
    VOLUME_DIR="/home/dst"
    # 设置服务器要监听的端口
    # 默认情况下,饥荒使用 10999 和 10998 端口
    # 如果你的服务器开启了防火墙,需要放行这些端口
    MASTER_PORT=10999
    CAVES_PORT=10998
    # 启动命令
    # -d: 后台运行容器
    # --name: 给容器一个名字
    # -p: 端口映射 (宿主机端口:容器内端口)
    # -v: 目录挂载 (宿主机目录:容器内目录)
    # --restart=always: 容器退出时自动重启
    docker run -d --name dst_server \
      -p ${MASTER_PORT}:10999/udp \
      -p ${CAVES_PORT}:10998/udp \
      -v ${VOLUME_DIR}:/data \
      --restart=always \
      klei/dontstarvetogether:stable
  2. 给脚本添加执行权限

    chmod +x start.sh
  3. 运行脚本启动服务器

    ./start.sh
  4. 检查服务器是否运行

    docker ps

    如果看到名为 dst_server 的容器在 Up 状态,说明服务器已经成功启动!


第六步:高级配置(可选)

配置防火墙

如果你的云服务商(如阿里云、腾讯云)有安全组,或者你本机开启了防火墙,需要开放饥荒服务器使用的端口。

  • 游戏端口 (UDP)10998 (洞穴), 10999 (地表)
  • Steam 认证端口 (TCP)27015 - 27030 (通常开放这个范围即可)

使用 firewalld (CentOS 7/8/9 默认防火墙)

# 开放端口范围
firewall-cmd --permanent --add-port=10998-10999/udp
firewall-cmd --permanent --add-port=27015-27030/tcp
# 重新加载防火墙使配置生效
firewall-cmd --reload

安装和配置 Mod

  1. 下载 Mod

    • 访问 Steam创意工坊:https://steamcommunity.com/workshop/browse/?appid=322330&requiredtags[]=Don't%20Starve%20Together
    • 找到你想要的Mod,点击“订阅”。
    • 在你的电脑上,打开 Steam 库 -> 右键点击“饥荒:联机版” -> “属性” -> “已安装文件” -> “浏览”,找到 workshop 文件夹。
    • 将 Mod 的 .zip 文件复制到服务器的 /home/dst/mods 目录下。
  2. 配置 modoverrides.lua: 编辑 /home/dst/modoverrides.lua 文件,格式如下:

    return {
      -- workshop-xxxxxxxxxxxxxxxx = { enabled = true },
      -- "workshop-xxxxxxxxxxxxxxxx",
      -- 示例:启用一个Mod
      ["workshop-123456789"] = { enabled = true },
      -- 示例:禁用一个Mod
      -- ["workshop-987654321"] = { enabled = false },
      -- 设置Mod优先级,数字越小优先级越高
      ["workshop-123456789"] = { priority = -1 },
    }

    你需要将 workshop-xxxxxxxxxxxxxxxx 替换成你下载的Mod的ID。

  3. 重启服务器以加载Mod

    docker restart dst_server

自动更新服务器

官方镜像支持自动更新,你可以在启动时添加 UPDATE_ON_START=1 环境变量。

修改你的 start.sh 文件:

#!/bin/bash
VOLUME_DIR="/home/dst"
MASTER_PORT=10999
CAVES_PORT=10998
docker run -d --name dst_server \
  -p ${MASTER_PORT}:10999/udp \
  -p ${CAVES_PORT}:10998/udp \
  -v ${VOLUME_DIR}:/data \
  -e UPDATE_ON_START=1 \  # <--- 添加这一行
  --restart=always \
  klei/dontstarvetogether:stable

然后重新运行 ./start.sh,容器在每次启动时会自动检查并更新到最新版本。


第七步:常用管理命令

  • 查看服务器日志(实时查看,按 Ctrl+C 退出):

    docker logs -f dst_server
  • 进入容器内部(如果需要手动执行命令):

    docker exec -it dst_server /bin/bash
  • 重启服务器

    docker restart dst_server
  • 停止服务器

    docker stop dst_server
  • 删除服务器容器(危险!会删除所有数据,除非你已挂载目录):

    docker rm dst_server

如何连接到你的服务器

  1. 启动游戏,点击“开始游戏”。
  2. 选择“加入游戏”。
  3. 点击“添加服务器”。
  4. 在“服务器名称”中填写你在 cluster.ini 中设置的 cluster_name
  5. 在“服务器地址”中填写你的 服务器IP:10999
  6. 如果你的 lan_only_cluster 设置为 false,服务器会出现在官方列表中,可以直接选择。
  7. 输入你在 cluster.ini 中设置的 cluster_password,即可进入游戏。

恭喜!你已经成功在 CentOS 服务器上搭建了饥荒服务器!享受游戏吧!

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