Skip to content

在服务器间同步数据

数据可以在不同服务器之间同步。

需求

若要同步数据,你必须使用远程数据库。所有服务器都会连接到同一个数据库。

见“存储类型”章节获取更多信息。你需要使用这个章节提及的“远程数据库”。

立刻通知更新

直接连接至同一个数据库显然不能立即在服务器之间同步数据。LuckPerms 需要知道数据发生变化才能对它进行更新。

这可以通过许多方式实现。

所有这些设置都可以在 更新提醒 & 通信服务 部分中找到。

同步间隔

你可以决定 LuckPerms 从数据库中获取更新的延时。 这个时间可以在配置文件中修改,默认值为 -1(表示禁用该功能)。

YAML
sync-minutes: -1

监控文件

若你使用的是基于文件的存储类型(YAML、JSON 或 HOCON),LuckPerms 可以监听这些文件,并在文件出现改动后自动重载。

这表示你可以编辑其中一个数据文件,所作改动会立即应用至服务器。
该设置可在配置文件中找到,默认关闭。

YAML
watch-files: true

/lp sync

/lp sync 命令会让插件从数据库/文件自动同步最新的变动。

通信服务

在安装后,其他服务器会收到更新提醒,并响应从数据库传来的最后一份复制数据。

数据不会在该服务中存储 —— 它只会被用作通信平台。

通信服务可以在配置文件的 messaging-service 部分进行设置。

可用选项

服务描述
sql使用 SQL 数据库来构建通信队列系统。若你正在使用远程 SQL 数据库,则此为默认选项。
pluginmsg使用插件信道来与群组交流。LuckPerms 必须安装在所有群组服和子服上。在多于一个群组的情况下不会生效。
lilypad使用 LilyPad Connect 的 PubSub 系统来交流。
redis连接至 Redis 实例并使用 PubSub 系统来交流。
rabbitmq连接至 RabbitMQ 实例并使用 PubSub over AMQP 系统来交流。
nats连接至 Nats 实例并使用 PubSub 系统来交流。
custom强制 messaging-service 使用你通过 LuckPerms API 实现的通信方式。

你也可以通过 LuckPerms API 实现自己的通信服务。但在此之前确保你将 messaging-service 设置为了 custom,否则插件会在启用时报错。