群组服配置
730 字约 2 分钟
2025-02-24
注意
- 此功能仍处于试验阶段;
- 请在确保你有能力应对可能出现的问题的情况下使用此功能;
- 请定时备份数据库以防数据丢失;
介绍
通过配置群组服,将多个服务器连接到同一个数据库,可以实现跨服传送、跨服管理领地等功能。
前置条件
- 已经了解 Dominion 配置文件结构,并完成了基础配置;
- 你的服务器是群组服,且已经配置好 BungeeCord 或 Velocity;
- 数准备好 MySQL 或 PgSql 数据库;
配置方法
根据目前为止遇到的问题,预计有以下三种情况:
- 低版本升级到 4,已经使用了一段时间(已经产生数据);
- 刚安装好 Dominion 还没有开始使用(还没有产生数据);
情况一
如果你原先使用的是 SqLite 那么你需要先使用 /dom export db
导出数据库,然后配置好 MySQL 或 PgSql 新数据库后启动一次服务器, 使用 /dom import db
导入数据库。 关闭服务器,再根据 情况二 的配置方法继续配置。
如果你原先配置的数据库就是 MySQL 或 PgSql,那么你可以直接参照 情况二 的配置方法继续配置,并添加其他子服。
注意
这个服务器配置文件中的 server-id
不能修改!
因为当前数据库中的领地所属服务器已经全部被设置为了这个 server-id
,修改后会导致无法找到原先的数据。
相关信息
如果你原先就有多个子服,并且每个子服都有领地数据。很遗憾,我们目前没有安全的办法将原先的多个子服合并到一个数据库中。 你只能选择保留其中一个服务器的领地数据。
情况二
1. 配置数据库
首先配置好数据库,你可以选择使用 MySQL 或 PgSql 其中之一,然后在所有子服务器的 plugins/Dominion/config.yml
中配置同样的数据库信息将所有服务器连接到同一个数据库。
注意
配置完成后先不要启动服务器!
2. 配置服务器信息
然后分别在各子服务器的 plugins/Dominion/config.yml
配置服务器信息:
multi-server:
enable: true
server-name: server
server-id: 1
其中:
multi-server.enable
:设置为true
启用群组服功能;multi-server.server-name
:服务器名称,该值应当与 BungeeCord 或 Velocity 中的服务器名称一致;multi-server.server-id
:服务器 ID,用于 Dominion 内部区分不同服务器,此值为正整数,且应当在所有服务器中唯一;
3. 启动服务器
最后确保所有服务器都配置好了数据库信息和服务器信息后,启动所有服务器。