跳到主要内容

旧版迁移

本页详细介绍了从HuskTowns v1.8.2迁移到HuskTowns v2.x的过程。

HuskTowns的迁移工具将迁移所有现有的领地到HuskTowns v2.x——除了管理员领地。由于领地系统保存数据的方式不同,您需要在完成设置和迁移后使用/admintown claim重新创建管理员领地。

迁移步骤

✅ 在开始迁移之前,请确保所有服务器都已离线,并且用户无法连接到您的网络

请按照以下步骤从HuskTowns v1.8.2升级。如果您运行的是更早的版本,请先更新到HuskTowns v1.8.2,然后再从v2.x迁移。

1 删除旧文件

  1. 导航到服务器上的~/plugins/HuskTowns/目录
  2. 将所有文件移出此文件夹,并将它们安全地保存在您的计算机上
  3. ~/plugins/文件夹中删除HuskTowns v1.8.2的jar文件,并用HuskTowns v2.x替换它
  4. 对于网络中运行HuskTowns的每个服务器(如果您使用跨服务器模式),重复步骤1-3。
  5. 启动所有服务器,然后稍后停止它们。

2 配置插件

  1. 导航到服务器上的~/plugins/HuskTowns/目录,检查插件是否生成了新的配置文件
  2. 打开新生成的config.yml和您之前复制的旧版v1 config.yml,并将它们并排比较。
    1. 如果您之前使用MySQL:将数据库类型设置为MYSQL并输入您的连接凭据——但请确保表名是新名称,并且不与现有使用的表名匹配。
    2. 如果您之前使用跨服务器(“bungee”)模式:确保在此文件中将跨服务器模式设置为true
    3. 填写其他设置以匹配您现有的设置(例如,管理员城镇名称等)。
    4. 确保两个配置文件中的禁用世界列表匹配,以便HuskTowns正确生成所需的领地世界。
  3. 如果您之前自定义了城镇角色:打开新生成的roles.yml和您之前复制的旧版v1 config.yml,并将它们并排比较。
    1. 在新文件的“names”下,输入角色名称和关联的权重,如旧配置文件中定义的那样
    2. 在新文件的“roles”下,为每个权重添加权限列表。如果您不希望为某个角色级别分配任何权限,请在冒号后输入[]
  4. 如果您之前自定义了城镇标志默认值:打开新生成的rules.yml和您之前复制的旧版v1 config.yml,并将它们并排比较。
    1. 为每种领地类型、荒野、管理员领地和不可领地世界填写默认标志规则,如旧配置中设置的那样
    2. 您还可以编辑flags.yml以自定义每个标志允许的操作
  5. 如果您使用跨服务器模式:创建一个名为server.yml的新文件,并打开您之前复制的旧版v1 config.yml,并将它们并排比较
    1. 在文件顶部,输入name: '<server>',将<server>替换为旧配置中定义的此服务器的ID名称
  6. 根据您的喜好更新messages-xx-xx.yml文件。请注意,您不能使用旧文件,因为界面和系统消息已完全重写。
  7. 对于网络中运行HuskTowns的每个服务器,重复步骤1-7
  8. 启动所有服务器

3 执行迁移

⚠️ 如果您的表中有任何HuskTowns v2数据,它将在您开始迁移过程时被删除

  1. 在其中一台服务器的控制台中,输入husktowns migrate legacy
  2. 仔细阅读屏幕上的说明,并确保列出的参数正确。例如,如果您之前使用MySQL,请确保参数与您的MySQL数据库匹配,并且数据库类型设置为MYSQL
  3. 如果您需要更改参数,请使用husktowns migrate legacy set <parameter_name> <value>进行更改
  4. 当您满意时,运行husktowns migrate legacy start以开始该过程。这可能需要几分钟才能完成。
    1. 您可能会收到一条警告,提示无法迁移管理员城镇。这是预期的,因为迁移工具不支持迁移管理员领地。
    2. 确保在完成设置后重新创建您的管理员领地。
  5. 迁移完成后,重新启动每台服务器。

您的数据应该已经迁移。您可以使用控制台或游戏中的town list命令检查是否已迁移。