Skip to content

Repository files navigation

🌾 Stardew Valley Mod Updater

一个小巧的星露谷物语(Stardew Valley)模组更新工具,自动扫描本地模组、对比 NexusMods 上的最新版本,并一键批量替换旧文件。告别一个个手动比对版本号的日子。

platform python license

目录

功能

  • 🔍 一键扫描 Mods 文件夹下所有模组,读取 manifest.json,通过 UpdateKeys 对接 NexusMods API 检查最新版本
  • ⚠️ 有新版本的模组会在日志中高亮显示,未安装更新的和检测失败的也会分别提示
  • 🌐 一键在浏览器中打开所有待更新模组的 NexusMods 页面
  • ♻️ 支持批量替换:自动删除旧版本目录、解压/移动新版本文件、清理临时文件夹
  • 💾 自动记住 API Key、Mods 路径、临时文件夹位置,下次打开无需重新填写
  • 🖥️ 图形界面(Tkinter),无需命令行操作

效果预览

效果图1 效果图2

下载 / 使用(无需 Python)

前往 Releases 页面下载最新的 stardew_valley_mod_updater.exe,双击即可运行,无需安装 Python 或任何依赖。

首次启动可能需要几秒钟解压初始化,属正常现象。

由于是个人开发、未购买代码签名证书,Windows Defender 或部分杀毒软件可能会误报或拦截,属于对未签名 exe 的常规安全提示,可以自行核对源码后选择「仍要运行」。如果不放心,也可以按下方步骤自行从源码打包。

使用步骤

  1. 获取 NexusMods API Key(第一次使用需要,见下方如何获取 NexusMods API Key)

  2. 打开程序,填写两项信息 在顶部输入框粘贴 API Key,选择你的 Stardew Valley\Mods 文件夹路径。

  3. 点击「检查更新」 程序会自动扫描 Mods 文件夹下的每一个模组,日志区实时显示检查进度:

    • ✅ 绿色:已是最新版本
    • ⚠️ 红色:发现新版本,需要更新
    • ℹ️ 灰色:没有 UpdateKey,无法自动检测,需自行前往 Nexus 查看
  4. 点击「打开更新页面」 有更新的模组会自动在浏览器中打开对应的 NexusMods 页面,手动下载新版本压缩包/文件,保存到程序提示的临时文件夹(默认是 ~/StardewModUpdates,可以通过「更换临时文件夹存放位置」自定义)。

  5. 点击「打开临时文件夹」核对(可选) 确认所有待更新的模组文件都已下载到位。

  6. 点击「替换旧模组」 程序会自动:

    • 删除本地旧版本模组文件夹
    • 解压 / 移动新版本文件到正确位置
    • 全部替换成功后自动清空临时文件夹

    如果某个模组替换失败(比如文件没下载全),日志会提示具体原因,且不会清空临时文件夹,方便你补下载后重试。

  7. 完成:下次打开程序,API Key、Mods 路径、临时文件夹都会自动记住,直接点「检查更新」即可。

从源码运行

环境要求

  • Python 3.9+
  • 依赖包:requests、json5
git clone https://github.com/jathych/Stardew-Valley-Mod-Updater.git
cd Stardew-Valley-Mod-Updater
pip install requests json5
python stardew_valley_mod_updater.py

自行打包成 exe

pip install pyinstaller
pyinstaller --onefile --windowed --name "stardew_valley_mod_updater" stardew_valley_mod_updater.py

打包完成后,exe 位于 dist/stardew_valley_mod_updater.exe。

⚠️ PyInstaller 不支持跨平台编译,必须在 Windows 系统上执行打包命令才能生成可在 Windows 上运行的 exe。

如何获取 NexusMods API Key

  1. 注册 / 登录 NexusMods
  2. 进入【个人设置】→【API Keys】
  3. 找到 Personal API Key,点击生成并复制
  4. 粘贴到程序的 API Key 输入框中

API Key 相当于账号凭证之一,请妥善保管,不要分享给他人。程序只会把它保存在你本机的配置文件中,不会上传到任何第三方服务器。

配置文件说明

程序会在用户目录下生成一个配置文件,保存 API Key、Mods 路径和临时文件夹位置:

~/stardewmod_config.json

(Windows 下通常是 C:\Users\<你的用户名>\stardewmod_config.json)

示例内容:

{
  "api_key": "your_nexusmods_api_key",
  "mods_folder": "D:\\Steam\\steamapps\\common\\Stardew Valley\\Mods",
  "temp_folder": "C:\\Users\\you\\StardewModUpdates"
}

删除该文件即可重置所有已保存的配置。

常见问题

Q: 为什么有些模组显示"没有 NexusMods UpdateKey,跳过"? A: 该模组作者没有在 manifest.json 里填写 UpdateKeys 字段,工具无法自动匹配到 Nexus 上对应的模组,需要自行前往 Nexus 手动检查更新。

Q: 替换模组前需要备份吗? A: 建议养成备份 Mods 文件夹和存档的习惯。工具只会操作 Mods 文件夹内容,不会触碰存档文件,但预防总比后悔好。

Q: 双击 exe 没反应 / 报毒怎么办? A: 未签名的 exe 常见现象,可在 Windows Defender / 杀毒软件中选择信任放行,或参考上方步骤自行用源码打包,更放心。

注意事项

  • 本工具依赖 NexusMods 官方 API,请遵守 NexusMods API 使用条款
  • 请勿滥用高频请求,工具内置了失败重试和超时处理,但请勿短时间内对同一账号做大量并发调用
  • 本项目与 NexusMods、ConcernedApe(星露谷物语开发商)无官方关联,仅为社区个人开发的辅助工具

许可证

本项目基于 MIT License 开源,可自由使用、修改和分发,但请保留原作者署名。

About

A simple Stardew Valley mod updater with GUI. It can checks installed mods, compares with NexusMods API, and lists mods that need updates. Users can download new versions and replace old mods easily.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages