OverwolfSpire Codex 现已登陆 Overwolf。 了解更多 →

关于 Spire Codex

Spire Codex 是 Slay the Spire 2(常简称 StS2)的综合数据库,通过逆向工程游戏文件构建。本站的每张卡牌、遗物、怪物、药水、事件和能力都直接提取自游戏源码和本地化数据。

这个项目源于对 StS2 如何构建的好奇,后来发展成完整的 API 和网站。目标是为 Spire 社区提供其应得的详尽、可搜索的参考资料。

如果你想参与,欢迎在这里提交 PR: GitHub。这个仓库是项目托管处的下游,所以你的 PR 可能需要一些时间才能完全合并。该项目提供 开放 API ,可免费使用并可自行托管。如果你想聊聊这个项目,欢迎来 Discord ,我在那里发布更新并讨论项目。

非常感谢支持本项目的每一位,请见 致谢页面 查看 Ko-fi 支持者和社区贡献者。

Codex 幕后

嗨!我是 Peter,一名自学成才的技术人、超酷的爸爸、很棒的丈夫,也是一个停不下来的折腾爱好者。我走了一条非传统的路进入软件工程和科技行业,纯粹出于好奇和热爱,从零开始把东西做出来。我不会想换一种方式。我做过不少项目(DPC,一个拥有一万多名 DevOps 和平台工程师的 Discord 社区;以及 Genshin News,一个推送原神最新消息的 Webhook 服务),但 Spire Codex 是我做过最大、也最让我自豪的项目。

支持 Spire Codex

Spire Codex 起源于一个兴趣项目,源自对 Slay the Spire 的热爱,以及为游戏社区打造实用、高性能开发者工具的愿望。

运行高流量的数据库和快速的 API 基础设施需要真金白银的服务器费用和大量时间。如果 Spire Codex 曾帮你避免翻车、帮你规划一局,或支撑了你自己的项目,欢迎打赏或加入会员!无论是否有经济上的支持,都感谢你的支持!

内容一览

工作原理

Slay the Spire 2 基于 Godot 4 构建,但所有游戏逻辑都在一个 C#/.NET 8 DLL 中。数据流程:

1
PCK 提取
GDRE Tools 提取 Godot 的 .pck 文件、图片、Spine 动画和本地化数据(约 9,947 个文件)
2
DLL 反编译
ILSpy 将 sts2.dll 反编译为约 3,300 个包含全部游戏模型的 C# 源文件
3
数据解析
17 个 Python 解析器从反编译的 C# 源码和本地化 JSON 中提取结构化数据
4
Spine 渲染
无头 Node.js 渲染器将骨骼动画合成为 512×512 的肖像 PNG(130 多个精灵)
5
API + 前端
FastAPI 以 20 多个端点的 REST API 提供解析后的数据;Next.js 前端负责消费

功能

详情页
卡牌、角色、遗物、怪物和药水的可点击详情页,附完整数据
全局搜索
在任意位置按 . 即可即时搜索所有类别
富文本渲染
游戏 BBCode 标签以颜色、动画和内联图标渲染
角色对话
来自游戏本地化数据的 NPC 对话树和角色台词
Spine 渲染图
从骨骼动画渲染的 130 多个怪物和角色精灵图
REST API
带筛选、搜索和 Swagger 文档的完整 API,供你自己的项目使用
更新日志追踪
所有类别中游戏更新之间的字段级差异
图片下载
按类别浏览和下载所有提取的游戏美术

技术栈

后端
Python, FastAPI, Pydantic
前端
Next.js, TypeScript, Tailwind
渲染
Node.js, Playwright, spine-webgl
基础设施
Docker, Forgejo CI

本项目仅用于教育目的。所有游戏数据归 Mega Crit Games 所有。不得用于重新编译或再分发游戏。