属于大家的
VPS知识分享站

七日杀服务器搭建教程:Linux、SteamCMD、端口与存档

七日杀服务器搭建的目标,不只是让一个进程显示“正在运行”,而是让固定队伍或社区拥有一个持续在线、版本一致、权限可控、能够正常保存并且可以恢复的世界。Linux原生专用服务端应通过SteamCMD安装App ID 294420;配置必须从当次下载包的 serverconfig.xml 模板开始,不能把旧教程中的整份XML直接覆盖到新版本。

本文核对了2026年8月2日Steam public分支的Linux 64位Depot 294422,Manifest ID为 2089214172134382404,并从同一当前包读取 serverconfig.xmlstartserver.sh 与App信息。本轮没有完成17.6GB服务端的完整下载,也没有启动世界、读取实际监听或恢复存档;这些项目会明确保留为正式上线验收项,不会写成本轮已经通过。

先看结论:七日杀开服最容易做错什么

  1. 用过时教程的配置文件覆盖当前模板,导致字段失效或产生新存档目录;
  2. 只开放26900单一协议,却没有根据当前启动日志核对实际TCP/UDP监听;
  3. 把程序目录当作唯一备份对象,遗漏 UserDataFolder 中的世界、存档和权限数据;
  4. 直接暴露Telnet或Web Dashboard,甚至保留空口令;
  5. 更新前没有停服、版本记录和恢复点,更新后才发现模组或旧世界不兼容;
  6. 按“玩家人数”机械购买配置,没有测试血月、分散探索、地图生成和模组带来的峰值。

一套可交付的七日杀服务器,至少要通过“安装、配置、世界加载、真实监听、正常停止、备份、全新目录恢复”这条链路。本文负责给出当前配置依据和验收方法;世界运行、玩家公网连接、血月压力与模组兼容必须在目标VPS和真实客户端上执行。

哪些情况值得使用七日杀专用服务器

业务需求 更合适的方式 原因
几名朋友只在房主在线时游玩 玩家电脑开档 成本低,但房主退出或断网后世界不可用
队友跨时区、希望随时进入同一个世界 24小时专用服务器 世界与房主电脑解耦,可统一维护和备份
建立公开社区、会员服或活动服 专用服务器 便于管理权限、日志、封禁、版本与维护窗口
家庭网络没有公网IP或无法稳定映射端口 带公网IPv4的VPS 减少家庭NAT、断电和上行带宽限制
大型地图、较多模组或长期世界 独立服务器并持续监控 需要控制CPU峰值、内存、SSD增长与备份窗口

服务器解决的是持续在线和可运维问题,不会自动解决社区规则、管理员排班、模组兼容或玩家跨地域延迟。开服前要先明确主要玩家地域、预计在线时段、地图类型、模组清单、是否公开以及允许的停服窗口。

七日杀服务器需要多少CPU和内存

下面是购买与压测的起点,不是人数保证。七日杀世界模拟、实体AI、血月、多人分散探索和随机地图生成都会制造峰值;同样人数在不同地图和模组下可能有明显差异。

场景 建议测试起点 重点观察
2–4人、Navezgane或小型预生成地图、原版规则 4核、8GB内存、SSD 启动峰值、探索加载、世界保存和晚高峰网络
5–12人、长期世界、少量管理模组 4核、12–16GB内存、SSD 血月、玩家分散、单核占用、内存和存档增长
大地图、实体或内容模组、公开社区 6核、16–32GB内存起测 单核性能、GC停顿、实体数量、模组错误和备份时间

不要把本地空载内存截图当作生产配置依据。正确方法是在自己的地图中安排真实玩家分散探索,再覆盖一次血月或等价高负载场景,记录CPU单核、内存、磁盘延迟、网络抖动和服务端日志。如果高峰时主模拟线程已满,单纯增加带宽通常不能解决卡顿。

