ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

阿里云ECS搭建饥荒联机版服务器:从选型到开服全攻略

阿里云ECS搭建饥荒联机版服务器:从选型到开服全攻略 1. 为什么选择云服务器而不是本地开服1.1 本地开服和云服务器的真实差距很多人第一次接触《饥荒联机版》Dont Starve Together简称DST开服第一反应是用自己家里的电脑当主机。这个思路本身没错但实际跑起来问题不少。我自己最早也是用一台旧笔记本开服结果遇到几个绕不过去的坎家里宽带的上传带宽通常远小于下载带宽朋友连进来延迟高、掉线频繁电脑一关机世界就没了Windows 防火墙和路由器端口映射对新手来说又是一道门槛。云服务器的优势在这里就体现出来了。它有一个固定的公网 IP上行带宽有保障24 小时不间断运行而且系统环境干净不会跟你本地的软件冲突。阿里云的 ECS弹性计算服务在国内节点延迟低按量付费或者包月都很灵活对于三五好友一起玩饥荒这种场景一台 2 核 4G 的入门配置就完全够用了。这里要澄清一个常见误解饥荒联机版的服务器端Dedicated Server本身非常轻量它不像 Minecraft 那样吃内存。DST 的服务器进程主要消耗的是单核性能和少量内存一个洞穴Cave加一个地面世界Master两个进程加起来稳定运行时内存占用通常在 1.5G 到 2.5G 之间。所以选服务器的时候单核主频比核心数量更重要这一点后面选型时会详细说。1.2 阿里云 ECS 的选型逻辑与配置建议选阿里云 ECS 的时候有几个参数需要重点考虑。我把常见的几个维度整理成表格方便对照配置项推荐值说明实例规格通用型 g7 或计算型 c7计算型单核主频更高更适合 DSTvCPU2 核地面 洞穴各占一个进程2 核刚好内存4 GB双进程稳定运行有余量2G 会紧张系统盘40 GB ESSD系统和存档占用不大40G 足够带宽按量付费 5 Mbps 起按实际流量计费人少时成本很低操作系统Ubuntu 22.04 LTS 64 位长期支持版本社区资料最全关于带宽这里有个经验值DST 每个玩家大约需要 30 到 50 Kbps 的上行带宽听起来很小对吧但这是平均值实际在玩家移动、战斗、大量实体加载时会有突发流量。5 Mbps 上行带宽支撑 6 到 8 个玩家是比较稳妥的。如果你只是两三个人玩3 Mbps 也够但建议留点余量。还有一个容易被忽略的点地域选择。阿里云的地域Region决定了服务器的物理位置直接影响延迟。原则是选离你和朋友都近的地域。如果大家都在同一个省份选最近的地域即可如果分散在全国选一个地理中心位置的地域比如华东或华中。延迟在 50ms 以内体验就很好了超过 100ms 会有明显的操作延迟感。提示购买时如果拿不准配置可以先按量付费开一台低配的测试跑起来看实际资源占用再决定是否升级或转包月。按量付费随时可以释放试错成本很低。1.3 安全组规则的设置要点阿里云 ECS 默认的安全组只开放了 22 端口SSH饥荒联机版需要额外开放端口。DST 默认使用 UDP 协议端口号是 10999地面世界和 11000洞穴世界另外还有一个 Steam 查询端口 27016UDP。在阿里云控制台的「安全组」配置里添加入方向规则协议类型自定义 UDP端口范围10999/11000授权对象0.0.0.0/0如果只想让特定朋友连可以填他们的公网 IP协议类型自定义 UDP端口范围27016/27016授权对象0.0.0.0/0这里有个坑要提醒很多人只开了 TCP 端口结果连不上。饥荒联机版的游戏流量走的是 UDP不是 TCP。Steam 的服务器列表查询也走 UDP。所以安全组里一定要选 UDP 协议。如果你不确定可以 TCP 和 UDP 都开一份但 UDP 是必须的。另外如果你后续想用一些管理面板比如通过 Web 界面查看服务器状态可能还需要开放 TCP 端口但纯游戏联机只需要 UDP 就够了。安全组的原则是「最小开放」不需要的端口不要开减少被扫描的风险。2. Ubuntu 系统环境的准备与依赖安装2.1 连接服务器与基础环境检查买好 ECS 之后你会拿到一个公网 IP、一个用户名通常是 root 或 ubuntu和密码或者密钥对。用 SSH 工具连上去Windows 用户可以用 PowerShell 自带的 ssh 命令也可以用 Xshell、PuTTY 这类工具。连接命令长这样ssh root你的公网IP第一次连接会提示确认指纹输入 yes 即可。连上之后先做几件基础检查# 查看系统版本 lsb_release -a # 查看 CPU 核心数和主频 lscpu | grep -E Model name|CPU\(s\) # 查看内存 free -h # 查看磁盘空间 df -h确认系统是 Ubuntu 22.04 或 20.04内存有 4G 左右磁盘有足够空间。如果系统版本不对可以在阿里云控制台重装系统选择 Ubuntu 22.04 LTS。接下来更新系统软件包这一步很重要能避免很多依赖问题apt update apt upgrade -yapt update是刷新软件源索引apt upgrade是升级已安装的软件包。这两个命令在 Ubuntu 上是最基础的维护操作建议养成习惯装任何新软件之前先跑一遍。2.2 安装 SteamCMD 及其依赖库SteamCMD 是 Valve 官方提供的命令行版 Steam 客户端专门用来下载和更新游戏服务器端文件。饥荒联机版的服务器端就是通过 SteamCMD 下载的。在 Ubuntu 上安装 SteamCMD需要先启用 32 位架构支持因为 SteamCMD 本身是 32 位的# 启用 32 位架构 dpkg --add-architecture i386 # 更新软件源 apt update # 安装 SteamCMD 及依赖 apt install -y steamcmd如果apt install steamcmd提示找不到包说明你的软件源里没有 multiverse 仓库。Ubuntu 的软件源分为 main、universe、restricted、multiverse 几个部分SteamCMD 在 multiverse 里。需要先启用add-apt-repository multiverse apt update apt install -y steamcmd安装完成后验证一下steamcmd如果看到Steam提示符说明安装成功。输入quit退出。这里有个实操经验SteamCMD 第一次运行时会自动更新自己这个过程可能需要几分钟取决于网络状况。如果卡在某个进度不动可以按 CtrlC 中断重新运行。有时候是 Valve 的服务器在维护换个时间段再试就好。2.3 创建专用用户与目录规划直接用 root 用户跑游戏服务器不是好习惯一是安全风险二是 SteamCMD 在 root 下运行有时会有权限警告。建议创建一个专用用户# 创建用户 useradd -m -s /bin/bash steam # 设置密码 passwd steam-m表示同时创建家目录-s /bin/bash指定默认 shell。创建好之后切换到该用户su - steam接下来规划目录结构。我习惯把服务器文件放在~/dst_server下结构如下/home/steam/dst_server/ ├── server_files/ # 游戏服务器端文件SteamCMD 下载 ├── config/ # 配置文件世界设置、管理员列表等 │ ├── Master/ # 地面世界配置 │ └── Caves/ # 洞穴世界配置 └── mods/ # 模组文件先创建这些目录mkdir -p ~/dst_server/server_files mkdir -p ~/dst_server/config/Master mkdir -p ~/dst_server/config/Caves mkdir -p ~/dst_server/mods目录规划看起来是小事但后面配置路径的时候会频繁用到。提前规划好配置文件里写路径的时候不容易出错。特别是 Master 和 Caves 两个世界的配置要分开存放因为它们的端口、存档目录、世界设置都不一样。3. 下载与配置饥荒联机版服务器端3.1 用 SteamCMD 下载服务器端文件饥荒联机版的服务器端在 Steam 上的应用 ID 是 343050。用 SteamCMD 下载steamcmd force_install_dir /home/steam/dst_server/server_files login anonymous app_update 343050 validate quit这条命令拆解一下force_install_dir指定安装目录login anonymous以匿名方式登录下载服务器端不需要账号app_update 343050更新指定应用validate校验文件完整性quit完成后退出下载过程可能需要几分钟到十几分钟取决于网络。如果中途断了重新跑一遍命令即可SteamCMD 支持断点续传。下载完成后检查一下关键文件是否存在ls ~/dst_server/server_files/bin/应该能看到dontstarve_dedicated_server_nullrenderer这个可执行文件这就是服务器的主程序。注意饥荒服务器端依赖一些 32 位的运行库。如果启动时报错找不到libcurl-gnutls.so.4或类似的库需要安装对应的 32 位库。Ubuntu 22.04 上通常需要apt install -y lib32gcc-s1 lib32stdc6 libcurl4-gnutls-dev:i3863.2 生成世界配置与令牌获取饥荒联机版的服务器需要一个「集群令牌」Cluster Token这是用来验证服务器身份、关联到你的 Steam 账号的。获取方式打开 Steam 客户端进入饥荒联机版游戏在主菜单点击「账户」或「Account」找到「游戏服务器」或「Game Server」选项点击「添加新服务器」会生成一串令牌复制这串令牌后面配置要用令牌是一长串字符类似 pds-g^KU_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
返回列表