You are viewing a potentially older version of this package. View all versions.
SuperVikingDepartment-ValheimSaveShare-1.0.2 icon

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.2
Download link SuperVikingDepartment-ValheimSaveShare-1.0.2.zip
Downloads 27
Dependency string SuperVikingDepartment-ValheimSaveShare-1.0.2

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2350 icon
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.2350

README

ValheimSaveShare 存档共享

通过 GitHub 分享 Valheim 世界存档的 BepInEx 模组。

Share Valheim worlds between friends via your own GitHub repository.

功能 / Features

  • 「共享存档」页签:在主菜单"开始游戏 / 加入游戏"旁新增第三个页签,列出你已添加为共享的存档(与开始游戏页签同样的世界列表样式)。选中即可开始游戏。
  • 添加共享(下载):页签内「添加共享」按钮 → 粘贴 GitHub 链接(仓库主页或世界文件夹链接均可)→ 自动下载 manifest.json + 全部存档文件到 worlds_local/<世界名>/,带逐文件进度与取消。下载完成自动出现在世界列表。 (见下)
  • 支持中文世界名、私有仓库(下载时需配置 Token)、同名存档覆盖前自动 zip 备份、游戏版本不一致提示。

首次配置 / Setup

上传需要你有一个 GitHub 仓库和令牌(下载别人的公开分享不需要任何配置):

  1. 在 github.com/new 新建一个空仓库(如 valheim-shared-worlds,公开或私有均可)。
  2. 生成 fine-grained Personal Access Token:GitHub → Settings → Developer settings → Fine-grained tokens → Generate,只勾选该仓库的 Contents: Read and write。
  3. 编辑 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 生成教程与安全提示)。