开始前要准备什么

  • 64位Linux服务器、公网IPv4、SSH管理权限和SSD;
  • 独立普通用户,例如 7dtd,游戏进程不长期使用root;
  • 程序目录,例如 /opt/7dtd
  • 独立持久化目录,例如 /srv/7dtd-data
  • SteamCMD和足够的临时磁盘空间;
  • 房间名称、强密码、地图、人数、公开或私有策略;
  • 云安全组、系统防火墙权限和服务器外部备份位置;
  • 用于最终验收的另一条互联网连接和当前版本游戏客户端。

本轮Manifest显示Linux 64位内容落盘约17.6GB,但正式规划不能只预留这一点空间。程序更新需要临时空间,世界、日志、模组和多代备份也会持续增长。程序目录与持久数据分开,才能在更新、迁移和恢复时清楚区分“可重新下载的程序”和“不能丢失的业务数据”。

怎样用SteamCMD安装七日杀服务端

在Debian或Ubuntu上安装SteamCMD所需依赖后,以专用普通用户运行:

steamcmd \
  +force_install_dir /opt/7dtd \
  +login anonymous \
  +app_update 294420 validate \
  +quit

294420 是7 Days to Die Dedicated Server的App ID。安装后至少确认以下文件来自当前下载包:

/opt/7dtd/7DaysToDieServer.x86_64
/opt/7dtd/serverconfig.xml
/opt/7dtd/startserver.sh
/opt/7dtd/steam_appid.txt

当前官方 startserver.sh 会检查 -configfile 参数、设置程序目录到 LD_LIBRARY_PATH,然后用 -quit -batchmode -nographics -dedicated 启动Linux原生二进制。生产环境可复用该逻辑交给systemd管理,但不要把Windows、Wine或Mono教程与当前Linux原生包混用。

为什么必须从当前serverconfig.xml开始

七日杀更新可能新增、删除或重命名字段。2026年8月2日下载的当前模板中,持久数据路径覆盖字段是注释状态的 UserDataFolder;一些旧教程所写的 SaveGameFolder 并不是这份模板中的活动字段。

正确流程是:

  1. 保存当前原始模板副本;
  2. 复制一份作为生产配置,只修改自己理解的必要字段;
  3. xmllint --noout serverconfig.xml 检查XML结构;
  4. 启动后检查日志中的配置、未知字段和回退值;
  5. 每次大版本更新后重新比较新旧模板,而不是沿用多年不变的整份文件。

XML属性中的 &、引号和尖括号需要正确转义。配置文件含房间口令和管理设置,应限制为服务用户和管理员可读,不能上传到公开仓库。

首次开服应该修改哪些配置

以下示例基于本轮当前模板,但示例密码不能直接用于生产:

<property name="ServerName" value="My 7D2D Server"/>
<property name="ServerDescription" value="Private survival world"/>
<property name="ServerPassword" value="replace-with-a-strong-password"/>
<property name="Region" value="Asia"/>
<property name="Language" value="Chinese"/>
<property name="ServerPort" value="26900"/>
<property name="ServerVisibility" value="0"/>
<property name="ServerMaxPlayerCount" value="8"/>
<property name="UserDataFolder" value="/srv/7dtd-data"/>
<property name="GameWorld" value="Navezgane"/>
<property name="GameName" value="MyPersistentWorld"/>
<property name="TelnetEnabled" value="false"/>
<property name="WebDashboardEnabled" value="false"/>
<property name="EACEnabled" value="true"/>

本轮当前模板中,ServerVisibility=2 表示公开、1 表示仅好友可见、0 表示不列出。首次验收建议使用 0 并设置强密码,确认连接、存档和权限以后再决定是否公开。

需要特别注意的是,当前模板的 TelnetEnabled 默认值为 true;当口令为空时,注释说明它只接受回环地址连接,但生产上仍建议在不用时显式设为 false。Web Dashboard同理:没有明确管理需求就关闭,必须使用时只允许VPN或固定管理来源,并设置独立强凭据。

