在一次非正常关闭后,再启动MC服务器时输出以下错误,然后退出,无法启动。
其中,这一行是问题的源头:
java.lang.IllegalArgumentException: ChunkNibbleArrays should be 2048 bytes not: 0
可以看出,是存档出了问题,Google了一下,有人说用一个修复存档的工具可以搞定,但我试了不行。
于是我想到了一个简单粗暴的方法:把存档用Minecraft打开,然后进去走两步,让Minrcraft再存一下。
我用sshfs直接把服务器上的存档目录挂载到.minecraft/saves/下的一个文件夹中,直接就可以用Minecraft进了。
之后umount由sshfs远程挂载的文件夹,再启动MC服务器,果然就正常了。由此可见Minecraft对存档的容错能力比MC服务端强很多。