平台限制与接入清单
平台限制汇总
| 项 | 限制 |
|---|---|
| 游戏逻辑 bundle | ≤ 512 KiB,UTF-8,禁用 eval、动态 import、require、process.env、this.constructor |
| 前端包 | zip ≤ 25 MB,解压 ≤ 75 MB,≤ 2000 文件,根目录含 index.html |
| 单次脚本回调 | ≤ 2 秒,超时会话进入 error 终态 |
| WS 单帧 | ≤ 64 KiB |
| WS 票据 | 单次有效,30 秒过期 |
| 金额 | 64 位整数金币,必须大于 0 |
| 回合提交 | 提交超时 15 秒,整回合原子,失败全回滚 |
| 未揭示公平种子 | 每引擎 64 个,先进先出 |
| 对局回放 | 每回合 ≤ 500 条广播事件 |
| 对局结果上报 | recordResult 每回合 ≤ 64 条,同一玩家重复登记以后一次为准 |
| 会话存活 | 最长 2 小时 |
| 离席判定 | 正常断开即时,异常断开最迟 2 分钟 |
| 广播、状态与定时器 | 无硬性配额。建议控制广播频率与快照体积,定时器在钩子内用完即清 |
接入清单
按接入阶段自查,全部勾完即可提审。
入驻与创建
- 开发商账号注册完成并通过平台激活
- 游戏已创建,title、description、分类、缩略图齐备
- sessionMode 与玩法匹配:对战类用 quick,好友组局用 room
- minPlayer 与 maxPlayer 已按玩法确定,除特殊玩法外建议相等
游戏逻辑
- bundle 不超过 512 KiB,无禁用关键字,兼容 ES5
- onSync 已实现,重连与切换标签页后可完整恢复
- 离席处理为座位托管或明确终局,不产生悬挂等待
- 算法在复杂局面下不会超过 2 秒回调上限
- 定时器在会话结束时清理,无残留
- 事件带游戏命名空间前缀,无平台保留名冲突
游戏前端
- zip 根目录含 index.html,使用 hash 路由,体积达标
- 通过 requestHostGameConfig 获取配置,未在游戏内硬编码任何地址
- 返回大厅统一使用 notifyGameExit
- 余额显示按 version 单调守卫,无轮询
- 页面恢复可见时调用 sync 对账
资金与公平
- 所有资金流程包裹在 beginRound 与 endRound 之间
- endRound 返回 false 的分支已处理,并向玩家展示失败原因
- 未以 getBalance 预检替代结算失败处理
- 随机类玩法使用公平随机,承诺先于抽取、结算后揭示
- 对局结果已通过 recordResult 上报
- rtpDeclared 与 rakeRateDeclared 与真实玩法参数一致
本地自测
- 单人开局、满员自动开局、人数不足补位已覆盖
- 断线重连后状态恢复正常
- 余额不足时的失败分支与提示已验证
- 公平随机承诺与揭示时序正确
提审与上线
- 前端包上传成功,frontendBundleUrl 与 bundleHash 已存证
- 提审单包含逻辑包全文与申报参数
- 驳回意见处理完毕后重新提审
- 首版过审后已在大厅验证:列表可见、可进入、可完成一局完整结算
上线后运营
- RTP 漂移核查阈值内运行(见资金接入)
- 线上问题按"新版本修复 + 必要时回滚"处理
常见驳回原因
- 游戏逻辑依赖运行环境不提供的能力,如 fetch、DOM、eval。
- 资金操作未闭合回合,或以 getBalance 预检代替结算失败处理。
- 随机类玩法未使用公平随机,或时序错误,先取随机数后承诺。
- 前端缺少 index.html,或使用 history 路由导致刷新 404。
- 断线重连后无法恢复对局,未实现 onSync。
- 算法在复杂局面下超过 2 秒回调上限。