二七王:把「无超时托管」确认为规则,写入 design §11
服务端四个阶段只下发 countdown、没有任何定时器,此前被本轮核对记 为待办 D3(等规则设计者定义超时默认动作)。规则设计者已确认: **维持现状,不需要超时动作**。 这属于规则本身如此、而非实现缺口。若不固化下来,下一轮核对会再次 把它当缺陷提出、甚至有人去补一套「超时自动出牌」,反而违背规则。 故写进 design.md 作为权威约定: - design §11 新增一条:倒计时只作展示、不触发任何自动操作——不自 动叫分/选主/埋牌/出牌,也不判负、不跳过;轮到谁而谁不操作,牌局 就停在这一步等待。并加醒目说明:这是确认过的规则、不是待实现的 缺口,牌局停住由玩家走房间解散流程收场(按当前累计分结算, §12.2),后续核对不要为它补超时托管。 (解散路径已核实:平台 server_room 侧有 freeroom 解散倒计时,并 回调子游戏 export.get_disbandRoom → get_paiju_account(2) 出解散 结算包,与 §12.2 一致。) - 协议文档新增 0.3「countdown 只是展示用的秒数」:说明服务端无定 时器、归零不做任何事,并要求客户端不得在归零时做乐观界面推进 (原 0.3 顺延为 0.4)。 - 合规 01:D3 由「🟧 中等/未修」改为「✅ 规则如此」,并说明 server dev-guide「服务端自动操作复用真人链路」约束的是「若要做代打就必 须复用真人链路」,本局不做代打故不适用;「尚未处置」小节改为 「无」,11 项全部收口。 - 合规 02:撤掉「仍无自动化覆盖」中的超时项,改为说明不需要超时用 例,并反向标注:若将来有人给服务端加了超时代打,那才是违反 design §11、应由核对拦下。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -43,7 +43,17 @@
|
||||
|
||||
> **例外:`tishi` 成功时不回执**。该包是闲家给对家的主观提示、不含任何对局状态,服务端只转发给对家(design §11),发送者收不到成功包;只有失败才回给发送者。
|
||||
|
||||
### 0.3 断线重连包不在此约定内
|
||||
### 0.3 `countdown` 只是展示用的秒数
|
||||
|
||||
多个包带 `countdown`(叫分 / 选主 / 埋牌 / 出牌倒计时,取自 `class.desk.js` 的四个常量)。它**只供客户端显示提醒,服务端不据此做任何事**:
|
||||
|
||||
- 服务端**没有**对应的定时器,倒计时归零后**不会**自动叫分 / 选主 / 埋牌 / 出牌,也不判负、不跳过该玩家;
|
||||
- 轮到谁而谁不操作,牌局就停在该阶段一直等,`step` 与 `playproc` 都不变;
|
||||
- 这是 design §11 确认过的规则(无超时托管),不是未实现的功能。牌局因此停住时,由玩家走平台的**房间解散**流程收场(平台回调子游戏 `get_disbandRoom` → 解散结算,见 §14)。
|
||||
|
||||
因此**客户端不要在倒计时归零时做任何乐观的界面推进**(不要自行跳阶段、不要清控制权),一切仍以收到服务端推送为准。
|
||||
|
||||
### 0.4 断线重连包不在此约定内
|
||||
|
||||
`deskinfo` 由平台组装在 `pack.data.deskinfo` 下(见文末「断线重连」),`data.success` 由**平台**填写,子游戏不注入。
|
||||
|
||||
@@ -408,7 +418,7 @@
|
||||
|
||||
## 断线重连(deskinfo)
|
||||
|
||||
> 由平台在玩家进入房间/断线重连时回调 `youle_erqiwang.export.get_deskinfo(o_room, seat)` 生成并下发(服务器→客户端);下发的 app/route/rpc 由平台的进房/重连流程决定,不在本子游戏代码内固定。平台把它挂在 `pack.data.deskinfo` 下,**`data.success` 由平台填写、子游戏不注入**(见 0.3)。下列字段即该函数返回的 `deskinfo` 对象结构,按当前 `paiju.step` 只带对应阶段的分组。
|
||||
> 由平台在玩家进入房间/断线重连时回调 `youle_erqiwang.export.get_deskinfo(o_room, seat)` 生成并下发(服务器→客户端);下发的 app/route/rpc 由平台的进房/重连流程决定,不在本子游戏代码内固定。平台把它挂在 `pack.data.deskinfo` 下,**`data.success` 由平台填写、子游戏不注入**(见 0.4)。下列字段即该函数返回的 `deskinfo` 对象结构,按当前 `paiju.step` 只带对应阶段的分组。
|
||||
|
||||
| 参数名 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
|
||||
Reference in New Issue
Block a user