package routers import ( "context" "sync" ) var _ = sync.Mutex{} var _ = context.Background // // 娃娃机 / 小游戏机(prefab MiniGameMachine_Bee,Spoon 图 ClawMachineJiGuan_game.gcp)。 // 取证链(2026-09-24): // · 客户端 Player.log 13:56:31 在服务端补出来的 Bee 机上按 F 后报 // spoonFollowCamera1相机不存在!,紧接着图被 dispose; // 13:47:29 在自带娃娃机(ClawMachineJiGuan_game_*,(2019,-8.6,2334) 一带有 14 台,locked=false) // 上按 F 后是 InstantiationManager: Task 901 was cancelled + context isDisposed。 // · 两种情况客户端**都没有**向服务端发任何 RPC(unknown-methods.log 里这一段一条都没有), // 说明流程卡在客户端图内部,但历史上(09-19)客户端确实发过 // AskClawBuyTicket(4 次)、AskBuyMiniGameTicket(1 次)、 // AskDoSpoonServerActionByType(156 次)⇒ 一旦图跑通,下一步就会撞这几条。 // 四条 Claw / 购票 RPC 在 dump.cs 里都是 UXRPCTask(void 返回), // 所以空包 + err=0 就是客户端期望的「OK」应答,不会反序列化失败。 // AskDoSpoonServerAction / ByType 同样是 void 返回(图里的 SpoonServer 节点等一个回执), // 一并接住,否则 SpoonServerMultiOutput 节点会一直等到 context dispose。 // ⛑ 回滚:把这四条从 GameRouter.cs 的 Enabled4229938MethodIds 里删掉即可(handler 不注册 = // 走 typed-neutral 兜底),不用删本文件。 // func GameRouter_ClawMachine_ClawMachineAccept(ctx context.Context, conn any, msg any) any { // Router implementation for GameRouter_ClawMachine_ClawMachineAccept var zero any; return zero } // ⛑ 只接 AskDoSpoonServerAction。ByType(67863523) 在 GameRouter.SceneDevices.cs 里已有 // OnAskDoSpoonServerActionByType —— 同一个 mid 注册两个 Invoke handler 会让服务端起不来 // (_handler_dup_check.py 会报 duplicate invoke handlers)。那边带 hex 日志,以它为准。 func GameRouter_ClawMachine_SpoonServerActionAccept(ctx context.Context, conn any, msg any) any { // Router implementation for GameRouter_ClawMachine_SpoonServerActionAccept var zero any; return zero } // // ★★ MiniGame_Bee(娃娃机)结算三件套 —— 2026-09-24 补,铁证来自 unknown-methods.log。 // 2026-09-22 15:03:31 → 15:04:10 客户端按这个顺序发过,说明**那次是能玩起来的**: // AskBuyMiniGameTicket(63606259) 15:03:31.685 ← 买票(本文件已接) // SetMiniGame_BeeScore(63375767) 15:04:10.921 // AskReportArcadeGameResultBee(63696576) 15:04:10.991 // AskMiniGame_BeeSettlement(63084657) 15:04:10.998 // 后三条当时全掉进 unknown-methods.log ⇒ 结算 await 不到回执,表现就是 // 「玩完卡住 / 拿不到奖励」。 // dump.cs 三条全是 void 返回: // 1727119 AskReportArcadeGameResultBee(ArcadeGameResultBee) → UXRPCTask // 1728826 SetMiniGame_BeeScore(List<uint>) → UXRPCTask // 1728829 AskMiniGame_BeeSettlement() → void // ⇒ 空包 + err=0 就是合法应答,不会反序列化失败。 // func GameRouter_ClawMachine_MiniGameBeeAccept(ctx context.Context, conn any, msg any) any { // Router implementation for GameRouter_ClawMachine_MiniGameBeeAccept var zero any; return zero }