它解决的不是实时查询问题
官方接口适合查询玩家、部落、战争和突袭等实时状态,但不会返回每个兵种、建筑、法术和装备的完整逐级数值。这个工具从你已经合法取得的国际服安装包中整理静态数据,适合做资料站、伤害计算、升级规划和版本对比。
| 任务 | 使用这里 | 使用实时查询 |
|---|---|---|
| 兵种、建筑、装备各等级数值 | 是 | 否 |
| 玩家当前村庄存档 | 用存档解析器 | 部分数据可查 |
| 部落成员、战争、联赛、突袭 | 否 | 是 |
| 版本间数值变化 | 导出两个版本后比较 | 否 |
准备环境和文件
- Windows、macOS 或 Linux,Python 3.10 及以上。
- 完整解压技能包,并在项目目录安装
requirements.txt里的依赖。 - 准备国际服 APK 或从分包安装包整理出的基础 APK;当前映射按 18.400.22 校验。
- 输入文件只读保存,输出放到单独目录,便于复现和比较。
路径含空格时必须加引号。脚本不会修改 APK;签名、证书和文件散列只用于确认输入文件与预期版本一致。
导出完整单位数据
最小命令只需要安装包和输出路径。需要替换名称时,再提供自定义名称表;名称表只改变显示名,不改变单位标识、等级或数值。
流水线会依次完成文件与签名校验、表结构识别、数值抽取、本地化文本匹配、单位归类、逐级聚合和最终统计。建筑大师基地兵种等级不连续、装备技能和超级充能等特殊结构会单独处理。
解析自己的村庄存档
village_parser.py 读取游戏导出的存档文本,并把建筑、英雄、装备、研究和帮手等编号映射为可读名称与等级。它适合给村庄离满防时间分析和升级规划器提供输入。
输出里有什么
| 字段组 | 内容 | 用途 |
|---|---|---|
| identity | 稳定编号、英文名、中文名、类型 | 搜索与跨版本匹配 |
| levels | 每级生命、伤害、费用、时间和所需大本营 | 资料查询与规划 |
| combat | 攻击间隔、目标、范围、移动与特殊效果 | 伤害计算 |
| upgrade | 资源、工期、实验室或建筑条件 | 升级规划 |
| localization | 名称、描述和来源语言 | 中文页面展示 |
| metadata | 游戏版本、文件散列、证书与生成时间 | 复现和审计 |
如果你只需要浏览已生成的数据,可直接打开游戏静态数据查询,无需在本机再次导出。
怎样判断导出可信
- 版本、包名、文件 SHA-256 和证书 SHA-256 与输入报告一致。
- 单位数、逐级数据行数、装备数和类型统计不出现异常骤减。
- 每个单位等级唯一,等级顺序和大本营条件合理。
- 名称未命中时保留稳定编号,不用猜测名称覆盖。
- 同一个输入重复运行得到相同核心 JSON。
- 抽查几项游戏内已知数值,并记录版本差异。
常见问题
提示版本或签名不匹配
先确认输入是完整国际服基础 APK,文件没有被重新签名或二次打包。新游戏版本需要先更新解析规则和已知校验值,不应关闭校验强行继续。
只导出了少量单位
检查解码依赖是否完整、数据表路径是否变化,以及是否误把拆分包中的资源片段当成基础 APK。
中文名缺失
确认简体中文本地化资源存在。可用名称表补充显示名,但不要用名称表替换稳定编号。
村庄里出现未知编号
通常是新版本新增内容。保留原编号和原始字段,更新映射后重新解析;不要丢弃整条记录。
游戏更新后的维护流程
- 保留旧 APK、旧输出和生成报告。
- 用新 APK 运行只读校验,确认包名、版本、签名和数据结构变化。
- 更新映射与解析规则,运行完整自动测试。
- 分别导出新旧版本并生成差异摘要。
- 抽查新增单位、平衡性改动和升级条件。
- 更新网站静态数据与版本说明,不覆盖旧版可追溯产物。
数据与使用边界
工具代码按包内许可证使用;游戏名称、数据和素材仍归各自权利人所有。不要公开玩家私人账号数据,不要把校验报告描述成“官方认证”,也不要把第三方安装包冒充官方分发。