
快速异步备份
只需按下一个键——或输入一条命令——即可轻松可靠地备份世界。你是否曾因一个流氓模组、一次停电,或仅是一个使用WorldEdit的错误决定而导致你的世界损坏?
世界备份
只需按下一个键——或输入一条命令——即可轻松、可靠地备份你的世界。
你的世界是否曾被一个不稳定的模组、一次停电,或仅仅是一个WorldEdit的糟糕操作毁掉?世界备份让你能用一条命令创建整个世界文件夹的即时压缩zip备份。备份在后台异步运行,你的服务器永远不会卡顿,而自动轮换功能可防止磁盘被塞满。
✨ 功能特性
即时备份 — 使用 `/backup <名称>` 创建世界的完整 `.zip` 备份
非阻塞 — 备份在独立线程中运行;你的服务器始终保持响应
自动轮换 — 旧的备份会根据可配置的限制自动清理
可配置 — 通过命令或JSON配置文件设置备份数量上限
默认安全 — 名称验证可防止路径遍历攻击
冲突友好 — 首先将世界复制到临时目录,然后从干净的副本进行压缩。被其他模组(如Sable)锁定的文件会自动重试,且等待时间递增。
全服广播 — 所有玩家都能看到备份进度和完成消息。
📋 命令
- `/backup <名称>` | 创建一个带有时间戳的zip备份,使用给定的名称。
- `/backuplimit <数量>` | 设置保留的最大备份数量(1–1000)
示例:
/backup before-portal → before-portal_2025-06-03_21-30-00.zip
/backup vanilla-test → vanilla-test_2025-06-03_21-31-15.zip
/backuplimit 25 → 将轮换限制设置为25个备份
默认情况下,所有玩家都可以使用这些命令——无需管理员权限。
⚙️ 配置
备份数量限制存储在服务器目录内的 `backup/backup_config.json` 文件中。它在第一次使用时自动创建,可以直接编辑:
json {"backupLimit": 10}
该限制也可以在游戏中通过 `/backuplimit <数量>` 命令更改。
📁 备份存储在哪里?
备份保存到服务器目录内的 `backup/` 文件夹中(在你的世界文件夹旁边)。每个备份都是一个格式如下的压缩 `.zip` 文件:
<名称>_<YYYY-MM-DD_HH-mm-ss>.zip
🔄 兼容性
世界备份旨在与其他模组和平共存:
- Sable — 完全兼容。世界文件在压缩前会被复制到临时目录,因此Sable的文件锁不会造成干扰。最多重试5次,每次等待时间递增。
- 冰与火之歌、恐怖之地以及其他 维度模组 — 所有子层级和自定义维度都会被备份。
- 任何文件锁定模组 — 先复制再重试的策略可以在不跳过数据的情况下处理其他模组锁定的文件。
- 任何世界类型 — 适用于原版、模组和自定义世界格式。
🛠 技术细节
- 先复制策略 — 使用 `Files.copy`(路径到路径)将世界文件夹复制到临时目录,该方法在Windows上使用 `CopyFileEx` API来处理锁定的文件。
- 备份在复制前会刷新所有区块到磁盘(`saveAllChunks`)。
- 通过 `CompletableFuture` 异步执行 — 不会造成服务器刻延迟。
- 针对暂时锁定的文件自动重试并增加等待时间(最多5次尝试)。
- 备份完成后(即使失败)会自动清理临时目录。
- 备份轮换按修改时间删除最旧的文件。
- 安全的文件名验证:只允许字母、数字、连字符和下划线。
📦 安装
- 为Minecraft 1.21.1+安装NeoForge。
- 将 `worldbackup-1.0.0.jar` 放入你的 `mods/` 文件夹。
- 启动服务器 — 备份功能即可使用。
无需额外配置即可开始使用。只需执行 `/backup my-backup` 即可。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。