旧版迁移
本页详细介绍了从HuskTowns v1.8.2迁移到HuskTowns v2.x的过程。
HuskTowns的迁移工具将迁移所有现有的领地到HuskTowns v2.x——除了管理员领地。由于领地系统保存数据的方式不同,您需要在完成设置和迁移后使用/admintown claim
重新创建管理员领地。
迁移步骤
✅ 在开始迁移之前,请确保所有服务器都已离线,并且用户无法连接到您的网络
请按照以下步骤从HuskTowns v1.8.2升级。如果您运行的是更早的版本,请先更新到HuskTowns v1.8.2,然后再从v2.x迁移。
1 删除旧文件
- 导航到服务器上的
~/plugins/HuskTowns/
目录 - 将所有文件移出此文件夹,并将它们安全地保存在您的计算机上
- 从
~/plugins/
文件夹中删除HuskTowns v1.8.2的jar文件,并用HuskTowns v2.x替换它 - 对于网络中运行HuskTowns的每个服务器(如果您使用跨服务器模式),重复步骤1-3。
- 启动所有服务器,然后稍后停止它们。
2 配置插件
- 导航到服务器上的
~/plugins/HuskTowns/
目录,检查插件是否生成了新的配置文件 - 打开新生成的
config.yml
和您之前复制的旧版v1config.yml
,并将它们并排比较。- 如果您之前使用MySQL:将数据库类型设置为
MYSQL
并输入您的连接凭据——但请确保表名是新名称,并且不与现有使用的表名匹配。 - 如果您之前使用跨服务器(“bungee”)模式:确保在此文件中将跨服务器模式设置为true
- 填写其他设置以匹配您现有的设置(例如,管理员城镇名称等)。
- 确保两个配置文件中的禁用世界列表匹配,以便HuskTowns正确生成所需的领地世界。
- 如果您之前使用MySQL:将数据库类型设置为
- 如果您之前自定义了城镇角色:打开新生成的
roles.yml
和您之前复制的旧版v1config.yml
,并将它们并排比较。- 在新文件的“names”下,输入角色名称和关联的权重,如旧配置文件中定义的那样
- 在新文件的“roles”下,为每个权重添加权限列表。如果您不希望为某个角色级别分配任何权限,请在冒号后输入
[]
- 如果您之前自定义了城镇标志默认值:打开新生成的
rules.yml
和您之前复制的旧版v1config.yml
,并将它们并排比较。- 为每种领地类型、荒野、管理员领地和不可领地世界填写默认标志规则,如旧配置中设置的那样
- 您还可以编辑
flags.yml
以自定义每个标志允许的操作
- 如果您使用跨服务器模式:创建一个名为
server.yml
的新文件,并打开您之前复制的旧版v1config.yml
,并将它们并排比较- 在文件顶部,输入
name: '<server>'
,将<server>
替换为旧配置中定义的此服务器的ID名称。
- 在文件顶部,输入
- 根据您的喜好更新
messages-xx-xx.yml
文件。请注意,您不能使用旧文件,因为界面和系统消息已完全重写。 - 对于网络中运行HuskTowns的每个服务器,重复步骤1-7
- 启动所有服务器
3 执行迁移
⚠️ 如果您的表中有任何HuskTowns v2数据,它将在您开始迁移过程时被删除
- 在其中一台服务器的控制台中,输入
husktowns migrate legacy
- 仔细阅读屏幕上的说明,并确保列出的参数正确。例如,如果您之前使用MySQL,请确保参数与您的MySQL数据库匹配,并且数据库类型设置为
MYSQL
- 如果您需要更改参数,请使用
husktowns migrate legacy set <parameter_name> <value>
进行更改 - 当您满意时,运行
husktowns migrate legacy start
以开始该过程。这可能需要几分钟才能完成。- 您可能会收到一条警告,提示无法迁移管理员城镇。这是预期的,因为迁移工具不支持迁移管理员领地。
- 确保在完成设置后重新创建您的管理员领地。
- 迁移完成后,重新启动每台服务器。
您的数据应该已经迁移。您可以使用控制台或游戏中的town list
命令检查是否已迁移。