创建新文档

您的文档标题(将显示为 H1)
URL 友好名称(无空格,使用连字符)
创建文档的路径(可选,使用正斜杠创建子目录)

移动/重命名文档

文档的当前位置
文档的新路径(包括别名)
这只会更改文档的路径,不会修改文档的标题(H1 标题)。

删除文档

您确定要删除此文档吗?此操作无法撤销。

警告:如果这是一个文件夹,包括子文件夹和文档在内的所有内容将被删除。

Message

Message content goes here.

Confirm Action

Are you sure?

附件

允许的文件类型:jpg, jpeg, png, gif, svg, webp, txt, log, csv, sfd, zip, pdf, docx, xlsx, pptx, mp4(最大:100MB)

文档文件

正在加载附件...

文档历史

以前的版本

Loading versions...

预览

选择要预览的版本

Wiki 设置

用户界面语言
每个文档保留的版本数量。设置为0以禁用版本控制。
上传文件的最大允许大小(MB)。

用户管理

添加新用户

留空以保持当前密码
拥有这些组的用户可以访问受限部分。

为您的Wiki部分定义基于路径的访问规则。规则按顺序评估。首次匹配生效。

活动规则

从ZIP归档文件导入Markdown文件。文件将被处理并存储在适当的文档结构中。ZIP中的目录结构(类别/子类别)将在wiki中保留。

上传包含要导入的Markdown(.md)文件的ZIP归档(压缩包)。

创建和管理您的 Wiki 数据备份。备份包括所有文档、图像和配置文件。

可用备份

正在加载备份...

添加/编辑访问规则

已选择: /

添加列

伟大航路客户端协议清单

文档目的

本文件单独整理“伟大航路/盐场升级赛制”在客户端中直接出现的协议。

这里的“客户端协议”指:

范围包含 4 类:

  1. LegionService
  2. LegionWarService
  3. SaltRoadService
  4. 伟大航路阶段仍然复用的旧军团战协议

不包含内容:

一、总览

当前客户端侧与伟大航路直接相关的协议可以分为三层:

二、协议闭合度分级

为了区分“已经能直接指导实现”和“只是知道有这个协议”,本文件把协议反推程度分成 3 级:

当前判断如下:

三、入口与阶段层协议

1. legion_getinfo

客户端已确认依赖字段:

其中 mapList 元素结构为:

用途:

结论:

字段细化表:

字段 客户端用途 实现优先级
isOpenSaltRoadWar 是否启用伟大航路入口与页面分支
legionWarType 当前阶段判定
islandType 当前岛屿判定
exWeekRiseDate 灰盐岛进阶提示与阶段过渡
isInExWeek 是否处于进阶周赛链路
isInExMonth 是否处于普通月赛链路
isInExGoldMonth 是否处于黄金链路
emLegionWarMap 当前地图/选图态
mapList[] 日期到 warType / mapType 的映射

服务端现状判断:

2. legion_signup

用途:

结论:

补充判断:

3. legion_getbattlefield

客户端依赖字段:

用途:

结论:

字段细化表:

字段 客户端用途 当前服务端情况
type 战场主类型 已有,但固定旧口径
subType 附加战场类型 已有字段位
legionWarMapType 地图资源加载 配置有,运行时未切
signupStartTime 报名窗开始 已有固定模板
signupEndTime 报名窗结束 已有固定模板
readyTime 提前进场时间 已有固定模板
startTime 开战时间 已有固定模板
endTime 结束时间 已有固定模板
battlefieldId 战场实例 ID 已有,但仍固定 LW_WEEK-*
battlefieldNumber 场次编号 已有字段位
canEnterWar 是否可进场/是否锁成员 客户端强依赖,服务端缺主链实现
sid / domainName 路由到战场服 已有字段位

4. legion_getbattlefieldid

结论:

补充判断:

5. legion_getwarrank

说明:

实现建议:

6. legion_claimwarrankreward

结论:

7. legion_getopponent

补充判断:

四、SaltRoadService 协议

这是伟大航路新增最多的一组协议。

服务注册见:

1. saltroad_getgreyriselegions

用途:

补充判断:

2. saltroad_getsaltroadwargrouprank

用途:

字段细化表:

字段 用途
legionList[] 小组榜单列表
selfRankInfo 当前军团的小组内排行与积分
riseNum 小组晋级线

补充说明:

3. saltroad_getsaltroadwartotalrank

用途:

字段细化表:

字段 用途
legionList[] 总榜列表
rankCnt 总榜总人数
selfRankInfo 当前军团总榜信息
riseNum 当前总榜晋级线
blueRiseRound 青铜岛动态档位

补充说明:

4. saltroad_getwartype

用途:

补充说明:

5. saltroad_getgoldenbflist

GDSaltRoadGoldenBfInfo 字段:

用途:

字段细化表:

字段 用途
selfBfId 当前军团所在黄金分组
bfList[] 当期所有黄金战场
bfList[].bfId 具体分组战场 ID
bfList[].legionWarType 胜者赛 / 败者赛 / 总决赛

补充说明:

6. saltroad_getwarrank

用途:

7. saltroad_getsaltroadwarlegions

当前状态:

结论:

五、LegionWarService 兼容协议

这部分协议不是 SaltRoadService,但伟大航路页面仍在使用。

1. legionwar_getexwarlegions

用途:

补充判断:

2. legionwar_getexwarweekrank

当前判断:

3. legionwar_choiceexweekmap

用途:

当前判断:

4. legionwar_getexweekmapsigninfo

当前判断:

5. legionwar_getgoldmonthwarrank

当前判断:

6. legionwar_getdetails

7. legionwar_getbattlerecord

六、客户端直接依赖的数据结构

除了协议名本身,客户端还依赖这些结构体字段。

1. GDBattlefieldInfo

定义见:

字段:

2. GDNewLegionWarMapMsg

定义见:

字段:

3. GDSaltRoadGoldenBfInfo

定义见:

字段:

4. GDSaltRoadWarMsg

定义见:

字段:

用途:

字段语义细化:

字段 当前高可信语义
sRGScoreArr 小组积分过程数组或分周积分数组
sRBScoreArr 岛屿积分或阶段积分数组
sRKScoreArr 排名/淘汰过程数组
sRTotalScore 当前总积分
sRConfId 当前排行或配置模板 ID
sRGroupRank 当前组内名次
sRGoldenOut 黄金阶段是否已淘汰

说明:

七、请求参数近似草稿

下面这部分不是服务端现有协议定义,而是根据客户端调用方式整理的近似请求形态。

1. 空请求

{}

适用:

2. 日期查询

{
  "date": "yyyy/MM/dd or yyMMdd"
}

适用:

说明:

3. 排行分页

{
  "date": "yyMMdd",
  "startRank": 1,
  "endRank": 100
}

适用:

4. 黄金分组

{
  "date": "yyMMdd"
}

适用:

{
  "bfId": "battlefield-id"
}

适用:

5. 兼容扩展赛

{
  "startRank": 1,
  "endRank": 100
}

适用:

{
  "emLegionWarMap": 18
}

适用:

{
  "recordId": "xxx"
}

适用:

八、按实现重要性排序

如果站在服务端实现角度,这些协议的重要性可分为三档。

A. 必须先对齐

B. 第二阶段补齐

C. 兼容与外围能力

九、当前反推状态

已确认

部分确认

尚未闭合

十、未确认项清单

下面这些内容已知存在,但目前还不能作为硬规则写死:

十一、结论

当前客户端协议层已经足够说明:

因此,后续服务端实现如果只改 BuildWarInfo() 一层还不够,至少还要补:

附件

正在加载附件...

评论

暂无评论。成为第一个评论者!

搜索结果