UserDataFolder、GameWorld和GameName是什么关系

UserDataFolder 决定世界、存档和管理文件的持久化根目录。当前模板说明 AdminFileName 相对于 UserDataFolder/Saves。把这个目录独立出来,是后续备份和迁移的关键。

GameWorld 选择地图来源,例如:

地图方式 适合场景 运维影响
Navezgane 新手、固定官方地图、快速验收 无需首次随机生成,资料较多
Pregen... 预生成地图 希望快速开服又需要更大世界 先确认名称与当前包一致
RWG 随机世界 长期社区和独特地图 首次生成耗时更长,CPU、内存、磁盘峰值更高

当前模板列出的官方随机世界尺寸为6144、8192和10240,且必须是2048的倍数。不要因为“地图越大越好”就直接选择最大值;小队伍使用超大地图会增加生成、探索、存储和恢复成本。

GameName 会影响存档名称和装饰放置种子。改变 GameNameGameWorld 或持久化路径后,服务端可能创建新的保存目录,表面上看起来像“存档丢失”。因此,这三个值要进入运维记录,恢复时也必须保持一致。

七日杀玩家通过云安全组连接Linux专用服务器并将配置与UserDataFolder分离的搭建架构

七日杀26900端口到底要开放哪些协议

不能只抄一张固定端口表。以 ServerPort=26900 为例,当前模板说明基础端口应保持在26900–26905或27015–27020范围,以支持同一局域网发现;当前版本还可能使用相邻端口和平台网络服务。

本轮没有启动完整服务端,因此没有实际监听结果。文章不直接给出一张声称适用于所有版本的TCP/UDP放行表;部署时应以当次包内模板、启动日志和 ss -lntup 三者为准,再从另一条互联网连接验证。这样可以避免把旧版本、局域网发现端口或管理端口误当成当前玩家端口。

正式服务器要按以下顺序核对:

  1. 查看当前 serverconfig.xml 与启动日志;
  2. ss -lntup 读取进程真实监听;
  3. 仅把玩家需要的TCP/UDP端口加入系统防火墙;
  4. 在云安全组配置相同协议和端口;
  5. 从另一条互联网连接实测,不用服务器本机回环结果代替公网验收;
  6. Telnet、Web Dashboard、数据库或其他管理端口不向全网开放。

只开放安全组、不开放系统防火墙,或者反过来,都会导致连接超时。也不要为了排障长期开放0–65535;临时扩大规则后必须收回并记录真实需要的最小范围。

怎样首次启动七日杀Linux服务端

当前包提供启动脚本。直接执行原生二进制的等价结构如下:

cd /opt/7dtd
mkdir -p /var/log/7dtd

export LD_LIBRARY_PATH=/opt/7dtd

./7DaysToDieServer.x86_64 \
  -logfile /var/log/7dtd/server.log \
  -quit \
  -batchmode \
  -nographics \
  -dedicated \
  -configfile=/etc/7dtd/serverconfig.xml

不要只看进程是否存在。首次启动至少要确认:

  • 日志中的精确版本和构建号;
  • 配置文件被正确读取,没有未知字段或XML错误;
  • 目标世界完成加载,不再处于初始化或随机生成阶段;
  • 真实监听与防火墙规划一致;
  • UserDataFolder 出现了预期的世界与存档目录;
  • 正常停止后数据落盘,重启没有创建另一个世界。

生产环境可使用systemd设置专用用户、工作目录、文件句柄、正常停止超时和有限重启策略。不要配置每秒无限重启,否则配置错误、模组崩溃或磁盘写满时会快速刷满日志并掩盖根因。

本轮核对了什么,哪些还没有验证

