Client session 02:20 died in AdventurePhase._EnterStep1_InitializeMapInfo
('AdventureModule should not be null' -> RuntimeGroupManager
_InitMissionToLegacyGroupRelation NRE) and never left the loading screen.
The 01:00 session reached the scene when this request was dropped; the
empty reply added in the auto-empty round put the client into map-rotation
mode with a null state. Drop it again until real RotaterData is built.
First real-client session (2026-10-07 01:00) showed the client walking and
attacking but UI interactions stalling: ~120 CsReq dropped with no reply.
- auto-empty responder: any unknown CsReq with a Cmd-enum ScRsp pair now
gets an empty ScRsp, except the danger families (GridFight/ChessRogue/
EvolveBuild/ChimeraDuel/Jukebox/CycleScore) which must stay dropped
(client Sync(nil) NREs on empty, per the Rust lessons)
- GetUnreleasedBlockInfo: the Endgame entry waits on this - 4.6.51 wire is
CsReq 4190 -> ScRsp 4112 retcode tag 14 (the Rust build answered 4130,
an id this client never sends)
- SetClientPaused acked (client pauses itself when opening menus/map)
- explicit handlers: TakeQuestReward, GetFirstTalkNpc, QuitBattle,
GetMapRotationData (Amphoreus teleport pillars), GetPamSkinData,
GetAllServerPrefsData/UpdateServerPrefsData, GetHeartDialInfo, GetPetData,
GetShopList
- SendRaw now logs (dummy/raw replies were invisible in gameserver.log)
- cmdpairs.go: req->rsp id pairs generated from the Cmd enum (865 pairs),
stable across message renames
- smoke test extended: 4190->4112 and SetClientPaused ack verified