fix(gameserver): answer UI-gating cmds the 4.6.51 client stalls on

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
This commit is contained in:
CAtlas0784 committed 2026-10-07 01:19:56 +07:00
1 parent 580717c3d8
commit 91ee027eb7
8 files changed
+1154 -115

No files matched your search

+35 -3
View File
@@ -1,6 +1,8 @@
package gameserver
import (
"strings"
"fmt"
"math/rand"
"os"
@@ -102,6 +104,29 @@ func dummy(name string) {
dummyResponses[uint16(reqID)] = uint16(rspID)
}
// dangerFamilies are client modules that Sync(nil) -> NRE -> black screen when
// they receive an empty ScRsp (lesson recorded in the Rust packet.rs / HANDOFF):
// never auto-answer these, drop them silently instead.
var dangerFamilies = []string{
"GridFight", "ChessRogue", "EvolveBuild", "ChimeraDuel",
"Jukebox", "CycleScore", "MusicAlbum",
}
func isDangerCmd(cmdID uint16) bool {
name := goproto.NameByCmdID[cmdID]
for _, fam := range dangerFamilies {
if strings.Contains(name, fam) {
return true
}
}
// CycleScore cmd ids (4143/4146) and GridFight range carry generic names
switch cmdID {
case 4143, 4146, 8541, 5410, 5449, 7142, 3174, 9252, 8175:
return true
}
return false
}
// DispatchMessage is the Go port of CommandHandler::on_message.
func DispatchMessage(s *Session, cmdID uint16, payload []byte) {
PacketLog(fmt.Sprintf("[PACKET RECV] cmd_id: %d %s (len: %d)", cmdID, goproto.NameByCmdID[cmdID], len(payload)))
@@ -129,9 +154,16 @@ func DispatchMessage(s *Session, cmdID uint16, payload []byte) {
return
}
// 4. unknown — do NOT answer with an empty ScRsp: client modules
// (GridFight/ChessRogue/EvolveBuild/ChimeraDuel/Jukebox) Sync(nil) and NRE
// into a black screen (lesson recorded in the Rust packet.rs)
// 4. unknown: auto-answer with an empty ScRsp when the Cmd enum defines the
// pair, EXCEPT the danger families which must be dropped silently.
// (Answering nothing made the client's UI modules stall - e.g. the Endgame
// entry waits for GetUnreleasedBlockInfo and the pause menu waits for
// SetClientPaused, leaving the game unclickable.)
if rspID, ok := goproto.RspIDByReqID[uint32(cmdID)]; ok && !isDangerCmd(cmdID) {
_ = s.SendRaw(&NetPacket{CmdType: uint16(rspID)})
return
}
if cmdID != 7159 {
PacketLog(fmt.Sprintf("Unknown command ID: %d (%s)", cmdID, goproto.NameByCmdID[cmdID]))
}
+26
View File
@@ -0,0 +1,26 @@
package gameserver
import (
"testing"
goproto "gac-hkrpg-go/protocol/proto"
)
func TestDispatchMapsRegistered(t *testing.T) {
t.Logf("typedHandlers=%d dummyResponses=%d rawHandlers=%d", len(typedHandlers), len(dummyResponses), len(rawHandlers))
if len(dummyResponses) == 0 {
t.Fatal("dummyResponses is EMPTY - handlers_raw.go init did not run")
}
if len(rawHandlers) == 0 {
t.Fatal("rawHandlers is EMPTY")
}
if _, ok := dummyResponses[17]; !ok {
t.Fatal("GetVideoVersionKeyCsReq (17) not in dummyResponses")
}
if _, ok := dummyResponses[uint16(goproto.CmdIDByName["GetSecretKeyInfoCsReq"])]; !ok {
t.Fatal("GetSecretKeyInfoCsReq not in dummyResponses")
}
if _, ok := rawHandlers[8115]; !ok {
t.Fatal("8115 GetSwitchHandData not in rawHandlers")
}
}
+79
View File
@@ -0,0 +1,79 @@
package gameserver
import (
goproto "gac-hkrpg-go/protocol/proto"
)
// Handlers for cmds the real 4.6.51 client sends during normal play that were
// dropped in the first test session (2026-10-07 01:00) — several of them gate
// UI state (pause menu, Endgame entry, map rotation) on the server's reply.
func init() {
// client pauses itself when opening menus/map — must be acked
handle("SetClientPaused", func(s *Session, req *goproto.SetClientPausedCsReq, rsp *goproto.SetClientPausedScRsp) error {
rsp.Retcode = 0
rsp.Paused = req.Paused
return nil
})
// the Endgame entrance waits for this before opening its UI
// (4.6.51: CsReq 4190 -> ScRsp 4112, retcode = tag 14 — the Rust build
// answered the wrong id 4130 and the client stalled)
rawHandlers[4190] = func(s *Session, payload []byte) error {
return s.SendRaw(&NetPacket{CmdType: 4112, Body: []byte{0x70, 0x00}})
}
handle("TakeQuestReward", func(s *Session, req *goproto.TakeQuestRewardCsReq, rsp *goproto.TakeQuestRewardScRsp) error {
rsp.Retcode = 0
rsp.SuccQuestIdList = req.SuccQuestIdList
return nil
})
handle("GetFirstTalkNpc", func(s *Session, req *goproto.GetFirstTalkNpcCsReq, rsp *goproto.GetFirstTalkNpcScRsp) error {
rsp.Retcode = 0
return nil
})
handle("QuitBattle", func(s *Session, req *goproto.QuitBattleCsReq, rsp *goproto.QuitBattleScRsp) error {
rsp.Retcode = 0
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
})
handle("GetPamSkinData", func(s *Session, req *goproto.GetPamSkinDataCsReq, rsp *goproto.GetPamSkinDataScRsp) error {
rsp.Retcode = 0
rsp.CurSkin = 0
rsp.UnlockSkinList = []uint32{0}
return nil
})
handle("GetAllServerPrefsData", func(s *Session, req *goproto.GetAllServerPrefsDataCsReq, rsp *goproto.GetAllServerPrefsDataScRsp) error {
rsp.Retcode = 0
return nil
})
handle("UpdateServerPrefsData", func(s *Session, req *goproto.UpdateServerPrefsDataCsReq, rsp *goproto.UpdateServerPrefsDataScRsp) error {
rsp.Retcode = 0
return nil
})
// simple empty-but-valid data replies (auto-empty also covers these, but
// keeping them explicit documents that they are safe to answer)
handle("GetHeartDialInfo", func(s *Session, req *goproto.GetHeartDialInfoCsReq, rsp *goproto.GetHeartDialInfoScRsp) error {
rsp.Retcode = 0
return nil
})
handle("GetPetData", func(s *Session, req *goproto.GetPetDataCsReq, rsp *goproto.GetPetDataScRsp) error {
rsp.Retcode = 0
return nil
})
handle("GetShopList", func(s *Session, req *goproto.GetShopListCsReq, rsp *goproto.GetShopListScRsp) error {
rsp.Retcode = 0
return nil
})
}
+2
View File
@@ -164,6 +164,8 @@ func (s *Session) SendRaw(pkt *NetPacket) error {
if s.closed.Load() {
return nil
}
PacketLog(fmt.Sprintf("[PACKET SEND RAW] cmd_id: %d %s (len: %d)", pkt.CmdType, goproto.NameByCmdID[pkt.CmdType], len(pkt.Body)))
payload := pkt.Encode()
s.kcpMu.Lock()
+30
View File
@@ -126,6 +126,36 @@ func TestGatewayHandshakeAndLogin(t *testing.T) {
t.Fatalf("expected battle to start for a real monster target")
}
t.Log("SceneCastSkill verified: battle starts for real monster target")
// 6. GetUnreleasedBlockInfo (4190): Endgame entry gates on this reply
if err := client.sendCmd(4190, nil); err != nil {
t.Fatalf("send GetUnreleasedBlockInfo: %v", err)
}
cmdID, body, err = client.recvCmd(3 * time.Second)
if err != nil {
t.Fatalf("no GetUnreleasedBlockInfo response: %v", err)
}
if cmdID != 4112 {
t.Fatalf("unexpected GetUnreleasedBlockInfoScRsp id: got %d want 4112", cmdID)
}
if len(body) != 2 || body[0] != 0x70 || body[1] != 0x00 {
t.Fatalf("unexpected UnreleasedBlockInfo body: %x", body)
}
t.Log("GetUnreleasedBlockInfo verified: 4190 -> 4112 retcode 0")
// 7. SetClientPaused must be acked (pause menu waits for it)
pauseReq, _ := proto.Marshal(&goproto.SetClientPausedCsReq{Paused: true})
if err := client.sendCmd(1466, pauseReq); err != nil {
t.Fatalf("send SetClientPaused: %v", err)
}
cmdID, body, err = client.recvCmd(3 * time.Second)
if err != nil {
t.Fatalf("no SetClientPaused response: %v", err)
}
if cmdID != 1490 { // SetClientPausedScRsp
t.Fatalf("unexpected SetClientPausedScRsp id: got %d want 1490", cmdID)
}
t.Log("SetClientPaused verified: acked")
}
// ---------------------------------------------------------------------------
+873
View File
@@ -0,0 +1,873 @@
// Code generated from the StarRail.proto Cmd enum. DO NOT EDIT.
package proto
// RspIDByReqID maps every CsReq cmd id to its ScRsp cmd id (from the Cmd enum,
// which is stable even when message names get obfuscated between versions).
var RspIDByReqID = map[uint32]uint32{
4: 94, // SetNickname
5: 71, // PlayerGetToken
9: 13, // PlayerLoginFinish
17: 69, // GetVideoVersionKey
22: 49, // SetGender
30: 38, // GetSecretKeyInfo
33: 32, // ReserveStaminaExchange
34: 79, // UpdatePlayWithPsnOnlySetting
39: 64, // SetGameplayBirthday
43: 53, // QueryProductInfo
45: 16, // PlayerHeartBeat
46: 20, // GetBasicInfo
48: 75, // GetAuthkey
57: 82, // GetLevelRewardTakenList
66: 90, // SetPlayerInfo
70: 27, // EnterStage
74: 19, // PlayerLogin
96: 25, // ClientObjUpload
98: 47, // ExchangeStamina
105: 171, // GetCurBattleInfo
131: 187, // QuitBattle
159: 118, // SyncClientResVersion
174: 119, // PVEBattleResult
304: 394, // TakePromotionReward
306: 370, // DressAvatar
308: 392, // TakeOffRelic
315: 323, // TakeOffAvatarSkin
320: 378, // SetMultipleAvatarPaths
327: 352, // TakeOffEquipment
329: 346, // UnlockAvatarPath
331: 387, // AvatarExpUp
343: 353, // SetAvatarPath
348: 375, // DressRelicAvatar
349: 366, // GetPreAvatarActivityList
357: 382, // DressAvatarSkin
359: 318, // PromoteAvatar
367: 363, // MarkAvatar
374: 319, // GetAvatarData
380: 351, // SetGrowthTargetAvatar
381: 322, // SetAvatarEnhancedId
389: 350, // GetPreAvatarGrowthInfo
390: 312, // SetPlayerOutfit
398: 347, // RankUpAvatar
505: 571, // CmdLockEquipment
506: 570, // RankUpEquipment
512: 543, // DiscardRelic
513: 517, // EquipmentQuickUp
515: 523, // ComposeSelectedRelic
520: 578, // GetRelicFilterPlan
527: 552, // ExpUpEquipment
531: 587, // PromoteEquipment
536: 530, // RelicReforgeConfirm
538: 509, // BatchRankUpEquipment
539: 564, // AddRelicFilterPlan
545: 516, // MarkRelicFilterPlan
547: 548, // ExpUpRelic
549: 566, // SetTurnFoodSwitch
551: 554, // DestroyItem
555: 541, // ModifyRelicFilterPlan
557: 582, // ExchangeHcoin
559: 518, // UseItem
568: 544, // MarkItem
569: 526, // RelicCraft
574: 519, // GetBag
575: 508, // CmdLockRelic
585: 584, // RelicReforge
589: 550, // GetMarkItemList
600: 595, // DeleteRelicFilterPlan
704: 794, // GetAllLineupData
705: 771, // JoinLineup
706: 770, // SwapLineup
708: 792, // SetLineupName
731: 787, // GetCurLineupData
748: 775, // SwitchLineupIndex
752: 735, // GetLineupAvatarData
759: 718, // QuitLineup
762: 780, // MarkPresetLineup
782: 715, // ReplaceLineup
798: 747, // ChangeLineupLeader
805: 871, // DelMail
831: 887, // MarkReadMail
859: 818, // TakeMailAttachment
874: 819, // GetMail
931: 987, // TakeQuestReward
947: 948, // BatchGetQuestData
952: 935, // TakeQuestOptionalReward
959: 918, // GetQuestRecord
970: 927, // CmdFinishQuest
974: 919, // GetQuestData
1005: 1071, // FightGiveUp
1031: 1087, // PlayerGetFightGate
1074: 1019, // FightGameState
1174: 1119, // FinishPlot
1204: 1294, // GetMissionStatus
1212: 1243, // StarPerformanceRelay
1231: 1287, // FinishTalkMission
1235: 1298, // FinishCosumeItemMission
1251: 1254, // AcceptMainMission
1266: 1290, // UpdateMainMissionCustomValue
1267: 1263, // TeleportToMissionResetPoint
1271: 1259, // SyncTask
1274: 1219, // GetMissionData
1281: 1222, // UpdateTrackMainMission
1289: 1250, // GetMainMissionCustomValue
1306: 1370, // CocoonSweep
1327: 1352, // FarmElementSweep
1331: 1387, // GetFarmStageGachaInfo
1403: 1456, // SetTrainWorldId
1405: 1471, // SceneCastSkill
1410: 1465, // UpdateGroupProperty
1413: 1417, // EnterScene
1416: 1401, // SetGroupCustomSaveData
1423: 1428, // SceneReviveAfterRebattle
1431: 1487, // InteractProp
1432: 1421, // GetUnlockTeleport
1436: 1430, // ReEnterLastElementStage
1438: 1409, // SceneEntityTeleport
1442: 1497, // GetEnteredScene
1443: 1453, // DeactivateFarmElement
1444: 1481, // StartCocoonStage
1459: 1418, // GetCurSceneInfo
1460: 1429, // ActiveFarmElement
1461: 1458, // GetSceneMapInfo
1466: 1490, // SetClientPaused
1467: 1463, // EnterSection
1474: 1419, // SceneEntityMove
1479: 1473, // CounterRecover
1482: 1415, // SceneEnterStage
1485: 1484, // GetCurSceneStablePos
1486: 1496, // CounterDown
1488: 1499, // DeleteSummonUnit
1491: 1402, // GroupStateChange
1498: 1447, // SceneCastSkillCostMp
1505: 1571, // TakeCityShopReward
1531: 1587, // BuyGoods
1574: 1519, // GetShopList
1605: 1671, // UnlockTutorial
1606: 1670, // FinishTutorial
1627: 1652, // FinishTutorialGuide
1631: 1687, // GetTutorialGuide
1659: 1618, // UnlockTutorialGuide
1674: 1619, // GetTutorial
1705: 1771, // LeaveChallenge
1715: 1723, // EnterChallengeNextPhase
1731: 1787, // StartChallenge
1747: 1748, // TakeChallengeReward
1757: 1782, // RestartChallengePhase
1770: 1727, // GetCurChallenge
1774: 1719, // GetChallenge
1775: 1708, // GetChallengeGroupStatistics
1805: 1871, // EnterRogue
1831: 1887, // StartRogue
1837: 1883, // GetRogueTalentInfo
1840: 1888, // EnableRogueTalent
1845: 1816, // ExchangeRogueRewardKey
1849: 1866, // EnterRogueMapRoom
1854: 1889, // QuitRogue
1858: 1833, // TakeRogueAeonLevelReward
1859: 1818, // LeaveRogue
1874: 1819, // GetRogueInfo
1893: 1842, // GetRogueAeonInfo
1897: 1814, // FinishAeonDialogueGroup
1900: 1895, // OpenRogueChest
2105: 2171, // GetFirstTalkNpc
2127: 2152, // GetFirstTalkByPerformanceNpc
2135: 2198, // FinishFirstTalkByPerformanceNpc
2159: 2118, // FinishFirstTalkNpc
2174: 2119, // GetNpcTakenReward
2224: 2237, // TakeChallengeRaidReward
2232: 2210, // SetClientRaidTargetCount
2241: 2225, // GetSaveRaid
2242: 2238, // StartRaid
2244: 2216, // GetAllSaveRaid
2245: 2226, // GetRaidInfo
2248: 2250, // LeaveRaid
2258: 2255, // UpdateFiveDimGameData
2261: 2265, // EnterFiveDimGame
2262: 2254, // GetFiveDimGameData
2266: 2257, // LeaveFiveDimGame
2270: 2272, // FiveDimGameTransfer
2273: 2263, // GetFiveDimMoney
2275: 2260, // GetFiveDimMoneyData
2331: 2387, // GetUpdatedArchiveData
2374: 2319, // GetArchiveData
2434: 2424, // GetBigDataRecommend
2437: 2411, // GetBigDataAllRecommend
2516: 2515, // TakeMultipleExpeditionReward
2525: 2544, // AcceptMultipleExpedition
2542: 2538, // GetExpeditionData
2558: 2556, // ElfRestaurantUpgradeRecipeLevel
2565: 2559, // ElfRestaurantUpgradeFacilityLevel
2567: 2590, // ElfRestaurantClientStatus
2573: 2563, // SetElfRestaurantPlayRecipe
2577: 2564, // ElfRestaurantTakeVillagerReward
2579: 2568, // ElfRestaurantFinishTradeOrder
2581: 2572, // SettleElfRestaurantPlay
2582: 2560, // ElfRestaurantRecycleSeed
2584: 2574, // ElfRestaurantBuyField
2587: 2561, // ElfRestaurantPlantSeed
2592: 2588, // GetElfRestaurantData
2594: 2566, // ElfRestaurantUpgradeEmployeeLevel
2595: 2576, // ElfRestaurantHarvestCrop
2596: 2553, // ElfRestaurantBuyShopItem
2598: 2600, // EnterElfRestaurantNextDay
2605: 2671, // GetActivityScheduleConfig
2609: 2613, // ChooseAvatar
2617: 2669, // TakeReward
2630: 2638, // GetData
2631: 2687, // TakeLoginActivityReward
2639: 2664, // GetTrialActivityData
2641: 2700, // EnterTrialActivityStage
2674: 2619, // GetLoginActivity
2675: 2608, // GetMaterialSubmitActivityData
2685: 2684, // LeaveTrialActivity
2692: 2604, // SubmitMaterialSubmitActivityMaterial
2694: 2657, // TakeMaterialSubmitActivityReward
2695: 2645, // TakeTrialActivityReward
2705: 2771, // FinishItemId
2706: 2770, // FinishPerformSectionId
2727: 2752, // GetMissionMessage
2731: 2787, // GetNpcStatus
2735: 2798, // FinishMultiPerformSectionId
2759: 2718, // FinishSectionId
2774: 2719, // GetNpcMessageGroup
2905: 2971, // GetFriendApplyListInfo
2916: 2901, // GetFriendDevelopmentInfo
2922: 2949, // TakeAssistReward
2923: 2928, // DeleteBlacklist
2931: 2987, // GetPlayerDetailInfo
2935: 2998, // DeleteFriend
2936: 2930, // GetFriendRecommendLineupDetail
2943: 2953, // GetFriendLoginInfo
2946: 2920, // SetFriendMark
2948: 2975, // AddBlacklist
2951: 2954, // SetAssist
2959: 2918, // ApplyFriend
2962: 2980, // GetAssistList
2967: 2963, // SearchPlayer
2968: 2944, // GetAssistHistory
2970: 2927, // HandleFriend
2978: 2939, // GetFriendAssistList
2982: 2915, // ReportPlayer
2985: 2984, // GetFriendRecommendLineup
2989: 2950, // GetCurAssist
2990: 2912, // GetPlatformPlayerInfo
2992: 2904, // GetFriendRecommendListInfo
2994: 2957, // SetFriendRemarkName
2995: 2945, // GetFriendBattleRecordDetail
3018: 3006, // TakeAllReward
3071: 3059, // BuyBpLevel
3087: 3005, // TakeBpReward
3105: 3171, // UnlockBackGroundMusic
3131: 3187, // PlayBackGroundMusic
3174: 3119, // GetJukeboxData
3205: 3271, // SharePunkLordMonster
3215: 3223, // GetKilledPunkLordMonsterData
3231: 3287, // StartPunkLordRaid
3235: 3298, // TakePunkLordPointReward
3248: 3275, // GetPunkLordData
3254: 3289, // GetPunkLordBattleRecord
3259: 3218, // SummonPunkLordMonster
3262: 3280, // TakeKilledPunkLordMonsterScore
3274: 3219, // GetPunkLordMonsterData
3331: 3387, // GetDailyActiveInfo
3371: 3359, // TakeAllApReward
3374: 3319, // TakeApReward
3431: 3487, // DailyFirstMeetPam
3474: 3419, // GetRndOption
3574: 3519, // GetReplayToken
3671: 3659, // TakeFightActivityReward
3674: 3619, // GetFightActivityData
3687: 3605, // EnterFightActivityStage
3706: 3770, // TakeTrainVisitorBehaviorReward
3727: 3752, // NewSupplementVisitor
3759: 3718, // GetTrainVisitorRegister
3774: 3719, // TrainVisitorBehaviorFinish
3805: 3871, // TextJoinBatchSave
3831: 3887, // TextJoinQuery
3905: 3971, // GetPrivateChatHistory
3906: 3970, // GetChatEmojiList
3927: 3952, // MarkChatEmoji
3935: 3998, // BatchMarkChatEmoji
3947: 3948, // GetLoginChatInfo
3959: 3918, // GetChatFriendHistory
4074: 4019, // AcceptedPamMissionExpire
4106: 4170, // CancelCacheNotify
4122: 4149, // GetSwitchMascotData
4131: 4187, // GetShareData
4135: 4198, // TriggerVoice
4139: 4164, // GetPlayerForbid
4143: 4153, // CycleScoreRewardGetData
4144: 4181, // CancelDirectDeliveryNotice
4146: 4120, // CycleScoreRewardDestroyExceedReward
4147: 4148, // SubmitOrigamiItem
4151: 4154, // DifficultyAdjustmentUpdateData
4160: 4129, // CycleScoreRewardTakeReward
4162: 4180, // DifficultyAdjustmentGetData
4174: 4119, // Share
4175: 4108, // GetOrigamiPropInfo
4182: 4115, // UpdateMovieRacingData
4189: 4150, // MazeKillDirect
4190: 4112, // GetUnreleasedBlockInfo
4194: 4157, // GetMovieRacingData
4205: 4271, // StartBoxingClubBattle
4227: 4252, // ChooseBoxingClubResonance
4231: 4287, // MatchBoxingClubOpponent
4235: 4298, // SetBoxingClubResonance
4247: 4248, // ChooseBoxingClubStageOptionalBuff
4259: 4218, // GiveUpBoxingClubChallenge
4274: 4219, // GetBoxingClubInfo
4304: 4394, // MuseumRandomEventQuery
4305: 4371, // SetStuffToArea
4327: 4352, // FinishCurTurn
4331: 4387, // BuyNpcStuff
4335: 4398, // UpgradeArea
4347: 4348, // UpgradeAreaStat
4357: 4382, // MuseumRandomEventSelect
4359: 4318, // RemoveStuffFromArea
4374: 4319, // GetMuseumInfo
4427: 4452, // GetTreasureDungeonActivityData
4435: 4498, // EnterTreasureDungeon
4447: 4448, // OpenTreasureDungeonGrid
4475: 4408, // FightTreasureDungeonMonster
4482: 4415, // QuitTreasureDungeon
4492: 4404, // InteractTreasureDungeonGrid
4494: 4457, // UseTreasureDungeonItem
4505: 4571, // PlayerReturnTakePointReward
4506: 4570, // PlayerReturnInfoQuery
4519: 4531, // PlayerReturnSign
4547: 4548, // PlayerReturnTakeCustomRelic
4552: 4535, // PlayerReturnTakeRelic
4559: 4518, // PlayerReturnTakeReward
4592: 4504, // TakeReturnExtraHcoinReward
4674: 4619, // GetMultipleDropInfo
4687: 4605, // GetPlayerReturnMultiDropInfo
4803: 4829, // GetAetherDivideChallengeInfo
4808: 4806, // StartAetherDivideStageBattle
4815: 4809, // SwitchAetherDivideLineUpSlot
4817: 4840, // AetherDivideRefreshEndless
4830: 4835, // StartAetherDivideSceneBattle
4831: 4822, // AetherDivideSpiritExpUp
4832: 4810, // SetAetherDivideLineUp
4834: 4824, // StartAetherDivideChallengeBattle
4843: 4821, // AetherDivideTakeChallengeReward
4845: 4826, // GetAetherDivideInfo
4848: 4850, // LeaveAetherDivideScene
4880: 4885, // JoinBenefitActivity
4898: 4900, // TakeBenefitActivityReward
4974: 4919, // GetFantasticStoryActivityData
4987: 4905, // EnterFantasticStoryActivityStage
5131: 5187, // SelectChatBubble
5171: 5159, // SelectPhoneTheme
5174: 5119, // GetPhoneData
5387: 5305, // RogueModifierSelectCell
5402: 5503, // ChessRogueSelectCell
5403: 5429, // ChessRogueSkipTeachingLevel
5410: 5462, // GetChessRogueNousStoryInfo
5424: 5571, // EnhanceRogueBuff
5426: 5434, // ChessRogueNousGetRogueTalentInfo
5437: 5432, // ChessRogueCheatRoll
5441: 5407, // ChessRogueEnterNextLayer
5445: 5446, // ChessRogueLeave
5449: 5460, // ChessRogueQuery
5457: 5459, // ChessRogueGiveUp
5458: 5494, // PickRogueAvatar
5461: 5511, // ChessRogueEnter
5470: 5495, // GetRogueBuffEnhanceInfo
5510: 5592, // ChessRogueQuit
5538: 5564, // FinishChessRogueSubStory
5542: 5490, // ChessRogueReRollDice
5547: 5537, // ChessRogueNousEnableRogueTalent
5550: 5555, // ChessRogueEnterCell
5559: 5405, // ChessRogueConfirmRoll
5567: 5589, // GetChessRogueStoryInfo
5570: 5444, // ReviveRogueAvatar
5573: 5530, // ChessRogueRollDice
5580: 5600, // SelectChessRogueSubStory
5583: 5554, // GetChessRogueStoryAeonTalkInfo
5588: 5491, // ChessRogueStart
5590: 5497, // ChessRogueNousEditDice
5595: 5499, // EnterChessRogueAeonRoom
5774: 5719, // GetBattleCollegeData
5787: 5705, // StartBattleCollege
5804: 5894, // HeliobusEnterBattle
5805: 5871, // HeliobusSnsPost
5806: 5870, // HeliobusSnsComment
5831: 5887, // HeliobusSnsRead
5835: 5898, // HeliobusUpgradeLevel
5848: 5875, // HeliobusSelectSkill
5857: 5882, // HeliobusStartRaid
5859: 5818, // HeliobusSnsLike
5874: 5819, // HeliobusActivityData
5942: 5938, // GetAllRedDotData
5953: 5979, // FateTakeExpReward
5980: 5985, // FateBattleStart
5982: 5960, // FateShopRefreshGoods
5984: 5974, // FateChangeLineup
5987: 5961, // FateShopBuyGoods
5991: 5975, // FateShopLockGoods
5992: 5988, // FateQuery
5994: 5966, // FateShopLeave
5995: 5976, // FateShopSellBuff
5998: 6000, // FateStart
6001: 6002, // TakeRogueEndlessActivityAllBonusReward
6003: 6006, // GetRogueEndlessActivityData
6004: 6005, // TakeRogueEndlessActivityPointReward
6007: 6010, // EnterRogueEndlessActivityStage
6016: 6078, // RogueTournTakeExpReward
6018: 6028, // RogueTournEnter
6019: 6062, // RogueTournGetSeasonTalentInfo
6021: 6096, // RogueTournUseSuperRewardKey
6022: 6100, // RogueTournLeaveRogueCocoonScene
6023: 6071, // RogueTournSaveBuildRef
6025: 6088, // RogueTournEnablePermanentTalent
6029: 6077, // RogueTournLeave
6033: 6085, // RogueTournEnterLayer
6035: 6044, // RogueTournTriggerRoomSelect
6036: 6061, // RogueTournSettle
6038: 6054, // RogueTournReviveAvatar
6039: 6030, // RogueTournReEnterRogueCocoonStage
6045: 6041, // RogueTournGetAllBuildRef
6046: 6040, // RogueTournGetArchiveRepository
6053: 6067, // RogueTournDeleteArchive
6055: 6026, // RogueTournConfirmSettle
6056: 6051, // RogueTournGetCurRogueCocoonInfo
6058: 6037, // RogueTournGetAllArchive
6059: 6089, // RogueTournEnterRoom
6060: 6069, // RogueTournEnableSeasonTalent
6063: 6057, // RogueTournGetPermanentTalentInfo
6064: 6074, // RogueTournStart
6068: 6043, // RogueTournDeleteBuildRef
6070: 6065, // RogueTournResetPermanentTalent
6072: 6092, // RogueTournQuery
6073: 6095, // RogueTournGetSettleInfo
6079: 6032, // RogueTournRenameArchive
6091: 6027, // RogueTournEnterRogueCocoonScene
6094: 6086, // RogueTournGetMiscRealTimeData
6105: 6171, // UpdateServerPrefsData
6131: 6187, // GetServerPrefsData
6174: 6119, // GetAllServerPrefsData
6274: 6219, // GetStoryLineInfo
6305: 6371, // SubmitEmotionItem
6331: 6387, // ChangeScriptEmotion
6359: 6318, // FinishEmotionDialoguePerformance
6370: 6327, // HeartDialTraceScript
6374: 6319, // GetHeartDialInfo
6405: 6471, // TravelBrochureSelectMessage
6406: 6470, // TravelBrochureRemovePaster
6427: 6452, // TravelBrochureUpdatePasterPos
6447: 6448, // TravelBrochureSetCustomValue
6474: 6419, // TravelBrochureGetData
6475: 6408, // TravelBrochureSetPageDescStatus
6492: 6404, // TravelBrochurePageReset
6494: 6457, // TravelBrochureApplyPasterList
6558: 6555, // EnterEraFlipperData
6561: 6565, // ChangeEraFlipperData
6562: 6554, // GetEraFlipperData
6566: 6557, // ResetEraFlipperData
6587: 6579, // GetLocalLegendData
6631: 6687, // EnterStrongChallengeActivityStage
6705: 6771, // SpaceZooMutate
6706: 6770, // SpaceZooDeleteCat
6731: 6787, // SpaceZooBorn
6752: 6735, // SpaceZooExchangeItem
6759: 6718, // SpaceZooOpCattery
6774: 6719, // SpaceZooData
6798: 6747, // SpaceZooTake
6805: 6871, // DeployRotator
6806: 6870, // LeaveMapRotationRegion
6808: 6892, // RemoveRotator
6827: 6852, // GetMapRotationData
6831: 6887, // InteractCharger
6835: 6898, // ResetMapRotationRegion
6859: 6818, // RotateMap
6874: 6819, // EnterMapRotationRegion
6904: 6920, // DoGachaInRollShop
6915: 6908, // GetRollShopInfo
6916: 6909, // TakeRollShopReward
6924: 6940, // SubmitOfferingItem
6935: 6928, // GetOfferingInfo
6936: 6929, // TakeOfferingReward
6955: 6948, // RaidCollectionData
6960: 6956, // RaidCollectionEnterNextRaid
6975: 6968, // GetTelevisionActivityData
6980: 6976, // EnterTelevisionActivityStage
6984: 7000, // MakeDrink
6987: 6986, // MakeMissionDrink
6990: 6981, // DrinkMakerCheersMakeDrink
6992: 6985, // DrinkMakerChallenge
6994: 6982, // DrinkMakerCheersEnterNextGroup
6995: 6988, // GetDrinkMakerData
6996: 6989, // EndDrinkMakerSequence
6998: 6999, // DrinkMakerCheersGetData
7001: 7085, // MonopolyEventSelectFriend
7012: 7043, // MonopolyGuessBuyInformation
7017: 7069, // MonopolyGetRaffleTicket
7018: 7006, // MonopolyMove
7023: 7028, // MonopolyGiveUpCurContent
7026: 7061, // MonopolyTakeRaffleTicketReward
7032: 7021, // MonopolyGetRegionProgress
7035: 7098, // DailyFirstEnterMonopolyActivity
7036: 7030, // GetSocialEventServerCache
7038: 7009, // DeleteSocialEventServerCache
7041: 7100, // MonopolyLike
7045: 7016, // GetMbtiReport
7047: 7048, // MonopolyRollRandom
7058: 7033, // MonopolyScrachRaffleTicket
7066: 7090, // MonopolyGuessChoose
7067: 7063, // MonopolyCheatDice
7068: 7044, // MonopolyGameBingoFlipCard
7070: 7027, // MonopolySelectOption
7071: 7059, // MonopolyRollDice
7074: 7019, // GetMonopolyInfo
7075: 7008, // MonopolyReRollRandom
7076: 7011, // MonopolyGetRafflePoolInfo
7079: 7073, // GetMonopolyMbtiReportReward
7080: 7051, // MonopolyGameRaiseRatio
7081: 7022, // MonopolyAcceptQuiz
7082: 7015, // MonopolyUpgradeAsset
7083: 7040, // MonopolyClickMbtiReport
7086: 7096, // MonopolyTakePhaseReward
7089: 7050, // MonopolyGameGacha
7091: 7002, // GetMonopolyDailyReport
7092: 7004, // MonopolyConfirmRandom
7093: 7042, // MonopolyClickCell
7094: 7057, // MonopolyBuyGoods
7097: 7014, // MonopolyGetDailyInitItem
7103: 7129, // EvolveBuildSkipTeachLevel
7106: 7131, // GetEvolveBuildShopAbilityReset
7116: 7115, // GetEvolveBuildShopAbilityDown
7125: 7144, // GetEvolveBuildShopAbilityUp
7126: 7132, // GetEvolveBuildReRandomStage
7130: 7135, // EvolveBuildStartStage
7134: 7124, // GetEvolveBuildGiveup
7142: 7138, // GetEvolveBuildQueryInfo
7148: 7150, // EvolveBuildStartLevel
7153: 7156, // EnterFeverTimeActivityStage
7160: 7158, // GetFeverTimeActivityData
7163: 7166, // GetStarFightData
7167: 7170, // StartStarFightLevel
7173: 7176, // GetBadgeInfo
7215: 7209, // ClockParkUseBuff
7230: 7235, // ClockParkUnlockTalent
7232: 7210, // ClockParkQuitScript
7234: 7224, // ClockParkStartScript
7237: 7211, // ClockParkGetOngoingScriptInfo
7242: 7238, // ClockParkGetInfo
7292: 7288, // GetFightFestData
7298: 7300, // StartFightFest
7335: 7334, // GetCrossInfo
7342: 7338, // StartMatch
7348: 7350, // CancelMatch
7360: 7391, // LobbyQuit
7376: 7382, // LobbyInvite
7384: 7374, // LobbyModifyPlayerInfo
7387: 7361, // LobbyKickOut
7392: 7388, // LobbyCreate
7394: 7366, // LobbyGetInfo
7398: 7400, // LobbyJoin
7410: 7441, // MatchThreeV2SetBirdPos
7411: 7445, // MatchThreeV2BattleItemLevelUp
7426: 7432, // MatchThreeV2LevelEnd
7435: 7434, // MatchThreeSetBirdPos
7442: 7438, // MatchThreeGetDataData
7448: 7450, // MatchThreeLevelEnd
7454: 7455, // SwordTrainingMarkEndingViewed
7456: 7481, // SwordTrainingGiveUpGame
7459: 7458, // SwordTrainingStoryConfirm
7460: 7491, // EnterSwordTrainingExam
7466: 7465, // SwordTrainingStartGame
7467: 7490, // SwordTrainingRestoreGame
7469: 7470, // SwordTrainingStoryBattle
7474: 7487, // SwordTrainingDialogueSelectOption
7475: 7494, // SwordTrainingLearnSkill
7477: 7464, // SwordTrainingSelectEnding
7478: 7486, // SwordTrainingSetSkillTrace
7485: 7484, // SwordTrainingDailyPhaseConfirm
7488: 7498, // GetSwordTrainingData
7493: 7471, // SwordTrainingExamResultConfirm
7499: 7462, // SwordTrainingResumeGame
7500: 7480, // SwordTrainingTurnAction
7542: 7538, // ContentPackageGetData
7553: 7556, // GetTrackPhotoActivityData
7555: 7551, // QuitTrackPhotoStage
7557: 7560, // SettleTrackPhotoStage
7558: 7554, // StartTrackPhotoStage
7563: 7566, // GetSummonActivityData
7567: 7570, // EnterSummonActivityStage
7577: 7589, // MusicRhythmSaveSongConfigData
7585: 7600, // MusicRhythmFinishLevel
7586: 7598, // MusicRhythmStartLevel
7592: 7579, // MusicRhythmData
7605: 7620, // SetBlindBoxPetLineup
7611: 7615, // SummonPet
7612: 7604, // GetPetData
7616: 7607, // RecallPet
7619: 7609, // SwitchBlindBoxPetChroma
7623: 7613, // RecycleBlindBoxPet
7627: 7626, // WorldUnlock
7663: 7698, // RogueArcadeRestart
7675: 7685, // RogueArcadeGetInfo
7690: 7684, // RogueArcadeStart
7696: 7667, // RogueArcadeLeave
7704: 7794, // RogueMagicReviveAvatar
7705: 7771, // RogueMagicLeave
7706: 7770, // RogueMagicEnterRoom
7723: 7728, // RogueMagicScepterDressInUnit
7727: 7752, // RogueMagicEnterLayer
7731: 7787, // RogueMagicEnter
7749: 7766, // RogueMagicGetMiscRealTimeData
7757: 7782, // RogueMagicQuery
7759: 7718, // RogueMagicSettle
7762: 7780, // RogueMagicUnitCompose
7767: 7763, // RogueMagicScepterTakeOffUnit
7768: 7744, // RogueMagicEnableTalent
7774: 7719, // RogueMagicStart
7781: 7722, // RogueMagicSetAutoDressInMagicUnit
7790: 7712, // RogueMagicAutoDressInUnit
8104: 8120, // SwitchHandStart
8113: 8112, // SwitchHandCoinUpdate
8115: 8108, // GetSwitchHandData
8116: 8109, // SwitchHandFinish
8118: 8119, // GetSwitchHandResetGame
8124: 8140, // SelectPamSkin
8135: 8128, // GetPamSkinData
8144: 8160, // TarotBookOpenPack
8147: 8146, // TarotBookFinishStory
8150: 8141, // TarotBookMultiOpenPackAndUnlockStory
8151: 8158, // TarotBookUnlockInteraction
8152: 8145, // TarotBookFinishInteraction
8155: 8148, // TarotBookGetData
8156: 8149, // TarotBookUnlockStory
8165: 8171, // ChimeraQuitEndless
8167: 8166, // ChimeraStartEndless
8170: 8161, // ChimeraRoundWorkStart
8173: 8172, // ChimeraFinishEndlessRound
8178: 8179, // ChimeraDoFinalRound
8184: 8200, // UpdateMarkChest
8195: 8188, // GetMarkChest
8202: 8228, // PlanetFesSetCustomKeyValue
8203: 8229, // PlanetFesChooseAvatarEventOption
8205: 8233, // PlanetFesGetAvatarStat
8206: 8231, // PlanetFesBusinessDayRefreshEvent
8209: 8208, // PlanetFesGetBusinessDayInfo
8210: 8241, // PlanetFesDoGacha
8211: 8245, // PlanetFesClientStatus
8213: 8217, // PlanetFesTakeRegionPhaseReward
8216: 8215, // PlanetFesTakeQuestReward
8218: 8227, // PlanetFesDealAvatarEventOptionItem
8219: 8220, // PlanetFesBonusEventInteract
8222: 8246, // PlanetFesDeliverPamCargo
8224: 8237, // PlanetFesBuyLand
8225: 8244, // PlanetFesAvatarLevelUp
8226: 8232, // PlanetFesCollectAllIncome
8235: 8234, // PlanetFesSetAvatarWork
8236: 8204, // PlanetFesUpgradeFesLevel
8240: 8201, // PlanetFesStartMiniGame
8242: 8238, // GetPlanetFesData
8243: 8221, // PlanetFesUseItem
8247: 8207, // PlanetFesGameBingoFlip
8249: 8212, // PlanetFesGetFriendRankingInfoList
8250: 8230, // PlanetFesCollectIncome
8251: 8264, // RelicSmartWearUpdatePinRelic
8252: 8253, // RelicSmartWearDeletePinRelic
8254: 8270, // RelicSmartWearAddPlan
8255: 8261, // RelicSmartWearGetPinRelic
8257: 8256, // RelicSmartWearDeletePlan
8265: 8258, // RelicSmartWearGetPlan
8266: 8259, // RelicSmartWearUpdatePlan
8283: 8282, // MarbleUpdateShownSeal
8285: 8278, // MarbleGetData
8286: 8279, // MarbleShopBuy
8320: 8325, // PlanetFesChangeCardPieceApplyPermission
8322: 8300, // PlanetFesGiveCardPiece
8324: 8314, // PlanetFesApplyCardPiece
8327: 8301, // PlanetFesHandleCardPieceApply
8331: 8315, // PlanetFesLargeBonusInteract
8332: 8328, // PlanetFesGetExtraCardPieceInfo
8334: 8306, // PlanetFesEnterNextBusinessDay
8335: 8316, // PlanetFesGetOfferedCardPiece
8338: 8340, // PlanetFesGetFriendCardPiece
8364: 8380, // TakeRechargeGiftReward
8366: 8373, // TakeRechargeBenefitReward
8375: 8368, // GetRechargeGiftInfo
8376: 8369, // GetRechargeBenefitInfo
8384: 8400, // ParkourGetRankingInfo
8387: 8386, // ParkourEndLevel
8395: 8388, // ParkourGetData
8396: 8389, // ParkourStartLevel
8429: 8777, // GridFightEnterBattleStage
8441: 8607, // GridFightBuyExp
8488: 8790, // GridFightEquipCraft
8508: 8417, // GridFightSpotLightEnter
8514: 8577, // GridFightSummonProjection
8537: 8769, // GridFightUpdateEquipTrack
8540: 8747, // GridFightSeasonTalentReset
8541: 8503, // GridFightGetData
8553: 8695, // GridFightRecycleItem
8554: 8724, // GridFightUpdateEliteBranchSelect
8559: 8582, // GridFightEnterBonfire
8561: 8762, // GridFightFinishTutorial
8572: 8608, // GridFightLockShop
8573: 8551, // GridFightUseForge
8579: 8511, // GridFightStartGamePlay
8603: 8479, // GridFightPermanentTalentReset
8626: 8459, // GridFightSeasonTalentEnable
8629: 8442, // GridFightPermanentTalentEnable
8631: 8452, // GridFightResumeGamePlay
8636: 8727, // GridFightUpdateSpotLightTrack
8657: 8708, // GridFightTraitUpdate
8667: 8618, // GridFightTakeWeeklyReward
8668: 8644, // FavourArchive
8691: 8509, // GridFightQuitLeaveGamePlay
8698: 8420, // GridFightEquipDress
8701: 8699, // GridFightRefreshShop
8710: 8464, // GridFightUpdateEquipTrackPriority
8712: 8633, // GridFightRecycleRole
8740: 8518, // GridFightSpotLightReplace
8766: 8409, // GridFightDestroyWeeklyReward
8779: 8755, // GridFightQuitSettle
8784: 8679, // GridFightGetArchive
8795: 8648, // GridFightUpdatePos
8915: 8909, // SetChallengePeakMobLineupAvatar
8930: 8935, // LeaveChallengePeak
8931: 8922, // ConfirmChallengePeakSettle
8932: 8910, // SetChallengePeakBossHardMode
8937: 8911, // TakeChallengePeakReward
8941: 8925, // ReStartChallengePeak
8942: 8938, // GetChallengePeakData
8945: 8926, // GetCurChallengePeak
8948: 8950, // StartChallengePeak
8954: 8970, // SetRelicBoxCustom
8955: 8961, // ConfirmRelicBox
8963: 8962, // OpenRelicBox
8965: 8958, // GetRelicBoxData
8966: 8959, // SetRelicBoxTarget
8969: 8960, // ReportRelicBoxAction
8986: 8998, // StartChallengeTierce
8989: 8983, // LeaveChallengeTierce
8993: 8981, // GetChallengeTierceController
8995: 8996, // GetChallengeTierceData
9016: 9015, // TakeHipplenEndingReward
9030: 9035, // SetHipplenAgenda
9032: 9010, // SetHipplenOutfit
9034: 9024, // SettleHipplenWork
9042: 9038, // GetHipplenData
9045: 9026, // OpenHipplenCycle
9048: 9050, // GetHipplenInherit
9080: 9085, // ChenLingGameBoyGetFriendRankingInfo
9082: 9060, // GetFiveDimMiniGameData
9084: 9074, // ChenLingGameBoyChangeSettings
9091: 9075, // FinishFiveDimMiniGame
9092: 9088, // GetChenLingGameBoyData
9094: 9066, // GetFiveDimFluteData
9098: 9100, // FinishChenLingGameBoy
9103: 9106, // GetElationActivityData
9107: 9110, // EnterElationActivityStage
9113: 9116, // GetActivityHotData
9117: 9120, // GetAllActivityRewardCountData
9118: 9114, // GetActivityRewardCountData
9132: 9144, // CakeRaceFinishPVE
9135: 9150, // CakeRaceStartPVE
9136: 9148, // CakeRaceLoan
9141: 9130, // CakeRaceGetDailyLike
9142: 9129, // CakeRaceGetData
9143: 9131, // CakeRaceGetFriendRankingInfoList
9145: 9146, // CakeRaceGetHandbook
9147: 9124, // CakeRaceLikeFriendRankingInfo
9213: 9239, // ChimeraDuelSellChimera
9218: 9216, // ChimeraDuelShopRefresh
9223: 9227, // ChimeraDuelSetFriendDefendLineup
9224: 9233, // ChimeraDuelSaveFriendPvpLineup
9225: 9219, // ChimeraDuelShopLock
9228: 9237, // ChimeraDuelSelectGame
9232: 9256, // ChimeraDuelChangeLineup
9240: 9245, // ChimeraDuelUnlockMaster
9242: 9220, // ChimeraDuelEndGame
9244: 9234, // ChimeraDuelStartGame
9247: 9221, // ChimeraDuelEndRoundShopStage
9251: 9235, // ChimeraDuelShopBuyChimera
9252: 9248, // ChimeraDuelGetData
9253: 9231, // ChimeraDuelFinishMasterChallenge
9254: 9226, // ChimeraDuelShopBuyItem
9255: 9236, // ChimeraDuelEndRoundBattleStage
9274: 9267, // V2FinishPVEStage
9286: 9291, // DiceCombatMainPageRollDice
9356: 9420, // IdleLiveFinishNodeEvent
9377: 9402, // IdleLiveFinishFinalAct
9381: 9437, // IdleLiveStartNode
9409: 9368, // IdleLiveFinishNodeBattle
9417: 9413, // IdleLiveGetStatistic
9425: 9358, // IdleLiveCollectIncome
9442: 9354, // IdleLiveGetPendingEquip
9484: 9500, // ChooseDelivery
9495: 9488, // ChooseDeliveryGetData
9510: 9541, // AiPamResponseFeedbackComment
9511: 9545, // GetAiPamChatInfo
9516: 9515, // UpdateAiPamSettings
9525: 9544, // TriggerAiPamSpeak
9526: 9532, // AiPamResponseFeedback
9542: 9538, // AiPamSendMsg
9550: 9535, // GetAiPamChatHistory
9554: 9570, // TakeActiveActivityReward
9565: 9558, // GetActiveActivityData
9583: 9587, // ChenLingFinishShop
9585: 9579, // ChenLingRefreshPolicy
9597: 9584, // ChenLingActivatedPrivilege
9599: 9588, // ChenLingBuyShopItem
9600: 9605, // ChenLingQuitStage
9601: 9592, // ChenLingSelectCard
9602: 9580, // ChenLingFinishPrepare
9604: 9594, // ChenLingUnlockGrid
9607: 9581, // ChenLingUseHandCard
9610: 9571, // ChenLingHandlePendingActions
9611: 9595, // ChenLingFinishBattle
9612: 9608, // ChenLingGetData
9613: 9591, // ChenLingMoveEntity
9614: 9586, // ChenLingRefreshCard
9615: 9596, // ChenLingSellHandCard
9616: 9573, // ChenLingSelectPolicy
9618: 9620, // ChenLingStartStage
9652: 9630, // SocialPlayQueryRecentVisitors
9666: 9733, // SocialPlayGetOnlineRoomData
9686: 9750, // SocialPlayGetOwnerRoomData
9752: 9722, // SocialPlayTalk
9761: 9743, // SocialPlayGetData
9776: 9801, // PixAirUnlockPlane
9780: 9811, // PixAirSellEquip
9781: 9815, // PixAirHandlePendingActionBattle
9786: 9785, // PixAirRefreshShop
9794: 9807, // PixAirReenterStage
9795: 9814, // PixAirBuyGoods
9805: 9804, // PixAirQuitStage
9812: 9808, // PixAirGetData
9820: 9800, // PixAirStartStage
9844: 9860, // RelicPresetAddPlan
9847: 9846, // RelicPresetUpdatePlan
9855: 9848, // RelicPresetGetPlan
9856: 9849, // RelicPresetDeletePlan
9882: 9886, // FateRinStartStoryFight
9891: 9877, // FateRinStartHouguMapFight
9895: 9875, // FateRinStartChallengeFight
9897: 9873, // FateRinGetData
9930: 9935, // ChenLingFesLevelLeave
9934: 9924, // ChenLingFesLevelResume
9937: 9911, // ChenLingFesLevelEnd
9942: 9938, // GetChenLingFesData
9945: 9926, // ChenLingFesBusinessDayEnd
9948: 9950, // ChenLingFesLevelStart
9995: 9988, // B51RacingGetData
10027: 10030, // StartFinalityBattleLevel
10046: 10058, // BlindBoxOpenBox
10052: 10039, // BlindBoxGetData
10144: 10160, // TrainCakeCatchOpenBox
10147: 10146, // TrainCakeCatchDiy
10153: 10152, // TrainCakeCatchDiyLike
10156: 10149, // TrainCakeCatchSearch
10159: 10150, // TrainPetDiy
10164: 10180, // PetParkDiy
10186: 10193, // PetMarbleGetCycleTrialPets
10189: 10187, // PetMarbleLevelBegin
10195: 10188, // PetMarbleGetData
10224: 10240, // Draw
10275: 10268, // GetVoracityInvasionData
10675: 10668, // GetActivityVoracityInvasionData
}
File renamed without changes.
+109 -112
View File
@@ -1,15 +1,33 @@
{
"OSBETAWin3.8.51": {
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_13490885_bf25e1553b38_e9adc23a6b6710",
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_13532881_eb1de9bedabd_c74ab2513059ad",
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_13493894_ec7d6d879305_8b2cfd39d6e545",
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_13491130_ecfa51828143_4bd221b76c0d9a"
"": {
"asset_bundle_url": "",
"ex_resource_url": "",
"lua_url": "",
"ifix_url": ""
},
"OSBETAWin4.4.51": {
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_15711835_1986f76c287e_9c3d058458edf0",
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_15753142_3bb8238470fc_a7cec92c089da7",
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_15712109_65eeab393c89_0c116c2699518d",
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_0_40d2ce0253_6d871f8bca6eb4"
"CNBETAWin3.5.55": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11797411_74704086c081_d40a71b41ba492",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11823033_c9e8c870bcc7_b78f37c36487d0",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11798340_8c6543a1d6c5_2d60cd9b1584b8",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
},
"CNBETAWin3.6.51": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
"ex_resource_url": "https://autopatchcn-bhsr.neonteam.dev/design_data/BetaLive/output_12114942_e99cbde25134_e63a6b835f17f9",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
},
"CNBETAWin3.6.52": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12178965_e246796e0bb6_05bcce36cd648b",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12150614_5279f6d8029a_bdecff99d2d817",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12164593_8e3fba5163df_b2b6fc46de4c06"
},
"CNBETAWin3.7.51": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12579793_48327ff319b5_1b794dd1071e3a",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12611332_5f583f2f54ae_c04979f13c950d",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12579929_9566349ee5fb_c6341faaf9b027",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
},
"CNBETAWin4.1.51": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_14372365_fa78e03ad599_36972b4e3bb553",
@@ -23,78 +41,6 @@
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_14852119_8789f55c1c30_0c0cf5d3c9089b",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_14887825_65010135064b_71536d98b8abbf"
},
"CNBETAWin3.7.51": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12579793_48327ff319b5_1b794dd1071e3a",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12611332_5f583f2f54ae_c04979f13c950d",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12579929_9566349ee5fb_c6341faaf9b027",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
},
"OSBETAWin4.4.55": {
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_16024881_896dfe299d28_6b1f75ad83f27b",
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_16050090_fcad1072dbc7_a9141d239b78a9",
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_16025010_bd07c5a80aa5_797626f0206ff2",
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_0_40d2ce0253_6d871f8bca6eb4"
},
"CNBETAWin3.6.51": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12066992_f083970b907e_999074cab6dce6",
"ex_resource_url": "https://autopatchcn-bhsr.neonteam.dev/design_data/BetaLive/output_12114942_e99cbde25134_e63a6b835f17f9",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12103115_ee78155e9867_3626f0948d93e2",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12118783_55113408814f_c874267d04c04a"
},
"CNBETAWin4.4.53": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_15866095_9009036d3e25_973d3ce6b65433",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_15900361_b648af622913_4cf554a7d47922",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_15866255_5a7f51a53ac5_64e185fea5e17f",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_15893225_dd4a15a115ff_7849b83bdd1350"
},
"CNBETAWin3.5.55": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_11797411_74704086c081_d40a71b41ba492",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_11823033_c9e8c870bcc7_b78f37c36487d0",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_11798340_8c6543a1d6c5_2d60cd9b1584b8",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
},
"OSBETAWin4.5.51": {
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_16228654_7d9ae69e532c_a0248bef3c5f6e",
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_16297504_50bd375a94d3_5be74ad42ab292",
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_16228766_9f45f1eb6490_93543436b26c11",
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_0_40d2ce0253_6d871f8bca6eb4"
},
"CNBETAWin4.4.52": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_15791026_81432f7ff047_c6833b52b5ef3b",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_15802789_98e925c87f1f_31dd3e9dc8f721",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_15791202_1a65af984218_29844dd244a88d",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
},
"OSBETAWin4.0.51": {
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_14026982_55a517a26691_89300298bf2b2e",
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_14036546_28a134460a9a_5805431f75f0ff",
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_14028456_7088b08fd431_59194837d90977",
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_0_40d2ce0253_6d871f8bca6eb4"
},
"CNBETAWin3.6.52": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_12150127_00d6d096d968_cd76a04beb7ba6",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_12178965_e246796e0bb6_05bcce36cd648b",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_12150614_5279f6d8029a_bdecff99d2d817",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_12164593_8e3fba5163df_b2b6fc46de4c06"
},
"OSBETAWin4.5.52": {
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_16317320_6a387bae4513_51fa14bddea85f",
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_16343198_0b109c2dab94_c6792a9fba725b",
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_16317476_035e0a79224b_887d96f7efbed2",
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_0_40d2ce0253_6d871f8bca6eb4"
},
"CNBETAWin4.4.51": {
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_15711835_1986f76c287e_9c3d058458edf0",
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_15753142_3bb8238470fc_a7cec92c089da7",
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_15712109_65eeab393c89_0c116c2699518d",
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_0_40d2ce0253_6d871f8bca6eb4"
},
"CNBETAWin4.5.51": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_16228654_7d9ae69e532c_ff87719729c35f",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_16297504_50bd375a94d3_6512106296b202",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_16228766_9f45f1eb6490_9f172521b06e84",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
},
"CNBETAWin4.3.51": {
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_15261247_f6e6db2125cf_369da465b36faf",
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_15265964_c2fbb1eb05fc_f2238199ee2b6e",
@@ -125,6 +71,60 @@
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_15507972_05909e009ba9_54e5377976705e",
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_0_40d2ce0253_6d871f8bca6eb4"
},
"CNBETAWin4.4.51": {
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_15711835_1986f76c287e_9c3d058458edf0",
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_15753142_3bb8238470fc_a7cec92c089da7",
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_15712109_65eeab393c89_0c116c2699518d",
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_0_40d2ce0253_6d871f8bca6eb4"
},
"CNBETAWin4.4.52": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_15791026_81432f7ff047_c6833b52b5ef3b",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_15802789_98e925c87f1f_31dd3e9dc8f721",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_15791202_1a65af984218_29844dd244a88d",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
},
"CNBETAWin4.4.53": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_15866095_9009036d3e25_973d3ce6b65433",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_15900361_b648af622913_4cf554a7d47922",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_15866255_5a7f51a53ac5_64e185fea5e17f",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_15893225_dd4a15a115ff_7849b83bdd1350"
},
"CNBETAWin4.5.51": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_16228654_7d9ae69e532c_ff87719729c35f",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_16297504_50bd375a94d3_6512106296b202",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_16228766_9f45f1eb6490_9f172521b06e84",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
},
"CNBETAWin4.5.52": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_16317320_6a387bae4513_2f3e5644103a8a",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_16343198_0b109c2dab94_dd42d0213ac00f",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_16317476_035e0a79224b_ed91499b6ef70b",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
},
"CNBETAWin4.6.51": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_16677734_6b334c11ab3a_653e489328e98e",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_16706787_90982cd003eb_5ed57e0de4e2b4",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_16679499_5abbd35a74c5_a28e83e88b78d5",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
},
"OSBETAAndroid4.6.51": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_16685262_bd0485299f5b_858f2db22344cc",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_16700702_5084ff364848_ebdcee37054070",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_16679499_5abbd35a74c5_a28e83e88b78d5",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
},
"OSBETAWin3.8.51": {
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_13490885_bf25e1553b38_e9adc23a6b6710",
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_13532881_eb1de9bedabd_c74ab2513059ad",
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_13493894_ec7d6d879305_8b2cfd39d6e545",
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_13491130_ecfa51828143_4bd221b76c0d9a"
},
"OSBETAWin4.0.51": {
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_14026982_55a517a26691_89300298bf2b2e",
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_14036546_28a134460a9a_5805431f75f0ff",
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_14028456_7088b08fd431_59194837d90977",
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_0_40d2ce0253_6d871f8bca6eb4"
},
"OSBETAWin4.3.51": {
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_15261247_f6e6db2125cf_369da465b36faf",
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_15265964_c2fbb1eb05fc_f2238199ee2b6e",
@@ -155,43 +155,40 @@
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_15507972_05909e009ba9_54e5377976705e",
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_0_40d2ce0253_6d871f8bca6eb4"
},
"CNBETAWin4.5.52": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_16317320_6a387bae4513_2f3e5644103a8a",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_16343198_0b109c2dab94_dd42d0213ac00f",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_16317476_035e0a79224b_ed91499b6ef70b",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
"OSBETAWin4.4.51": {
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_15711835_1986f76c287e_9c3d058458edf0",
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_15753142_3bb8238470fc_a7cec92c089da7",
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_15712109_65eeab393c89_0c116c2699518d",
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_0_40d2ce0253_6d871f8bca6eb4"
},
"CNBETAWin4.6.51": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_16677734_6b334c11ab3a_653e489328e98e",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_16706787_90982cd003eb_5ed57e0de4e2b4",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_16679499_5abbd35a74c5_a28e83e88b78d5",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
"OSBETAWin4.4.55": {
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_16024881_896dfe299d28_6b1f75ad83f27b",
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_16050090_fcad1072dbc7_a9141d239b78a9",
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_16025010_bd07c5a80aa5_797626f0206ff2",
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_0_40d2ce0253_6d871f8bca6eb4"
},
"OSBETAWin4.6.51": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_16685262_bd0485299f5b_858f2db22344cc",
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_16677734_6b334c11ab3a_653e489328e98e",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_16700702_5084ff364848_ebdcee37054070",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_16679499_5abbd35a74c5_a28e83e88b78d5",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885",
"lua_version": "16679499",
"ifix_version": "0"
"OSBETAWin4.5.51": {
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_16228654_7d9ae69e532c_a0248bef3c5f6e",
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_16297504_50bd375a94d3_5be74ad42ab292",
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_16228766_9f45f1eb6490_93543436b26c11",
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_0_40d2ce0253_6d871f8bca6eb4"
},
"OSBETAAndroid4.6.51": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_16685262_bd0485299f5b_858f2db22344cc",
"asset_bundle_url_b": "https://autopatchcn.bhsr.com/asb/BetaLive/output_16677734_6b334c11ab3a_653e489328e98e",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_16700702_5084ff364848_ebdcee37054070",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_16679499_5abbd35a74c5_a28e83e88b78d5",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885",
"lua_version": "16679499",
"ifix_version": "0"
"OSBETAWin4.5.52": {
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_16317320_6a387bae4513_51fa14bddea85f",
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_16343198_0b109c2dab94_c6792a9fba725b",
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_16317476_035e0a79224b_887d96f7efbed2",
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_0_40d2ce0253_6d871f8bca6eb4"
},
"OSBETAWin4.6.0": {
"asset_bundle_url": "https://autopatchos.starrails.com/asb/BetaLive/output_16685262_bd0485299f5b_9afe16e893e053",
"asset_bundle_url_b": "https://autopatchos.starrails.com/asb/BetaLive/output_16677734_6b334c11ab3a_046eb95ac0bab0",
"ex_resource_url": "https://autopatchos.starrails.com/design_data/BetaLive/output_16700702_5084ff364848_26afe1893aa110",
"lua_url": "https://autopatchos.starrails.com/lua/BetaLive/output_16679499_5abbd35a74c5_19c4f9432fbf41",
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_0_40d2ce0253_6d871f8bca6eb4",
"lua_version": "16679499",
"ifix_version": "0"
"ifix_url": "https://autopatchos.starrails.com/ifix/BetaLive/output_0_40d2ce0253_6d871f8bca6eb4"
},
"OSBETAWin4.6.51": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_16685262_bd0485299f5b_858f2db22344cc",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_16700702_5084ff364848_ebdcee37054070",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_16679499_5abbd35a74c5_a28e83e88b78d5",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_0_40d2ce0253_c61ba99f70b885"
}
}