我的世界WorldEdit插件从快照恢复教程
WorldEdit一个非常强大的功能是它可以将你选区定义的范围加载,并在不关闭服务器或使用外部编辑器的情况下从一个备份恢复它。
很多问题都可以使用这个方法轻易解决,从撤销熊孩子的破坏到修复地图存储故障甚至回滚一个你放弃的作品都能使用这个方法完成。
配置快照
提示:Minecraft 1.3 加入的新世界格式从WorldEdit 4.1开始被支持。
为了能让WorldEdit读取你的备份,你需要选择一个存放备份文件的路径。设置完成后,把地图的副本或压缩过的地图副本放进备份文件夹即可。以下是一个整理备份文件夹方法的例子。
- backups/ (这个是存储备份的文件夹)
- world/ (这个是地图名)
- 2010-06-23-12-00-00.zip
- 2010-06-22-12-00-00/
- 2010-06-21-12-00-00.zip
- 2010-06-20-12-00-00/
- world_nether/ (另一个地图)
- 2011-09-21-01-59-00.zip
- 2011-09-28-18-30-00/
- world/ (这个是地图名)
- 例子:配置文件条目示例
- directory: backups/world
你可以混合或者组合不同种类的备份,WorldEdit都可以读取。你需要在配置文件中设置存储备份的文件夹的路径参数来使WorldEdit知道快照文件夹的位置。注意冒号与路径之间需要留出一个空格,否则你会收到”Snapshot/backup restore not configured.” 的错误消息。你可以使用相对路径也可以使用绝对路径。相对路径使用你的server.jar文件所在的位置作为起始点。
如果你想让WorldEdit恢复的越快越好,你可能需要考虑将备份放到一个高速硬盘上。
文件名
WorldEdit需要一个特定的文件夹与文件的命名方式。因为它会使用文件名来确定哪个备份是新的,哪个备份是旧的。目前WorldEdit不会使用文件的修改日期因为这个日期不是一直准确的(尤其是当你开始大批复制文件的时候),所以WorldEdit会以文件名倒序排列(Z到A)并选出最上方的一项。所以最好的命名方法是在名字里包扩用零填充的数字,比如YYYY-MM-DD。
提示:如果你使用的是 *nix 或 BSA ,你可以使用以下指令来创建有符合规则文件名的ZIP文件 zip -v backups/`date "+%Y-%m-%d-%H-%M-%S"`.zip -r world
支持的存储档格式
目前WorldEdit仅支持ZIP文件。TAR文件不会被支持因为TAR格式没有中央索引,这样WorldEdit就必须通读整个压缩文件来找到一个特定的文件。因为Minecraft将每个区块储存在单独的文件中,而且一个地图有许多区块,使用像ZIP这样支持随机访问的格式是必须的。
提示:压缩你的地图会使它需要更多CPU计算,所以你应该考虑创建没有压缩的存储档(仅作为存储用)。
ZIP
WorldEdit会自动使用Java的ZIP库来打开ZIP文件,但它不能处理所有种类的ZIP文件。如果你使用ZIP文件作为快照时收到了奇怪的错误,你应该安装TrueZIP。WorldEdit会在可以的情况下自动使用TrueZIP。
注意:一段时间前添加的代码损坏了WorldEdit在ZIP文件中找到地图文件夹的能力。很遗憾,因为这个ZIP文件必须要拥有以下结构:
- 2010-06-23-12-00-00.zip
- 世界名/
- region/
- level.dat
- 等等…
- 世界名/
恢复
- //restore [快照名]
- /snap use <快照名>
- /snap use latest
- /snap list [数量]
- /snap sel <列表数字>
从备份恢复很简单!使用//restore [快照名]
来恢复选区(在选择之后)。
默认WorldEdit会自动选择使用最新的备份,除非你给出一个指定的快照。
你可以使用//restore,/snap use <快照名>
或/snap sel <列表数字>
来选择一个不同的快照。如果你使用/use,你就不需要在使用/restore时不停地写出快照的名称。使用/snap use latest
来让WorldEdit选择最新的快照。使用/snap list [数量]
来显示最新的可用的快照。