Stardew mod dataset
收藏资源简介:
该数据集包含每个上传到CurseForge、ModDrop和Nexus Mods的《星露谷物语》模组的开放数据,包括模组页面、下载文件、检测到的模组以及相关参考数据(如SMAPI网络流量和成本)。数据集定期更新,采用开放许可和版本控制策略,可用于构建工具和分析。
This dataset contains open data for every Stardew Valley mod uploaded to CurseForge, ModDrop, and Nexus Mods, including mod pages, download files, detected mods, and associated reference data such as SMAPI network traffic and costs. The dataset is updated regularly, adopts open licensing and version control strategies, and can be used for tool development and analysis.
数据集概述
Stardew Mod 数据集 是一个开放数据集,收录了上传至 CurseForge、ModDrop 和 Nexus Mods 的每个《星露谷物语》模组的相关数据。该数据集用于构建其他工具,如模组统计面板和依赖关系图。
数据内容
数据集定期更新,包含以下结构化数据文件:
- 模组页面信息:模组在平台上的页面数据。
- 下载文件信息:每个模组页面的下载文件详情。
- 模组检测信息:在每个下载文件中检测到的模组(使用与 SMAPI 加载模组相同的代码)。
- 参考数据:与 SMAPI 相关的网络流量和成本等参考信息。
数据使用
- 编程使用:C# 用户可使用 SMAPI.Toolkit.dll 中的
ModPageRecord模型直接读取 JSON 文件。其他技术栈可使用数据集中包含的 JSON Schema(dataset/data/json-schema.json)自动生成数据模型。 - 许可协议:采用 MIT 和 CC-BY-SA 4.0 双许可。数据已获得 CurseForge、ModDrop 和 Nexus Mods 的明确许可公开。注意:
dataset/data文件夹中的第三方内容(如模组页面描述)版权归原作者所有。 - 版本控制:数据集的结构和格式在 1.0.0 发布后遵循语义化版本控制,重大变更会递增主版本号。可以通过 Git 标签(如
v1)引用特定格式的最新数据。数据内容会定期更新,但不会改变版本号。 - 数据更新:通常每月底更新一次完整数据集,生成一个新的 Git 提交。历史快照可通过 Git 历史查看。
数据集结构
数据集位于 dataset 文件夹,包含四个子文件夹:
dataset/data:模组页面、下载文件及检测到的模组的实际数据。- 文件按站点和模组 ID 分桶存放。例如,
dataset/data/Nexus/2包含模组 ID 2000–2999。每个文件为 JSON 格式,包含模组页面、下载、模组及模组清单等字段的详细说明。
- 文件按站点和模组 ID 分桶存放。例如,
dataset/downloads:原始下载的模组文件(未存储在 Git 中)。文件结构与data类似,但以下载 ID 为子文件夹。这些文件作为“模组转储”存储在 Azure Blob Storage 中,可下载最新转储(超过 100GB 压缩包),每月更新。dataset/indexes:总结当前数据的 JSON 文件,例如按模组 ID 查找模组页面、下载错误和解包错误的索引。dataset/stats:随时间变化的统计数据文件(JSONL 格式),例如按类型划分的模组数量、Content Patcher 内容包按格式版本的分布等。dataset/reference-data:手动维护的参考数据,包括 SMAPI 的月度托管成本和 DNS 查询数量等。
数据字段示例(摘要)
- 模组页面字段:站点、ID、名称、作者、标语、描述、页面URL、版本、更新时间、下载数组、其他字段。
- 下载字段:ID、类型(主文件/可选文件)、显示名称、文件名、描述、版本、文件大小(字节)、上传时间、模组数组、下载错误、解包错误、其他字段。
- 模数字段:ID、显示名称、类型(内容包/SMAPI/XNB/忽略/无效)、相对路径、清单、清单解析错误等。
- 模组清单字段:名称、描述、作者、版本、最低API版本、最低游戏版本、入口DLL、内容包依赖、依赖项数组、更新键、唯一 ID、其他字段。
维护
数据集通过 scripts 文件夹中的 .NET 解决方案更新,包含两个项目:
FetchMods:从各站点获取并分析最新模组,保存至dataset/data和dataset/downloads。UpdateAggregates:基于获取的数据更新dataset/indexes和dataset/stats文件。
运行顺序为:
cd scripts dotnet run --project FetchMods dotnet run --project UpdateAggregates





