From 5cc172239d2f6d50a78600c9da0d50c5062f5311 Mon Sep 17 00:00:00 2001 From: CAtlas0784 Date: Wed, 7 Oct 2026 02:16:08 +0700 Subject: [PATCH] feat(activity): real 4.6.51 activity schedule from March7th dump The synthetic 1000-60000 ranges filled the Travel Log with entries the client cannot resolve. Replaced with the 147 real (activityId, panelId) rows dumped from the March7th PS ActivityConfig (matches the 4.6.51 client), keeping the Apocalyptic Shadow panel 21001 block that the AS tab requires --- internal/gameserver/handlers_activity_data.go | 156 ++++++++++++++++++ internal/gameserver/handlers_challenge.go | 14 +- 2 files changed, 163 insertions(+), 7 deletions(-) create mode 100644 internal/gameserver/handlers_activity_data.go diff --git a/internal/gameserver/handlers_activity_data.go b/internal/gameserver/handlers_activity_data.go new file mode 100644 index 0000000..1972c71 --- /dev/null +++ b/internal/gameserver/handlers_activity_data.go @@ -0,0 +1,156 @@ +package gameserver + +// Code generated from the March7th PS ActivityConfig (real 4.6.51 client +// activity ids). DO NOT EDIT manually. + +type activityScheduleEntry struct{ activityID, panelID uint32 } + +var realActivitySchedule = []activityScheduleEntry{ + {1001501, 10015}, + {1001701, 10017}, + {1002101, 10191}, + {1002501, 10025}, + {1002601, 10192}, + {1004101, 10041}, + {1006201, 10066}, + {1010801, 10187}, + {2000603, 20016}, + {2001101, 20011}, + {2001102, 20011}, + {2001103, 20011}, + {2001104, 20011}, + {2001105, 20011}, + {2001106, 20011}, + {2001107, 20011}, + {2001108, 20011}, + {2001109, 20011}, + {2002303, 20024}, + {2002502, 20027}, + {2006301, 20064}, + {2006302, 20064}, + {2006400, 20064}, + {2008201, 20091}, + {2008401, 20092}, + {2008601, 20087}, + {2008701, 20087}, + {2009100, 20091}, + {2009200, 20092}, + {2009301, 20093}, + {2101001, 21010}, + {2101101, 21011}, + {3000801, 30008}, + {4000208, 40002}, + {4000301, 40003}, + {4000302, 40003}, + {4000303, 40003}, + {4000304, 40003}, + {4000305, 40003}, + {4000306, 40003}, + {4000307, 40003}, + {5000002, 50000}, + {5000003, 50000}, + {5000004, 50000}, + {5000005, 50000}, + {5000006, 50000}, + {5000007, 50000}, + {5000008, 50000}, + {5000009, 50000}, + {5000010, 50000}, + {5000011, 50000}, + {5000013, 50000}, + {5000105, 50001}, + {5000106, 50001}, + {5000107, 50001}, + {5000201, 50002}, + {5000202, 50002}, + {5000203, 50002}, + {5000204, 50002}, + {5000301, 50003}, + {5000302, 50003}, + {5000303, 50003}, + {5000304, 50003}, + {5000408, 50004}, + {5000501, 50005}, + {5000502, 50005}, + {5000503, 50005}, + {5000504, 50005}, + {5000505, 50005}, + {5000601, 50006}, + {5000602, 50006}, + {5000603, 50006}, + {5000604, 50006}, + {5000605, 50006}, + {5000702, 50007}, + {5000902, 50009}, + {5001202, 50012}, + {5001401, 50014}, + {5001501, 50015}, + {5001802, 50018}, + {5002102, 50021}, + {5002202, 50022}, + {5002402, 50024}, + {5002602, 50026}, + {5002902, 50029}, + {5003402, 50034}, + {5003502, 50035}, + {5004102, 50041}, + {5004202, 50042}, + {5004502, 50045}, + {5006302, 50063}, + {5006802, 50068}, + {5007001, 50070}, + {5007002, 50070}, + {5007003, 50070}, + {5007004, 50070}, + {5007005, 50070}, + {5007007, 50070}, + {5007302, 50073}, + {5007402, 50074}, + {5009202, 50092}, + {5009402, 50094}, + {5010102, 50101}, + {5011102, 50111}, + {5011202, 50112}, + {5011402, 50114}, + {5011602, 50116}, + {5012501, 50125}, + {5012502, 50125}, + {5012503, 50125}, + {5012504, 50125}, + {5012505, 50125}, + {5012601, 50126}, + {5012701, 50127}, + {5012901, 50129}, + {5013201, 50132}, + {5013202, 50132}, + {5013301, 50133}, + {5013401, 50134}, + {5013402, 50134}, + {5013501, 50135}, + {5013502, 50135}, + {5013701, 50137}, + {5014201, 50142}, + {5014202, 50142}, + {5014301, 50143}, + {5014302, 50143}, + {5014303, 50143}, + {5014304, 50143}, + {5014305, 50143}, + {5014311, 50143}, + {5014312, 50143}, + {5014313, 50143}, + {5014314, 50143}, + {5014315, 50143}, + {5015401, 50154}, + {6000101, 60001}, + {6000302, 60003}, + {6000901, 60009}, + {6001402, 60014}, + {6001601, 60016}, + {6002301, 60023}, + {6002401, 60024}, + {7100001, 71000}, + {7100101, 71001}, + {7110001, 71100}, + {7110101, 71101}, +} diff --git a/internal/gameserver/handlers_challenge.go b/internal/gameserver/handlers_challenge.go index af5d0c7..abfeab8 100644 --- a/internal/gameserver/handlers_challenge.go +++ b/internal/gameserver/handlers_challenge.go @@ -293,20 +293,20 @@ func init() { EndTime: 1924992000, }) } - for id := uint32(1); id <= 100; id++ { - add(id, id) + // real activity ids from the 4.6.51 client (March7th ActivityConfig + // dump) - synthetic ids the client doesn't know just fill the Travel + // Log with blank entries + for _, e := range realActivitySchedule { + add(e.activityID, e.panelID) } + + // Apocalyptic Shadow tab requires an active schedule with panel 21001 for actID := uint32(21001); actID <= 21030; actID++ { add(actID, 21001) } for i := uint32(1); i <= 8; i++ { add(2100000+i*100+1, 21001) } - for _, base := range []uint32{1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 20000, 30000, 40000, 50000, 60000} { - for offset := uint32(1); offset <= 50; offset++ { - add(base+offset, base+offset) - } - } return nil }) }