feat(playable): 首个 Mac 联网内测版 STB-01 soak 工具与发布状态文档
- 新增 script/playable_soak.sh:先做 soak 配置/资源校验,无 --allow-gameplay 只校验不启动客户端;N(>=10) 次独立正常退出运行 + 墙钟 soak,失败即停止后续 运行并记 BLOCKED;写本批次 release-manifest.json 后聚合 - run_client_gate.sh:确认的故障代理对所有 suite 启动(共享场景的退出运行也经代理); soak 超时下限只约束 soak 客户端(validate_soak 增加 soak_client 参数) - 新增本地 127.0.0.1 故障代理、RSS 采样/内存判定、窗口/指标/流程模块及其测试 - forest_mob_render_test 输出 PASS/FAIL 标记,供 rendering_batch_test.sh 识别 - 新增 docs/FIRST-MAC-PLAYABLE-STATUS.md:如实记录 PASS/BLOCKED、已知问题与环境需求 - .gitignore 排除本地场景配置、凭据文件与运行输出 离线回归:rendering_batch_test.sh failures=0,playable_gate_test.sh PASS, node 夹具测试 PASS。未联网运行,未重建候选包。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ft3kXpNdLbKEfg5uDLfqVF
This commit is contained in:
@@ -4,7 +4,11 @@
|
||||
"protocol": "classic",
|
||||
"server": {
|
||||
"server_index": 0,
|
||||
"channel_index": 0
|
||||
"channel": 1,
|
||||
"auth_host": "",
|
||||
"auth_port": 0,
|
||||
"game_host": "",
|
||||
"game_port": 0
|
||||
},
|
||||
"character_slot": 0,
|
||||
"map_key": "",
|
||||
@@ -14,6 +18,26 @@
|
||||
"skill_cases": [],
|
||||
"resolution": [1280, 720],
|
||||
"loops": 3,
|
||||
"timeout_seconds": 120,
|
||||
"notes": "Copy to a local ignored file and fill from the confirmed server fixture. Never add credentials here."
|
||||
"timeout_seconds": 900,
|
||||
"soak": {
|
||||
"duration_seconds": 7200,
|
||||
"rest_seconds": 30,
|
||||
"warmup_rounds": 1,
|
||||
"min_rounds": 10,
|
||||
"reconnects": 10,
|
||||
"exits": 10,
|
||||
"resolutions": {
|
||||
"sizes": [[1280, 720], [1440, 900], [1600, 1000]],
|
||||
"switches_per_size": 10
|
||||
},
|
||||
"warp": {
|
||||
"status": "unconfirmed",
|
||||
"notes": "Set status=confirmed only after the environment owner verifies a legal portal: required (even, >=20 out-and-back legs), portal_cm, destination_map_key, return_portal_cm, cross_server."
|
||||
},
|
||||
"faults": {
|
||||
"status": "unconfirmed",
|
||||
"notes": "Set status=confirmed only with a confirmed 127.0.0.1 test proxy (mode local_proxy, per_type, unreachable_seconds 1..20, upstream {auth_host,auth_port,game_host,game_port} = the real test server). server.* and the serverlist entry must then be 127.0.0.1 proxy ports; script/run_client_gate.sh starts script/playable_fault_proxy.mjs for this client only. A server warp that hands out a direct game address bypasses the proxy. Never change global routes or firewall; active reconnect is not a substitute."
|
||||
}
|
||||
},
|
||||
"notes": "Copy to test/playable/<name>.local.json (ignored) and fill from the confirmed server fixture: server.* must equal the serverinfo entry for server_index/channel; map_key is the asset directory holding Setting.txt; waypoints are server cm. Never add credentials here. The soak suite (STB-01) additionally needs timeout_seconds >= soak.duration_seconds + 900."
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user