Skip to content

迁移数据

目前 HyperZoneLogin 支持从 Authme 和 Multilogin 2个插件迁移数据。

首先,请在core.conf配置中激活data-merge模块。

core.conf
modules {
data-merge=true
}

然后重启服务器一次,令模块生成对应的配置文件。你需要按照下方指引修改配置文件中的字段,使插件能够正确获取原有数据库中的信息。

修改配置后,即可执行/hzl-merge ml命令从 Multilogin 迁移数据,或者执行/hzl-merge am命令从 Authme 迁移数据。插件会将迁移的日志保存到/plugins/hyperzonelogin/merge目录下,以便查阅和故障排查。

数据妥当迁移后就不再需要data-merge模块,为避免误操作,建议及时禁用。

Multilogin 数据迁移的配置文件为/plugins/hyperzonelogin/data-merge目录下的multilogin.conf文件。

在此之前,你需要先按照 Multilogin 中的原有配置,为每个 Yggdrasil 登录服务创建好条目配置文件

之后,你需要注意修改以下配置:

  • source.type:Multilogin 插件数据库的类型。请根据你原先的配置选择 H2DBMYSQL
  • tables.user-data-tabletables.in-game-profile-table默认配置下勿动。 如果你修改过 Multilogin 配置中的数据表前缀(tablePrefix),请将最开头的multilogin更改为你设定的前缀,其余部分勿动。
  • service-id-mapping:参照配置页面说明修改。

如果你原先使用 H2DB 数据库,你还需要调整以下配置:

  • source.h2.path:Multilogin H2DB 数据库文件路径。请填写相对于/plugins/hyperzonelogin/目录的路径。

如果你原先使用 MySQL 数据库,你还需要调整以下配置:

  • source.mysql.host:Multilogin MySQL 主机地址。
  • source.mysql.port:Multilogin MySQL 端口。
  • source.mysql.database:Multilogin MySQL 数据库名称。
  • source.mysql.username:Multilogin MySQL 数据库用户名。
  • source.mysql.password:Multilogin MySQL 数据库密码。

其余配置请勿擅自改动,除非你修改过 Multilogin,使用了自定义的 JDBC 链接或参数。

Authme 数据迁移的配置文件为/plugins/hyperzonelogin/data-merge目录下的authme.conf文件。你需要注意修改以下配置:

  • source.type:Authme 插件数据库的类型。请根据你原先的配置选择 SQLITEMYSQL

如果你原先使用 SQLite 数据库,你还需要调整以下配置:

  • source.sqlite.path:Authme SQLite 数据库文件路径。请填写相对于/plugins/hyperzonelogin/目录的路径。

如果你原先使用 MySQL 数据库,你还需要调整以下配置:

  • source.mysql.host:Authme MySQL 主机地址(对应Authme的DataSource.mySQLHost配置项)。
  • source.mysql.port:Authme MySQL 端口(对应Authme的DataSource.mySQLPort配置项)。
  • source.mysql.database:Authme MySQL 数据库名称(对应Authme的DataSource.mySQLDatabase配置项)。
  • source.mysql.username:Authme MySQL 数据库用户名(对应Authme的DataSource.mySQLUsername配置项)。
  • source.mysql.password:Authme MySQL 数据库密码(对应Authme的DataSource.mySQLPassword配置项)。
  • tables.auth-me-table:Authme MySQL 数据表名称(对应Authme的DataSource.mySQLTablename配置项)。

其余配置请勿擅自改动,除非你修改过 Authme,使用了自定义的 JDBC 链接或参数。