证据ID为 G003-7DTD-MANIFEST-001。本轮已经核对的Steam内容信息如下:

  • App ID:294420;
  • Linux 64位Depot:294422;
  • public分支Manifest:2089214172134382404;
  • Manifest时间:2026-07-28 17:28:12;
  • 文件数:17,624;
  • 落盘内容:17,607,302,336字节;
  • 压缩内容:14,354,128,448字节;
  • 下载工具:标准生产命令仍为Valve SteamCMD;本地Apple Silicon因32位SteamCMD兼容问题,改用SteamRE DepotDownloader v3.4.0读取同一Steam Depot;
  • 当前文件:从同一Manifest单独取得并核对 serverconfig.xmlstartserver.shsteam_appid.txt
  • 配置验证:原始与测试XML均通过 xmllint,启动脚本明确检查 -configfile、设置 LD_LIBRARY_PATH 并调用Linux x86_64二进制。

完整内容下载在约42%时主动停止,原因是内容生产方法调整为按风险选择最低充分证据,不再为每篇文章完整部署大型游戏。本地遗留的约6.9GB不完整目录不属于可运行服务端,也不能用于版本、端口、世界或恢复结论。

因此,本轮没有验证:精确启动版本、世界加载、TCP/UDP实际监听、UserDataFolder落盘、正常停服、备份恢复、真实玩家公网连接、密码、EAC、角色背包、血月或萤光云节点性能。正文的命令与清单是基于当前Manifest和配置模板制定的实施方法,不是运行通过记录。

玩家首次进服要怎样验收

即使本机监听已经通过,也不等于完整连接验收。正式开放前,至少使用当前版本客户端和另一条互联网连接完成:

  1. 使用公网IP和正确端口加入,不只依赖服务器列表;
  2. 普通玩家验证密码、公开或私有策略和EAC;
  3. 进入世界、探索新区块、放置物品并等待一次保存;
  4. 让第二名玩家加入,验证角色和权限不会互相混淆;
  5. 正常停服和重启,确认人物、背包、建筑和世界状态保留;
  6. 从独立恢复环境再次进服,确认恢复点可用;
  7. 在目标玩家晚高峰覆盖延迟、抖动、丢包和一次高负载玩法。

“能在列表看见”不等于附加UDP、版本、模组和存档都正确;“Ping很低”也不代表血月和多人分散探索时服务器不会卡顿。

serveradmin.xml和管理员权限怎么设置

当前模板的 AdminFileName 默认是 serveradmin.xml,位置相对于 UserDataFolder/Saves。权限设计应遵循最小授权:

  • 日常游玩账号不直接使用最高管理权限;
  • 管理员按平台标识准确添加,不按昵称猜测;
  • 公开服先测试踢出、封禁、白名单和日志留存;
  • 权限文件、房间密码和远程管理凭据不随模组包公开;
  • 离职或退出运营的管理员要及时撤销权限;
  • 远程管理只通过VPN、固定来源或受控跳板,不向全网开放。

如果使用Telnet或Web Dashboard,还要单独记录访问来源、认证、TLS、失败登录、日志保留和紧急关闭方式。没有这些需求时,关闭比“先开着以后再说”更安全。

七日杀模组怎样上线才可回退

模组服的风险不在“文件能不能复制进去”,而在服务端版本、客户端依赖、存档写入和回退组合是否一致。建议:

  1. 记录模组名称、版本、来源、依赖和校验值;
  2. 明确是否要求玩家客户端安装相同内容;
  3. 在复制的测试存档一次增加少量模组;
  4. 检查服务端和客户端日志,让新旧角色都完成关键动作;
  5. 核对EAC要求;如需关闭EAC,向玩家说明安全影响;
  6. 停服备份后再同步到正式服;
  7. 保留“服务端版本+配置+模组+存档”成套恢复点。

大型内容、地图生成和实体AI模组的资源影响,通常远大于界面或管理模组。不能按模组数量机械增加内存,也不能只验证服务端启动而不让客户端进入。

