跳到主要内容

存档

每个世界是 saves\ 下的一个文件夹,里面只有两个文件。地形不存整张地图,只存种子和方块修改,所以存档通常很小。

目录结构​

存档目录 / exe 旁边 / saves
saves\
My World\
world.dat
player.dat
Another World\
world.dat
player.dat

主菜单扫描 saves\ 下带 world.dat 的文件夹。世界名只保留 ASCII 字母、数字、空格、- 和 _,最长 40 个字符;其他字符会被过滤。安装在默认位置时,完整路径是 %LOCALAPPDATA%\Programs\CaelCraft\saves\。

world.dat​

magic 是 CAELWRLD,当前版本 2,读档仍接受 v1。它保存:

  • 世界种子。
  • 当前时间和天气。
  • 生物:类型、生命、活动中心。
  • 掉落物:位置、方块、数量、存在时长。
  • 所有方块修改,包括流体等级(0xFF 表示不是流体 / 水源)。

方块字段是 uint16_t;v1 存档里的 1 字节方块也能读。写文件先写 .tmp 再改名,避免写一半留下坏档。

player.dat​

magic 是 CAELPLYR,当前版本 2,读档仍接受 v1。它保存本地玩家:位置、朝向、飞行、生命、游戏模式、快捷栏选中格和 36 格背包。

联机时只有房主写自己的 player.dat;客户端玩家的背包和位置不落盘,重连后从主机给的出生点开始。主机保存的世界里仍然包含所有玩家的方块修改。

为什么存档这么小​

地形由种子重新生成,树、洞穴、岩浆和村庄都能重算;文件里只记录你改过的方块。这样做的好处是存档小、复制快,代价是改地形生成算法会让同种子的旧世界地形整体变样。开发版升级前先把 saves\ 整个复制一份。

用 /seed 可以看当前世界种子。输入种子时,主菜单会把字符串哈希成无符号整数;同一个字符串得到同一个世界。

备份与恢复​

  1. 先退出世界,最好关掉游戏,确保没有正在写的文件。
  2. 复制整个 saves\<世界名>\ 文件夹到别处,例如 D:\Backups\CaelCraft\。
  3. 要恢复就把文件夹复制回 saves\,保持原来的名字;主菜单会重新扫到它。
  4. 换电脑也一样:只带这个文件夹,不需要带整个游戏目录。

不要只备份 world.dat 而丢掉 player.dat,否则你的位置、生命和背包会回到默认状态。反过来只备份 player.dat 也没有世界。

在版本之间移动​

当前版本能读 v1 和 v2 存档,写出来的是 v2。未来加字段会继续 bump 版本;旧版本不一定能读新存档。把世界从新版本带回旧版本之前,先复制一份再试。

如果世界里用了模组方块,新电脑要装同一套模组;缺少模组时,未知方块会在读档时退化成空气。资源包只影响画面,不需要跟着存档走。

删除世界​

主菜单的世界列表里有删除按钮,删除前会二次确认;删除的是整个 saves\<世界名>\ 文件夹。也可以关掉游戏后直接在资源管理器里删。

旧版单文件存档​

更早的版本把世界存在 saves\world.save.caelc(magic CAELCRAF,v7)。当前版本不会列出、也不会自动导入这个文件;它没有迁移逻辑。如果你还有这种文件,先留着,不要覆盖。

存档出问题时​

  • 保存失败:检查安装目录是否可写、杀毒软件是否拦截、OneDrive 是否在同步。默认装在 %LOCALAPPDATA% 下不会遇到 Program Files 的只读问题。
  • 世界不见了:确认文件夹里还有 world.dat;没有这个文件的文件夹不会被列出。
  • 读档后地形变了:开发版改了生成算法;存档只存修改,无法恢复旧地形。用备份。
  • 模组方块变成空气:装回对应模组,或接受这些方块已被读档逻辑清掉。
  • 文件损坏:当前没有修复工具,只能换备份。写入使用 .tmp 再改名,正常退出不应该留下半截文件。

更多排查见 故障排查。