Skip to content

储存空间优化

插件数据优化

对于 /plugins 文件夹储存是否需要进行优化这个问题,有个很简单的判断方法就是查看总占用,

如果超过了 200 MB ,那么很有可能有些插件使用了 Sqlite / yml / zip 等方式储存了一些东西,

在服务器有一定人数的情况下这并不是推荐的储存方式,在某些情况下可能对储存空间会有一定的占用。

使用数据库

合理使用数据库可以降低服务器硬盘占用。详见数据库相关

备份空间优化

使用备份插件替代整端备份

推荐两个备份插件(高效的备份,无需停服即可备份):

ebackup 可设置黑名单不备份某些文件,FTP 远程备份支持

serverbackup 可支持增量备份(即只备份最近变更过的文件),占用空间更小

存档存储空间优化

Minecraft 默认的区块格式是 ANVIL ,但是这个区块格式有很多弊端,比如存了一些无用信息,使用了强制对齐等,

且至今还使用着古老的 zlib 压缩格式,所以如果硬盘吃紧时候,可以尝试对其进行调整。

注意,这是很底层的东西,其实不推荐在非必要情况下进行处理

删除过时区块

有一个插件可以做到,但是忘了名字

TODO

更高效的储存方式

Linear

DANGER

Linear不适合玩家基数非常大/服务器经常滞后/压缩比较大(推荐默认1-5)/ CPU 核心数目小/服务器硬盘空间足够大的服务器。

换句话来说,只有玩家并不多但需要较大的地图且 VPS 默认给的硬盘较小时才应该考虑此格式。

如果强行在以上不适合使用 Linear 的服务器使用时可能会出现 局部大规模回档 的情况,请注意。

这应该是最后才应该考虑的方案。

此格式是由著名的 Xymb 大佬开发,相比于 ANVIL ,可以节省巨大的空间

主世界可以节省大约 50% 的空间,末地大约为 90% ,且使用现代的 zstd & lz4 压缩,可以获得更快的加载和保存速度。

转换区域格式

使用之前你需要将 ANVIL 转换成 Linear 区域格式,如果你使用的是 Leaves ,你可以在服务端内部自动转换。

转换工具 ,转换非常简单你只需要看着教程做就行(记得做备份)

开启区域格式

目前,支持线性区域格式的仅有 LinearPurpur , LinearPaper , Leaves , Leaf , Kaiiju (还有一堆Fork),

开启教程不多说,你只需要查看 Wiki 就行。

不兼容的插件

ServerBackup 一款备份插件,会由于找不到mca文件报错。 目前已知不兼容线性区域的格式的插件极少无比,已知的有大部分在线网页地图浏览程序,以及Residence部分不兼容(感谢z大神的优雅代码,当传送到一个未加载区块的领地时会崩溃)

测试结果

感谢 HaHaWTH 提供的测试结果,测试内容为使用 Chunky 加载半径 1000 格的方块并保存,测试核心为 Leaf ,实际结果可能与测试结果有出入。

世界ANVIL(原版格式)Linear(压缩比为一)Linear(压缩比为六,默认压缩比)Linear(压缩比为22)(最大压缩比)
主世界192MB142MB117MB92MB
地狱118MB70MB60MB46MB
末地87MB1.72MB1.2MB914KB
保存用时3m18s3m50s4m44s23m21s
内存占用3GB左右3.1GB3.3GB3.4 ~ 18GB(极不稳定)

:::note

不推荐压缩比开到最大,推荐值为 6

:::

Slime

请查看Slime 区域格式

其他

1。使用软链接 / 快捷方式共享多个服务器的 lib ,Minecraft 本体等(除非空间非常少否则不要这样,后果自负);

2。使用清理软件;

3。重装系统,并最小化安装(不安装非必要软件);

4。检查是否有多余的 Java(一般来说开服一个版本的 Java 即可)。

WARNING

除非你知道你在删什么否则请先请教大佬能不能删除或者先备份,不要删了才发现服务器出问题。