七日杀服务端版本、配置、模组与存档成套更新备份和回退的运维流程

七日杀服务器应该备份哪些内容

当前模板使用 UserDataFolder 统一保存用户数据。备份前先通知玩家,通过当前版本支持的正常方式保存并关闭服务端,确认进程退出后再归档,至少包含:

  • 完整 UserDataFolder,包括世界、存档、玩家与管理数据;
  • 正在使用的 serverconfig.xmlserveradmin.xml
  • Mods/ 及模组版本、来源和校验清单;
  • Steam App、Depot、Manifest或服务端版本记录;
  • 启动命令、systemd单元和必要环境配置;
  • 最近几次启动、崩溃与恢复日志。

备份要保留多个时间点,并至少有一份位于服务器之外。整机快照适合快速回滚,但不能替代应用级归档;如果快照发生在进程持续写入时,还要考虑一致性。

恢复演练不能只检查压缩包能解压。要在新的数据目录或新服务器中启动同一版本,确认加载原 GameName 和世界而不是新建,再用客户端检查人物、背包、建筑、权限和再次保存。

七日杀服务器怎样安全更新

steamcmd \
  +force_install_dir /opt/7dtd \
  +login anonymous \
  +app_update 294420 validate \
  +quit

这条命令不应在玩家仍在线写入时直接执行。安全更新流程是:

  1. 阅读The Fun Pimps当前版本公告,确认旧世界、工作站队列、模组和配置变化;
  2. 通知玩家并进入维护窗口;
  3. 正常保存和停服;
  4. 备份数据、配置、权限、模组与当前版本信息;
  5. 更新程序并保存新的Manifest或构建号;
  6. 比较新旧 serverconfig.xml 模板,只迁移必要自定义项;
  7. 用测试副本验证世界、权限、EAC、模组、端口和保存;
  8. 通过后再恢复正式访问,失败则从完整恢复点回退。

2025年12月18日官方V2.5 Survival Revival Stable公告曾明确给出旧工作站制作队列与新世界建议。这说明大版本更新不能只看“进程启动了没有”,而要阅读该次更新说明并验证实际业务数据。

监控哪些指标才能发现服务器开始卡顿

建议至少保留以下指标与日志:

  • 每个CPU核心使用率,而不只看总CPU平均值;
  • 进程常驻内存、交换分区和OOM记录;
  • 数据盘剩余空间、I/O等待、延迟和增长速度;
  • 服务端帧率或tick相关日志、实体数量和长时间停顿;
  • 连接数、入出带宽、丢包和玩家高峰时段;
  • 世界保存耗时、备份耗时和最近一次恢复演练时间;
  • 崩溃、模组异常、XML错误与重复重启次数。

告警要能触发具体动作。例如磁盘低于20%时清理过期日志并扩容,连续崩溃时停止自动重启并保留现场,而不是让服务无限循环覆盖证据。

常见故障怎样排查

现象 优先检查 常见原因
服务端启动即退出 日志、XML、文件权限、动态库和磁盘 配置格式错误、运行用户无权写入或包不完整
外网连接超时 真实监听、TCP/UDP、安全组和系统防火墙 只开单一协议、端口沿用旧教程或进程未完成加载
列表可见但无法进入 客户端版本、密码、EAC、模组和附加UDP 客户端不一致或平台网络配置不匹配
重启后出现新世界 UserDataFolderGameWorldGameName 配置变化导致新建保存目录
血月时严重卡顿 单核CPU、实体、模组、磁盘和日志 模拟线程满载,不一定是带宽不足
更新后模组报错 模组版本、依赖、EAC和服务端日志 模组未适配当前大版本
磁盘快速增长 世界、日志、备份保留和崩溃循环 备份未轮换或无限重启刷日志
恢复后还是空世界 恢复路径、版本、GameName和文件属主 数据放错目录或配置指向了新路径

