fix(scene): never answer GetMapRotationData with an empty ScRsp

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.
This commit is contained in:
CAtlas0784 committed 2026-10-07 02:28:32 +07:00
1 parent eb58b2e464
commit 29b16b5cf9
2 files changed
+10 -5

No files matched your search

+6
View File
@@ -124,6 +124,12 @@ func isDangerCmd(cmdID uint16) bool {
case 4143, 4146, 8541, 5410, 5449, 7142, 3174, 9252, 8175:
return true
}
// GetMapRotationData: an empty reply NREs the client's map init
// (AdventurePhase._EnterStep1_InitializeMapInfo) - drop until real
// RotaterData is implemented
if cmdID == 6827 {
return true
}
return false
}
+4 -5
View File
@@ -39,11 +39,10 @@ func init() {
return nil
})
// Amphoreus map rotation (teleport pillars) — empty but valid
handle("GetMapRotationData", func(s *Session, req *goproto.GetMapRotationDataCsReq, rsp *goproto.GetMapRotationDataScRsp) error {
rsp.Retcode = 0
return nil
})
// NOTE: GetMapRotationData (6827) must NOT be answered with an empty
// ScRsp - the client enters map-rotation mode with a null state and NREs
// in AdventurePhase._EnterStep1_InitializeMapInfo (no scene load).
// Implement real RotaterData before answering this one.
handle("GetPamSkinData", func(s *Session, req *goproto.GetPamSkinDataCsReq, rsp *goproto.GetPamSkinDataScRsp) error {
rsp.Retcode = 0