Skip to content

Кросс серверная настройка

Ilya Andreev edited this page Dec 23, 2023 · 1 revision

Кросс-серверная настройка

Chatty поддерживает кросс-серверные чаты, которые будут транслироваться на все серверы сразу. Для этого не требуется плагин на прокси-сервере, и прокси в этой связке никак не участвует. Сети серверов с несколькими прокси также поддерживаются.

Таким образом, можно использовать любые прокси-серверы (BungeeCord, Velocity, GoLilyPad и т.д.). Также для использования требуются Redis и общая внешняя база данных (MySQL или PostgreSQL).

Для настройки нужно заполнить конфигурацию "proxy.yml":

  • Установить "enable" в значение true;
  • Указать данные для подключения к Redis (обязательное требование);
  • Указать данные для подключения к общей для всех серверов базе данных MySQL или PostgreSQL (также обязательное требование).

Далее на чаты, которые должны стать кросс-серверными, нужно установить "range" в значение -3. Приватные сообщения дополнительно настраивать не нужно.

Особенности кросс-серверных сообщений

Есть несколько ограничений и особенностей, которые проявляются в кросс-серверных чатах и личных сообщениях:

  • Relational placeholders не поддерживаются, т.к. они требуют нахождение обоих игроков на одном сервере одновременно;
  • Плейсхолдеры распознаются на сервере, с которого отправляется сообщение: например, личные сообщения будут брать плейсхолдеры с префиксами с текущего сервера, а не того, где находится получатель;
  • Некоторые обычные плейсхолдеры, связанные с игроком-получателем личных сообщений, не будут работать (многие плейсхолдеры требуют нахождения на сервере);
  • Кросс-серверные mentions (упоминания) не поддерживаются;
  • Вид сообщения (формат, воспроизводимый при получении звук и прочее) задаётся сервером, с которого оно отправляется. Это позволяет, например, добавить на каждом сервере префикс с указанием нахождения отправителя: "[Lobby]", "[Survival]" и т.п.;
  • Чтобы на сервере, подключенном к кросс-серверной сети, показывались сообщения с других серверов, на нём должен быть создан чат с таким же именем и "range" равным -3.