Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
ValheimSaveShare
通过 GitHub 分享 Valheim 世界:新增共享存档页签(粘贴链接下载,带进度)与共享按钮一键上传,支持 Steam 云存档、私有仓库与代理。Share Valheim worlds via GitHub: upload & download world saves with progress. Steam cloud & proxy supported.
| Date uploaded | a month ago |
| Version | 1.0.0 |
| Download link | SuperVikingDepartment-ValheimSaveShare-1.0.0.zip |
| Downloads | 33 |
| Dependency string | SuperVikingDepartment-ValheimSaveShare-1.0.0 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2350README
ValheimSaveShare 存档共享
通过 GitHub 分享 Valheim 世界存档的 BepInEx 模组。
Share Valheim worlds between friends via your own GitHub repository.
功能 / Features
- 「共享存档」页签:在主菜单"开始游戏 / 加入游戏"旁新增第三个页签,列出你已添加为共享的存档(与开始游戏页签同样的世界列表样式)。选中即可开始游戏。
- 添加共享(下载):页签内「添加共享」按钮 → 粘贴 GitHub 链接(仓库主页或世界文件夹链接均可)→ 自动下载
manifest.json+ 全部存档文件到worlds_local/<世界名>/,带逐文件进度与取消。下载完成自动出现在世界列表。 (见下) - 支持中文世界名、私有仓库(下载时需配置 Token)、同名存档覆盖前自动 zip 备份、游戏版本不一致提示。
首次配置 / Setup
上传需要你有一个 GitHub 仓库和令牌(下载别人的公开分享不需要任何配置):
- 在 github.com/new 新建一个空仓库(如
valheim-shared-worlds,公开或私有均可)。 - 生成 fine-grained Personal Access Token:GitHub → Settings → Developer settings → Fine-grained tokens → Generate,只勾选该仓库的 Contents: Read and write。
- 编辑
BepInEx/config/SuperVikingDepartment.ValheimSaveShare.cfg:
[GitHub]
Repo = 你的用户名/valheim-shared-worlds
Branch = ; 留空自动用默认分支
Token = github_pat_xxxx ; 上传必需,勿泄露
PathPrefix = worlds
已共享的存档记录(世界名 → 链接)保存在 BepInEx/config/ValheimSaveShare.shared.json。
链接格式 / Accepted URLs
https://github.com/<user>/<repo>—— 自动在worlds/下找(仅一个世界时直接用)https://github.com/<user>/<repo>/tree/main/worlds/我的世界—— 指定世界文件夹https://raw.githubusercontent.com/<user>/<repo>/main/worlds/我的世界/manifest.json
注意事项 / Notes
- 分块存档与上传速度:分块存档的世界(
.db2拆成几十上百个.chunk)自动打包为单个world.zip一次请求上传(zip 内部已压缩),上传期间弹窗显示已用时间,不是卡死。 - 国内网络/代理:直连 api.github.com 困难时,在 cfg 的
[GitHub] Proxy填本地代理端口(如http://127.0.0.1:7890),上传下载全走该代理。 - Steam 云存档:开启 Steam 云的世界(存档在
worlds/云端而非本地磁盘)上传时,通过游戏自带 FileReader/Steam 云存储读取,与本地存档(worlds_local/)一样支持;下载的世界一律落地为本地存档(worlds_local/,列表中带“本地”图标)。若云端已有同名世界,下载时会提示无法自动覆盖,请先在游戏内删除或改名。 - 共享的是世界快照(手递手式共享,不是实时同步)。建议一个世界只由"房主"上传,其他人只下载,避免互相覆盖进度。
- 游戏扫描器会删除不成组的存档文件,因此本 mod 总是整组上传/下载
.fwl2/.db2/.ok/.chunks/.chunk;手动搬运时也请整组复制。 - 打包后超过 90 MB 时上传会被拒绝(GitHub Contents API 100 MB 限制),后续版本考虑改走 Release Assets。
- 第三个页签基于原版控件克隆,手柄对列表行的导航暂未适配(页签左右切换、按钮点击正常),欢迎反馈。
- Token 只保存在你本地 cfg 文件里,请勿把 cfg 分享给他人。
构建 / Build
./build-package.sh # 产物 dist/SuperVikingDepartment-ValheimSaveShare-<ver>.zip
./sync-install.sh # 同步到游戏 BepInEx/plugins 与 r2modman profile(需先退出游戏)
CHANGELOG
Changelog
1.0.6
文档与备用上传脚本修正,模组功能本身无变化。
- README 删掉「功能」列表中一行误留的占位文字「(见下)」,此前它会原样显示在模组页面上。
- 修正
manual-upload.bat(不依赖游戏内上传的备用批处理):Token 改从%AppData%\ValheimSaveShare\token.dat读取,与模组自身保持一致;此前它仍从 cfg 找 Token 字段,而该字段自 1.0.3 起已移除,导致脚本取不到 Token 直接退出。 - 修正
manual-upload.bat无法运行的问题:移除文件开头的 UTF-8 BOM(会让@echo off失效)、行尾统一为 CRLF、编码改为 GBK 并去掉chcp 65001。 - 修正
manual-upload.bat中if ... set ... & goto label的写法(&会无条件执行goto,导致条件判断失效、去空格可能死循环),改为显式标签跳转。 manual-upload.bat读不到 Token 时的提示改为给出 token.dat 的实际路径(原文案指向已废弃的 cfg 字段)。
1.0.5
GitHub Token 不再存放在 BepInEx config 目录,改用独立文件保存。
- Token 存放在
%AppData%\ValheimSaveShare\token.dat,cfg 中不再有任何 Token 字段。 - 首次运行自动在
%AppData%\ValheimSaveShare\生成带生成教程的 token.dat 模板;粘贴 token 保存后立即生效,无需重启游戏。 - 游戏内"尚未配置 Token / Token 权限错误"提示直接给出 token.dat 的完整路径。
- 包描述与 README 更新 Token 存储说明。
1.0.4
彻底移除 cfg 中的 Token 配置字段(1.0.3 曾以 cfg 作为一次性输入口并自动迁移,因模组尚未成功发布,直接简化为纯文件方案,无迁移逻辑)。
- GitHub Token 只存放在
%AppData%\ValheimSaveShare\token.dat,cfg 中不再有任何 Token 字段。 - 首次运行自动在
%AppData%\ValheimSaveShare\生成带生成教程的 token.dat 模板;粘贴 token 保存后立即生效,无需重启游戏。 - 游戏内"尚未配置 Token / Token 权限错误"提示改为直接给出 token.dat 的完整路径。
- manifest 包描述补充 Token 存储安全说明。
1.0.3
GitHub Token 不再存放在 BepInEx config 目录,改用独立文件保存。
- Token 实际存放位置改为
%AppData%\ValheimSaveShare\token.dat。 - cfg 里的
[GitHub] Token保留为一次性输入入口:粘贴 token 后重启游戏,自动移入 token.dat 并把 cfg 中该行清空;老用户升级后首次启动也会自动完成迁移,无需重新配置。 - 更新 cfg 描述、游戏内提示与 README 的 token 配置说明,明确 token 的存放路径与更换方式。
1.0.2
- 模组主页链接(website_url)指向源码仓库 ValheimSharedWorlds,源码已同步开源。功能与 1.0.1 相同。
1.0.1
首个公开发布版本(1.0.0 提交时版本号被平台风控流程占用,顺延为 1.0.1)。
- 主菜单新增「共享存档」页签:与「开始游戏 / 加入游戏」并列,列出已添加为共享的存档(未下载的显示“未下载”),选中后可直接开始游戏;进过世界再退回主菜单后页签正常保留。
- 「添加共享」(下载):粘贴 GitHub 链接(仓库主页 / 世界文件夹 / raw / API 链接均可,支持中文世界名)下载他人分享的世界,带进度与取消;同名本地世界覆盖前自动 zip 备份;游戏版本不一致时先询问。
- 「开始游戏」页签「返回」下方新增「共享存档」按钮:把当前选中的世界整组文件(
.fwl2/.db2/.ok/.chunks/.chunk+ 自动生成的 manifest)打包为单个world.zip一次请求上传到你的 GitHub 仓库,上传成功后分享链接自动复制到剪贴板。 - 支持 Steam 云存档(云端
worlds/里的世界通过游戏自带 FileReader / Steam 云存储读取,与本地存档一样可上传);下载的世界落地为本地存档worlds_local/。 - 支持私有仓库下载(配置 Token)与可选 HTTP 代理(
[GitHub] Proxy),适配国内直连 GitHub 困难的网络。 - 配置项:GitHub Repo / Branch / Token / PathPrefix / Proxy,位于
BepInEx/config/SuperVikingDepartment.ValheimSaveShare.cfg(cfg 内含 Token 生成教程与安全提示)。