HyBackup

HyBackup

HyBackup 自动备份您的 Hytale 服务器。 可安排每日或间隔备份。 存档以 .zip 格式保存在 mods/HyBackup/backups/ 目录下(每天一个文件夹)。

实用

HyBackup

拯救你的世界/服务器,防止损坏或恶意破坏!

功能

  • 运行自动备份(每天定时,或每隔N分钟)。
  • 将备份存储在 mods/HyBackup/backups/ 中,每天一个子文件夹(格式:MM-dd-yyyy)。
  • 跳过锁定的文件,确保备份可靠完成。
  • 始终排除 mods/HyBackup/backups 目录。

安装

  1. HyBackup-<version>.jar 放入 mods/ 文件夹
  2. 启动一次服务器 → 会生成 mods/HyBackup/config.jsonmods/HyBackup/messages.json
  3. 根据需要编辑 config.json,然后运行 /hybackup-configreload 或重启你的世界/服务器

权限

  • 命令仅限 OP(管理员)使用。

命令

  • /forcebackup — 立即执行一次备份
  • /hybackup-configreload — 在运行时重新加载配置和消息

默认配置(默认值)

该文件在生成时会包含内联注释,方便快速参考。

{
  "_comments": [
    "schedule: 'daily' 表示每天在 'time' 时刻执行一次;'interval' 表示每 'everyMinutes' 分钟执行一次。",
    "time: 12小时制格式(例如 '3:00 AM')。仅当 schedule='daily' 时使用。",
    "everyMinutes: 两次备份之间的间隔分钟数。仅当 schedule='interval' 时使用。",
    "target: 'world' = 仅备份 'universe';'entire' = 备份整个服务器(排除 mods/HyBackup/backups;ZIP 根目录为 'Server');'specific' = 仅备份 'include' 中指定的目录。",
    "include: 当 target='specific' 时需要包含的目录列表。",
    "replaceSameDay: (ZIP 文件) true = 覆盖当天的 ZIP 文件;false = 每天生成多个 ZIP 文件(添加 HH-mm-ss 后缀)。"
  ],
  "schedule": "daily",
  "time": "12:00 AM",
  "everyMinutes": 60,
  "replaceSameDay": true,
  "target": "world",
  "include": [
    "universe"
  ]
}

选项(快速参考)

  • schedule:备份执行的频率
    • "daily":每天在 time 时刻执行一次备份
    • "interval":每 everyMinutes 分钟执行一次备份
    • 使用服务器的本地时间和时钟
  • time(当 schedule = "daily" 时)
    • 12小时制时间,例如 "3:00 AM"
    • 如果 schedule = "interval",则忽略此选项
  • everyMinutes(当 schedule = "interval" 时)
    • 备份间隔的分钟数,例如 30
    • 最小为 1 分钟
  • target:要备份的内容
    • "world":仅备份世界文件夹(universe
    • "entire":备份整个服务器目录,自动排除 mods/HyBackup/backups
      • 在压缩包内,顶级文件夹名称为 Server
      • HyBackup 的 config.jsonmessages.json 会被包含
    • "specific":仅备份 include 中列出的文件夹
  • include(与 target = "specific" 配合使用)
    • 相对于服务器根目录的文件夹路径列表,例如 ["universe", "configs"]
    • 每个条目必须存在;不存在的路径会被跳过并显示警告
    • 使用简单的顶级文件夹名称(不支持通配符)
  • replaceSameDay
    • true:每天一个压缩包(覆盖 hybackup-MM-dd-yyyy.zip
    • false:每天多个压缩包(hybackup-MM-dd-yyyy-HH-mm-ss.zip...-1.zip 等)

输出结构

  • 所有 ZIP 压缩包都写入当天的文件夹中,例如:
    • mods/HyBackup/backups/MM-dd-yyyy/hybackup-MM-dd-yyyy.zip(replaceSameDay = true)
    • mods/HyBackup/backups/MM-dd-yyyy/hybackup-MM-dd-yyyy-HH-mm-ss.zip(replaceSameDay = false)

示例

  • 每日凌晨3:00,仅备份世界,每天一个文件:
{
  "schedule": "daily",
  "time": "3:00 AM",
  "replaceSameDay": true,
  "target": "world",
  "include": ["universe"]
}
  • 每30分钟,备份指定文件夹,每天多个文件:
{
  "schedule": "interval",
  "everyMinutes": 30,
  "replaceSameDay": false,
  "target": "specific",
  "include": ["universe", "configs"]
}
  • 整个服务器,每天午夜,每天多个文件:
{
  "schedule": "daily",
  "time": "12:00 AM",
  "replaceSameDay": false,
  "target": "entire",
  "include": ["universe"]
}

备注

  • target = "entire" 时,ZIP 压缩包内的根文件夹名为 Server
  • 锁定的文件会被跳过并显示警告,备份会继续执行。
  • 编辑 config.jsonmessages.json 后,使用 /hybackup-configreload 应用更改。

鸣谢

burlone413 创建,这是我为 Hytale 制作的第一个模组,希望你喜欢!如有任何 Bug,请在 Discord 上联系我(用户名 = burlone413)。