180 lines
8.1 KiB
Go
180 lines
8.1 KiB
Go
package routers
|
||
|
||
import (
|
||
"context"
|
||
"sync"
|
||
)
|
||
|
||
var _ = sync.Mutex{}
|
||
var _ = context.Background
|
||
|
||
//
|
||
// Batch implementation of top unhandled methods from unknown-methods.log:
|
||
// camera telemetry (silent no-ops), vehicle driving/radio/horn/top-speed/nitro set,
|
||
// indoor/building/safe-area transitions, and a second neutral UI/economy batch.
|
||
//
|
||
// --- Camera telemetry: pure client-side state, zero server value. Silent accept. ---
|
||
func GameRouter_UnhandledBatch_CamMove(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_CamMove
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_CamRot(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_CamRot
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_CamFov(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_CamFov
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_CamAspect(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_CamAspect
|
||
var zero any; return zero
|
||
}
|
||
|
||
// --- Vehicle driving telemetry ---
|
||
func GameRouter_UnhandledBatch_ReportDrivingVehicle(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_ReportDrivingVehicle
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_AskVehicleNitroValue(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_AskVehicleNitroValue
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_AskVehicleNitro(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_AskVehicleNitro
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_AskModifyVehicleTopSpeed(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_AskModifyVehicleTopSpeed
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_AskVehicleHorn(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_AskVehicleHorn
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_AskVehicleContactDamage(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_AskVehicleContactDamage
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_AskVehicleInteractConfig(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_AskVehicleInteractConfig
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_AskUpdateVehicleDestructibleParts(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_AskUpdateVehicleDestructibleParts
|
||
var zero any; return zero
|
||
}
|
||
|
||
// AskGetVehicleRadioContent (67725622) 与 AskSwitchVehicleRadio (67959772) 以前在这里占位
|
||
// (只打日志 + 回全零 typed-default)。2026-09-27 搬到 GameRouter.VehicleRadio.cs:
|
||
// 现在会真的按 RadioContentCatalog 下发 DJ 口播 / 广告 / 新闻的 id。
|
||
// ⛑ 不要在别处再挂同名 handler —— 同一 methodId 两个 invoke handler 会
|
||
// "Duplicate invoke handler at startup"。
|
||
// --- Indoor / building / safe-area transitions (logged accepts; sector control later) ---
|
||
func GameRouter_UnhandledBatch_SyncChangeSafeArea(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_SyncChangeSafeArea
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_SyncChangeBuilding(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_SyncChangeBuilding
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_SyncChangeIndoor(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_SyncChangeIndoor
|
||
var zero any; return zero
|
||
}
|
||
|
||
// --- Neutral UI/economy batch 2: exact typed-default replies, info-level logging ---
|
||
// AskGetAllMetroInfos used to be answered here with the generic empty list. It now has a real
|
||
// scheduler in GameRouter.Metro.cs (round 54/55): keep the attribute off so the router does not see
|
||
// two invoke handlers for the same method id (Duplicate invoke handler at startup).
|
||
func GameRouter_UnhandledBatch_KnownNeutralInvokeBatch2(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_KnownNeutralInvokeBatch2
|
||
var zero any; return zero
|
||
}
|
||
|
||
// --- Skill/combat accepts: logged, protocol-correct empty replies (authoritative later) ---
|
||
func GameRouter_UnhandledBatch_SkillNeutralAccepts(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_SkillNeutralAccepts
|
||
var zero any; return zero
|
||
}
|
||
|
||
// -----------------------------------------------------------------------------------------
|
||
// ⛑⛑ 2026-09-29 修正:这两条**不是 void**。
|
||
// 客户端 `midToReturnMessageReader` 里两者都是 `reader.ReadUInt64(reader)`(裸 u64,无 presence),
|
||
// 而原来挂在 SkillNeutralAccepts 上走 `ReturnEmptyOkAsync` —— 那个是 **0 字节载荷**
|
||
// (`Connection.cs:30` `ReturnEmptyAsync(..., Array.Empty<byte>())`)⇒ 客户端 reader 读空 buffer。
|
||
// 实测触发频率:**[COMBAT] 三个会话共 29 次**,是本轮回归检查里最高频的一条。
|
||
// 修法照抄同类已有实现 `AskItemDestructibleCreate`(GameRouter.MiscAcks.cs:200)——
|
||
// 用硬规则 104 的落盘号段发型实例 id(只回号不建实体,目的是让客户端 await 落地 + 拿得到 uid)。
|
||
// ⛑ 回滚:把这两行属性挪回上面的 SkillNeutralAccepts 即可(handler 不注册走 typed-default)。
|
||
// -----------------------------------------------------------------------------------------
|
||
func GameRouter_UnhandledBatch_AskSkillDestructibleCreate(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_AskSkillDestructibleCreate
|
||
var zero any; return zero
|
||
}
|
||
|
||
// --- Destructibles / weapon red dots / discards / hangup (fresh log batch) ---
|
||
func GameRouter_UnhandledBatch_AskNotifyDestructibleHits(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_AskNotifyDestructibleHits
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_AskOperateDestructibleObject(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_AskOperateDestructibleObject
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_AskMoveDestructibleObjects(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_AskMoveDestructibleObjects
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_AskBreakDestructibleObjects(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_AskBreakDestructibleObjects
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_AskReadWeaponRedDots(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_AskReadWeaponRedDots
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_AskDiscardWeaponByInstanceId(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_AskDiscardWeaponByInstanceId
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_AskDiscardWeapon(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_AskDiscardWeapon
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_RequestPlayerStartHangup(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_RequestPlayerStartHangup
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_RequestPlayerStopHangup(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_RequestPlayerStopHangup
|
||
var zero any; return zero
|
||
}
|
||
|
||
func GameRouter_UnhandledBatch_AskBreakSkillTimeCurve(ctx context.Context, conn any, msg any) any {
|
||
// Router implementation for GameRouter_UnhandledBatch_AskBreakSkillTimeCurve
|
||
var zero any; return zero
|
||
}
|
||
|