PotatoSack —— 支持区块级粒度、可几乎不占用额外硬盘空间来利用 OneDrive / Dropbox / S3 增量备份世界数据 [1.19+]

原创 开源 世界管理 PotatoSack —— 支持区块级粒度、可几乎不占用额外硬盘空间来利用 OneDrive / Dropbox / S3 增量备份世界数据 [1.19+] 3.0.0

完成注册/登录后下载
[MD] ## 从 PotatoSack 2.x.x 更新到 3.0.0 直接把原本的 `PotatoSack-2.0.0.jar` 替换为本次发布的 `PotatoSack-3.0.0.jar` 即可,插件会自动迁移配置文件。 > PotatoSack 3.0.0 在**备份记录文件的存储格式上发生了变更**(从 `_xxx.json` 变成了压缩二进制格式 `_xxx.bin`)。建议修改服务端的 `plugins/PotatoSack/data/backup.json`,将其中的 `last_full_backup_time` 改为 `0`,以在服务器重新启动后立即触发一次全量备份,这样能用 PotatoSack 3.0.0 的格式创建一个新的备份组。 或者你也可以移除云端的所有 2.x.x 版本产生的备份组(如移动到其他地方),并删除本地的 `plugins/PotatoSack/data/` 目录,下一次全量备份的时候也会以 PotatoSack 3.0.0 的格式进行备份组创建。 > 你也可以选择啥都不做,PotatoSack 3.0.0 在继承旧的 2.x.x 备份组时,如果进行增量备份,**可能会产生一个体积相当于全量备份的增量备份压缩包**,自随后一次全量备份开始一切正常 (✧≖‿ゝ≖) 。 ## 变更内容 1. 新增对 **S3 / 兼容 S3 的对象存储**服务的支持; 2. 针对增量备份,新增特制的 PSMCA 格式(详见 README 中的[概念介绍](https://github.com/Bottle-M/PotatoSack/blob/main/README.zh-CN.md#%E6%A6%82%E5%BF%B5%E4%BB%8B%E7%BB%8D)一节)的 `.mca` 文件,以支持**按区块级别**追踪变更(以前的版本只要有一点变化就会备份整个 `.mca` 文件),显著减小增量备份产生的压缩包体积; 3. 修复 OneDrive 和 Dropbox 上传过程中因大量拷贝字节数组或者因递归重试所导致的,在备份过程中持有的对象引用迟迟没有释放、内存占用短时间内上涨明显的问题; 4. 修复主类初始化逻辑,因 `config.yml` 配置有问题而无法初始化时,不再直接停用插件,而是允许用户修改配置后,通过 `/potatosack reload` 重新初始化插件; 5. 延长 OkHttp 的 `CALL_TIMEOUT`,以防在上行传输速率过慢时 OneDrive 和 Dropbox 上传分片超时。 以及其他一些小 BUG 的修复... (*´꒳`*)b ## 版本支持 目前依旧支持 **Minecraft JE 1.19**+,**Java 17**+ ## 备份拼装工具 * **注**:PotatoSack 3.0.0 产生的备份组必须**由 `BackupsMerger 1.1.0` 及之后的版本**进行合并。 在这里下载: [BackupsMerger 1.1.0](https://github.com/Bottle-M/PotatoSack/releases/tag/backups-merger-v1.1.0) [/MD]
[MD] 经历了近 7 个月的~~摸鱼~~开发,更完善的 PotatoSack 2.0.0 终于来了! ## 注意:破坏性变更 PotatoSack 2.0.0 相较 1.x.x 版本有较大变化,如果你之前在使用 PotatoSack 1.x.x 版本,在升级至 2.0.0 前建议: 1. 备份之前的备份数据; 2. 删除旧版插件和配置,**从头开始配置** PotatoSack 2.0.0。 ## 变更内容 1. 代码重新整理,项目模块划分更合理,减少耦合; 2. 世界自动保存的切换逻辑重写; 3. 备份安排采用更可控的 **UNIX Cron** 表达式; 4. 备份上传失败、Access Token 更新失败时的退避引入指数退避机制; 5. 增加“无人上线时停止全量备份”功能,优化“无人上线”的判断逻辑,玩家上线时也不会突然执行备份了; 6. 优化流式压缩上传开始前等待异步保存完成的退避逻辑; 7. 支持配置备份在云端存储的基础目录 (`baseDir`) ; 8. **新增对 Dropbox 的支持** (#1 @Sunakier); 9. 配置文件新增版本号,另外**现在备份配置的不再是世界名,而是待备份路径**; 10. 支持通过**服务端根目录下的** `.potatosackignore` 文件来指定备份时要忽略的文件或目录,详见 README; 11. 修复一些日志刷屏问题; 12. 现在 `/potatosack reload` 能正常热更新配置了; 以及其他一些 BUG 修复.... ## 版本支持 目前依旧支持 **Minecraft JE 1.19+** ## 备份拼装工具 在这里下载: [BackupsMerger](https://github.com/Bottle-M/PotatoSack/releases/tag/backups-merger-v1.0.0) ~~搞半天还要自己拼~~ [/MD]
后退
顶部 底部