WGCRankingListRet 是当前版本里一条体量较大的通用排行榜返回包。当前 Game.exe 已能稳定确认它由 69 字节固定头和若干条 804 字节排行榜记录组成;客户端随后通过 lua_GetJSRankingListDataCount()、lua_GetJSRankingListInfo()、lua_GetJSRankingListMemberInfo()、lua_GetJSRankingListMyInfo()、lua_GetJSRankingListParam() 这组接口对外提供访问。
包信息
| 项目 |
内容 |
| 封包 ID |
1100 |
| 包名 |
WGCRankingListRet |
| 方向 |
WGC 特殊通道 -> 客户端 |
| 包长 |
变长,69 + 804 * entry_count |
| 当前 Lua 状态 |
当前 /home/ubuntu/Game2 主链未检出同名协议定义或发送链 |
| 主要作用 |
返回一组排行榜缓存数据,并供客户端多个排行界面统一读取 |
包体结构
主包结构
| 偏移 |
长度 |
字段 |
类型 |
含义 |
0x00 |
0x10 |
header_prefix |
bytes[16] |
排行榜头部控制参数前段 |
0x10 |
0x01 |
entry_count |
uint8 |
排行榜记录数量 |
0x11 |
0x16 |
header_params |
bytes[22] |
排行榜头部控制参数后段 |
0x27 |
0x1E |
ranking_name |
char[30] |
排行榜名称 |
0x45 |
0x324 * entry_count |
entry_list |
ranking_entry[entry_count] |
排行榜记录数组 |
ranking_entry 结构
| 字段 |
长度 |
类型 |
含义 |
ranking_entry |
804 |
bytes[804] |
单条排行榜记录 |
当前实际行为
- 当前客户端多个排行榜界面都会消费这条包,包括:
DoublePK_TopList
DoublePlay_TopList
Frozen_Answer_List
ShaXing_TopList
MenPaiWar_TopList
- 当前
Game.exe 虽然把记录整体按 804 字节条目缓存,但对外已经暴露出比较稳定的读取接口:
lua_GetJSRankingListInfo(type, index)
- 可读取单条记录的
rank / name / score(or use_time) / state
lua_GetJSRankingListMemberInfo(type, index, member_index)
- 可读取成员级信息,如
member_guid / member_name / menpai / level
lua_GetJSRankingListMyInfo(type)
- 可读取当前玩家与该排行榜相关的个人信息
lua_GetJSRankingListParam(type, index, param_index)
- 可读取若干扩展参数,例如关系值、区服参数等
- 这说明
804 字节条目内部并不是一段无意义原始块,而是“排行主记录 + 成员信息 + 扩展参数”的统一缓存结构。
- 但仅凭当前公开证据,还不足以把头部
69 字节和单条 804 字节完整展开到每一个偏移,因此文档保留为“稳定出口 + 保守块命名”的写法更安全。
服务端落点
当前 /home/ubuntu/Game2 主链未找到 WGCRankingListRet 的现役 Lua 落点,已确认的检查范围包括:
/home/ubuntu/Game2/services/game/packet.lua
/home/ubuntu/Game2/services/msgagent.lua
/home/ubuntu/Game2/services/world
/home/ubuntu/Game2/services/scene
当前客户端可确认的消费范围是:
关键代码
当前 Game.exe 的长度公式
PacketSize = 69 + 804 * entry_count;
当前客户端对外暴露的读取接口
lua_GetJSRankingListDataCount(type)
lua_GetJSRankingListInfo(type, index)
lua_GetJSRankingListMemberInfo(type, index, member_index)
lua_GetJSRankingListMyInfo(type)
lua_GetJSRankingListParam(type, index, param_index)
结论
WGCRankingListRet(1100) 是当前版本的通用排行榜返回包,结构为 69 字节头加 804 字节记录数组。
entry_count 和 ranking_name 已经能从当前 Game.exe 稳定确认,其余头部参数仍应保守处理。
- 单条
804 字节记录内部已被客户端 getter 实际消费为“排行主记录 + 成员信息 + 扩展参数”。
- 这条包的主要依据来自当前
Game.exe 和当前客户端真实消费链;当前 /home/ubuntu/Game2 现役 Lua 主链未检出同名发送实现。
|