Skip to content

Dedicated Server Test Matrix

github-actions[bot] edited this page Aug 14, 2026 · 41 revisions

专用服务器与多人一致性验证

当前版本:0.9.35-1.20.1 · Capability schema 30 · 内容 schema v4 · 网络协议 13

自动冒烟

python scripts/check_save_rollback.py
python scripts/check_m5_foundation.py
python scripts/run_server_restart_matrix.py --timeout 180

回滚脚本在隔离世界中验证 dry-run、完整恢复、快照后文件清除、恢复前安全备份与路径穿越拒绝。 重启矩阵连续启动 Forge 专用服务器两次,确认 4 个委托、4 条任务链完成加载并进入 Done,随后执行 pm serverchecklistsave-all flush,并严格验证 latest.log 是无替换字符/乱码的 UTF-8;第二次必须保留相同世界种子、schema 30 marker、世界事件、特性来源账本和前哨服务版本。Build 工作流会执行同一检查。

./gradlew check 还会运行 scripts/check_m1_playability.py,核对 120 分钟、9 项核心目标、7 个里程碑、三份 M1 魔药、 十二项保底补给、十个关键命令入口和中英文本地化;M2 合同保护调查板、真假配方、三解、持久队伍恢复、动态案件相关人/受影响者/可视物证/封存样本/证物袋/NPC/报纸交互与旧 13 步索引; 统一门禁保护v0.9设计源、164节点/214关系内容图、485 JSON、2031对双语键、819个静态引用、163模型、156物品/7方块/28实体与全部注册资源;当前基线为476项JUnit、29项真实Forge GameTest,并验证schema30、协议13、M1–M5合同、既有多人/权限/守恒路径、M4组织/封印物、M5两种独立维度/实体生态/共享梦境/逐人恢复,以及跨系统独占活动原子失败。

M2 证据推理与恢复必测项

  • 三案分别从“收集中”推进到“关联中”和“可结论”,完整度与关系只随服务端证据变化。
  • /pm case analyze 在每一步给出唯一下一行动;无案件时不得生成结论。
  • 委托纸只在活动案件且背包缺失时恢复;重复执行不得复制。
  • 真假配方卷宗只在第 2–4 步恢复,恢复后的隐藏真伪必须与原案件一致。
  • 交换玩家卷宗或使用旧/未绑定卷宗必须被服务端拒绝;满背包时委托书、卷宗、证物袋和样本不得掉到公共世界。
  • /pm case recover 必须在真实调查板附近执行,远程请求不得改变背包、进度、余额或奖励。
  • 2–4 人同队和不同队都要核对玩家级卷宗、证据、恢复结果不串档。

详细操作与记录格式见仓库专服矩阵证据关联与案件恢复

动态案件还需逐项记录三日轮换、接案跨日、主世界/下界/末地日程一致、主体/受影响者/可视物证生成、同站点 25 槽布局、跨实例展示物拒绝、现场方块采样、四类样本同步、标签 NPC 证词、报纸档案、调查板补领/费用/压力替代、结案/放弃回收、联系人评级/关系账本、三类响应分支、正确组织 NPC 简报、调查板响应提交、三至四日过期/主动放弃、跨日入队、旧现场清理/重建、错误结论锁定、复议恢复、重启稳定与多队隔离。完整表格见八槽位动态案件轮换

./gradlew runGameTestServer 必须显示29项测试实际运行并全部通过;报告0 tests、仅编译成功、缺少既有M1–M5场景或第29项跨系统原子拒绝都不视为有效门禁。

跨系统状态必测

  • 开测先执行/pm activity;干净玩家必须处于普通世界活动。
  • 梦境大厅中分别尝试灵界进入、序列5仪式、普通远门与秘偶收纳;耐久、SavedData、位置、材料、实体、卷轴、账本、灵性和冷却都不得变化。
  • 普通玩家尝试穿越指向shared_dreamspirit_world的异常远门;服务端必须再次拒绝。
  • 净化仪式主持人死亡、旁观、跨维、离开12格或进入其他独占活动时立即取消并保留材料;短暂离线仍暂停60秒。
  • 完整恢复与管理员排障见M0–M5跨系统安全

M1 连续性

开测先执行 /pm doctor,再用 /pm trial reset/pm trial start 创建干净记录。 stop 只结算在线时长,resume 或再次 start 会恢复保留记录。

测试过程中用 /pm trial report 对照营地 10 分钟、序列 9/8/7 为 30/60/90 分钟、身份/反思/城市生活为 100/110/120 分钟的阶段目标, 并记录首次特殊生物击杀、首次正收益扮演和首次 25 风险峰值。

/pm trial verify 要求:

  • 九项核心目标 9/9:两小时、营地、序列 7、三次狩猎、两次有效扮演、风险峰值、身份绑定、反思和城市生活。
  • 四项连续性 4/4:至少一次重连、一次专服重启、两次维度变化和一次死亡恢复。

机器证据不能替代真实两小时材料、战斗与数值平衡记录。

