项目概览
这个项目不是重做一套新协议,而是在兼容原版接口逻辑的前提下,提供一个更适合作为主列表源的反广告服务。
- 与原版
masterserver/1.4/interfaceAPI 逻辑兼容,客户端通常只需替换列表地址。 - 对非官方房间引入 AI 审核能力,并保留继续接入启发式扫描的设计空间。
- 上游、AI 或数据库任一关键步骤失败时,保留上一版公开列表,不发布不完整结果。
- 提供状态页与趋势接口,便于观察最近 24 小时的同步与过滤情况。
接入方式
推荐把 BetterGameList 作为主 API,在不可用时回退官方 API。客户端请求参数可以保持原样。
主 API
反广告公开列表接口,可直接作为主列表源接入。
https://list.rw.der.kim/masterserver/1.4/interface
官方 API 回退链路
当主 API 超时、网络失败或响应头不是 CORRODINGGAMES[1.0] 时,再尝试官方接口。
https://gs1.corrodinggames.com/masterserver/1.4/interface
https://gs4.corrodinggames.net/masterserver/1.4/interface
请求示例
客户端请求参数仍然使用原版写法。
https://list.rw.der.kim/masterserver/1.4/interface?action=list&game_version=176&game_version_beta=false
补充接口
如果客户端不便实现回退逻辑,也可以额外接入广告房间列表接口,再结合官方列表做异或处理。
https://list.rw.der.kim/masterserver/1.4/adinterface?action=list
工作原理
整个流程围绕“尽量不过早发布新结果”来设计,优先保证对外公开列表的稳定性和一致性。
01
周期拉取上游列表
服务每 30 到 45 秒拉取一次上游房间列表,兼顾实时性与上游压力。
02
官方房间直通,非官方房间进入审核链路
非官方房间会进入额外的 AI 过滤流程,避免把明显广告房间直接暴露到公开列表。
03
AI 批量审核房间摘要
AI 返回允许公开的 UUID 列表。任一批次失败,本轮审核直接判定失败。
04
全部成功后原子更新公开表
只有关键步骤全部成功时,新的公开列表才会一次性替换旧结果。
05
异常时保留旧结果
上游失败、AI 失败或数据库异常时,本轮结果不会对外发布。
服务状态
项目提供状态页和 JSON 趋势接口,用于查看最近 24 小时的同步、过滤与放行趋势。
https://list.rw.der.kim/masterserver/1.4/server
状态页前端会按需请求 JSON 数据接口,避免数据量增长后把全部统计直接塞进 HTML。
https://list.rw.der.kim/masterserver/1.4/server_api.php?granularity=5
协议能力
除了公开列表本身,项目还保留了常见 action 语义,并对连接字段策略和输入清洗做了补充处理。
action=list返回公开房间列表。action=add创建房间并写入room_buffer。action=update更新房间,但不会立即进入公开表。action=remove通过id + private_token删除房间。action=get获取真实连接 IP 与端口。action=self_info返回当前请求 IP 和端口开放状态。