排障时先保留日志和当前配置副本,再进行单变量修改。删除存档、全量重装或同时更换版本与模组,会让根因更难定位。

怎样按玩家位置选择服务器地域

服务器地域首先跟着主要玩家,而不是跟着运营者。把玩家按国家和运营商分组,选2–3个候选节点,让主要玩家在白天和晚高峰分别测试延迟、抖动、丢包和路由。游戏服更怕持续抖动和丢包,不能只比较一次Ping平均值。

如果玩家集中在中国大陆、东南亚、日本或北美,不同线路可能得到完全不同的体验。跨洲玩家无法同时获得最低延迟时,要明确主服务区,必要时拆分多个社区服,而不是承诺一个节点覆盖全球。

购买前还要确认:公网IPv4、UDP策略、DDoS处理方式、可扩容磁盘、备份位置、峰值带宽和退款规则。可在萤光云VPS地域与配置页查看实时可售节点,再根据自己的地图和玩家高峰做验证。

正式开放前检查清单

  1. 使用SteamCMD App ID 294420的当前Linux原生专用服务端;
  2. 保存当前原始 serverconfig.xml,没有覆盖旧版整份配置;
  3. 程序与 UserDataFolder 分离,属主和权限正确;
  4. GameWorldGameName、版本和模组组合已经记录;
  5. XML检查和服务端启动日志无关键错误;
  6. 真实监听、系统防火墙和云安全组一致;
  7. Telnet与Web Dashboard已关闭或只允许安全管理网络;
  8. 当前客户端从另一网络完成公网加入、保存和重启验证;
  9. 完成一次停止写入、服务器外备份和全新目录恢复;
  10. 血月或等价高负载场景达到可接受的CPU、内存、磁盘与网络水平;
  11. 更新、模组回退、管理员撤权和磁盘告警都有负责人;
  12. 没有把示例密码、平台令牌或服务器私钥写进公开文件。

常见问题

七日杀服务器一定要用Windows吗

不需要。当前Steam专用服务器包包含Linux x86_64原生二进制 7DaysToDieServer.x86_64,标准安装方式是SteamCMD下载App ID 294420。不要把旧版Wine或Mono教程与当前包混用。

为什么我修改配置后出现了一个新世界

优先比较 UserDataFolderGameWorldGameName。路径或名称变化可能让服务端创建新的保存目录。先停止写入并备份现有目录,不要在不清楚路径时删除所谓“空存档”。

26900只开放UDP可以吗

不能用固定答案代替当前验证。查看当前模板、启动日志和 ss -lntup,再按实际监听配置TCP/UDP、安全组与系统防火墙,并从另一网络测试。不要只靠端口网站检查UDP游戏流程。

Telnet为什么建议显式关闭

本轮当前模板中Telnet默认启用;当口令为空时仅允许回环连接。无远程管理需求时仍应显式关闭,避免后续配置、端口转发或版本变化扩大暴露面。需要时只允许VPN或固定来源并使用独立强凭据。

七日杀服务器备份只复制Saves目录够吗

不建议只凭目录名猜。以当前 UserDataFolder 为根归档世界、玩家、权限和相关数据,同时保存配置、模组、版本和启动方式。恢复后必须在新目录启动并用客户端验证。

4核8G能带多少人

本文不提供固定人数保证。4核8G可作为少人数、原版小地图的测试起点,但CPU型号、地图、实体、模组、玩家分散程度和血月都会改变结果。购买后要用真实高峰场景观察单核、内存和磁盘。

资料来源

相关推荐

准备购买时,不要只提交“七日杀几个人玩”。同时提供主要玩家地域、地图类型、预计同时在线、模组类型、是否公开和备份保留周期,才能把地域、CPU、内存、SSD与网络缩小到可测试的范围。

赞(0)
未经允许不得转载:VPS知识分享站 » 七日杀服务器搭建教程:Linux、SteamCMD、端口与存档