M2 多人基础

  • 同一原版记分板队伍中的 2–4 名玩家可共享 shared_progress 任务目标并写入持久账本。
  • 记者护送按队伍生成独立实体,夜袭按 UUID 选出唯一在线协调者;波次、记者和路线状态持久化,旧公共记者自动迁移。
  • 不同队伍互不共享;首次超过 max_party=4 时安全降级为单人。
  • 已登记离线成员上线自动追赶,中途加入使用 /pm party sync;每名成员独立结算。
  • 已登记 1–4 人账本后来扩容时原成员继续可玩,新第 5 人保持独立;换队/退队会分叉护送记者并清理旧关系。
  • 正式队伍 GUI、管理员离线改队/队名复用人工矩阵和五途径多人负载矩阵尚未完成。

M2 城市服务

  • 新世界必须生成报社、事务所、警局三座 7×7 建筑;旧前哨幂等升级到 service_version=2,NPC 搬迁且重启不重复。
  • 报社、事务所、巡警共享每日一次工作限制,工资、纸张成本、压力和暴露按当前世界事件精确结算。
  • 暴露始终钳制为 0–100;schema 22→23 迁移保留所有既有案件、联系人和响应字段。
  • 2–4 人并行工作/调查时,余额、背包、风险、暴露和日限按玩家隔离。

M3 序列 6–5

  • 五条途径都必须先在无证明状态拒绝序列 5,再完成对应仪式并通过 7→6→5;精确灵性上限、两层特性账本和仪式证明跨重启保持。
  • 十份坩埚配方逐一测试正确顺序、温度、辅材与跨途径污染。
  • 玩家催眠/束缚/窃取必须拒绝;PvP、Boss、掉落 owner、书本代数、村民每日限次和安全传送全部由服务端重验。
  • 五种仪式逐一覆盖错误途径/序列/消化、缺阵纹、缺环境/材料、普通检查、潜行结算、单人稳定、多人焦点、失败恢复和证明重启。
  • 旅行家远门覆盖未绑定/失效磁石不扣费、越界拒绝、全员独立安全落脚、一至三名主动同行者、未潜行者留在原地、精确费用、指南针保留、乘客冷却和中途失败回滚。
  • 组织门覆盖门主/访客实时声望 8、访客中立拒绝、升至信任后通过、黑名单优先、坏 ID 修复和 NBT 往返。
  • 秘偶覆盖 follow/guard/passive、12 格守卫锚点、权威收纳/跨维部署保持战术、门主离线 NoAI 休眠和玩家友军保护。
  • /pm m3 team 只统计 64 格内同队存活非旁观成员的八类职责,不泄露远处成员姓名或途径。
  • 自动化状态仅为 code_ready;仪式材料/风险手感和四人互补平衡仍需真人记录。

M4 组织与封印物

  • 同一世界同一天的三项行动必须由世界种子、日期和神秘暴露稳定决定;玩家不在线也不改变行动,跨日刷新不覆盖个人存档。
  • 12个组织每周独立选择重点;跳过多日时无人行动逐日追赶,上周成败、本周累计和玩家任务跨重启保持。
  • 前哨三席联络员按晨会、公开接洽与夜间值守换位;重复维护不复制NPC,过期简报拒绝,交互和命令均可接取。
  • 两名玩家可独立接取同一行动;进度、材料、声望、便士、提交与放弃不得串档。
  • 借用必须在前哨 10 格内且对保管组织真实声望至少 8;同一封印物定义只能存在一个活跃实例。
  • 台账必须覆盖责任人/持有人、位置、借期、污染、使用次数、逾期泄漏、换手回收、同/跨玩家复制隔离、稳定、归还和管理员退役。
  • 普通 /pm artifact 只显示本人负责或持有的记录;完整位置账本与滥用退役只允许权限等级 2。
  • 来客面具不得绕过旅行家组织门、领地或其他权限;转运提交不得与直接归还重复发奖。
  • 24/24件封印物都必须验证收益、代价、知识门、借期和对应事故材料;泄漏不得直接归还。高精美术、更多专属建筑和长期真人多人平衡继续使用人工矩阵。

M5 灵界远征

  • 独立维度必须真实加载、保存并重启;五类投影平台需在世界边界内、有坚实地面且无碰撞。
  • 六段导航覆盖正确/错误方向和六种天气;12类遭遇逐一覆盖四种应对,失败保持可恢复。
  • 主动退出、返航符、超时、虚空、死亡、错维与重连都必须返回原锚点或主世界安全出生点;传送失败时保留记录。
  • 2–4人并发使用独立SavedData和相隔640格航线,方向、遭遇、稳定、漂移、奖励与返航点不得串档。
  • 坏档、重复条目、未知状态和极端数值进入孤儿/钳制路径,不能覆盖合法玩家状态。
  • 十二实体需覆盖所有者隔离、右键映射、重连补建、退出清理和无主生成蛋正常清理。
  • 共享梦境需覆盖逐人明确同意、全员接受前不传送/不扣材料、四轮投票、防重复、断线/错维/梦中死亡/退队/权限变化失败关闭、逐人锚点和离线恢复。
  • 当前自动化为476项JUnit与29项真实Forge GameTest;第29项在真实服务器中验证梦境大厅期间灵界、序列5仪式、远门和秘偶操作均原子拒绝,并验证受保护梦境维度不能成为远门目标。专属实体美术、更多途径梦境与真人30分钟多人平衡继续单独记录。

完整场景、网络重放检查和证据模板见 docs/DEDICATED_SERVER_TEST_MATRIX.md

Clone this wiki locally