Перенаправление сервера
Данный мод предоставляет легковесный способ для серверов переводить игроков на другой адрес сервера без использования прокси-сервера.
Server Redirect поддерживает Forge, Fabric, Bukkit/Spigot, SpongeVanilla/SpongeForge, Bungeecord/Waterfall и Velocity.
С помощью Server Redirect администраторы серверов могут избежать проблем несовместимости модов, вызванных прокси-серверами (Bungeecord, Waterfall и Velocity). В частности, этот мод можно использовать в сочетании с серверами и клиентами Waterfall и Forge 1.13+, чтобы обеспечить возможность перевода игроков между серверами (в настоящее время сервер Forge 1.13+ должен быть в режиме "online", так как они еще не включили переадресацию IP...).
Этот мод является опциональным, поэтому его можно добавлять в сборки модов, и игроки все равно смогут присоединяться к серверам без этого мода. Аналогично, к серверам с этим модом могут присоединяться клиенты без этого мода.
Загрузки
Клиенты игроков (Forge и Fabric)
- Загрузите последнюю версию для Forge или Fabric для вашей конкретной версии Minecraft
- Поместите загруженный jar-файл в вашу папку "mods"
Администраторам серверов
Плагин для Spigot (включая Cauldron/Mohist), Sponge, Bungeecord и Velocity
- Загрузите последнюю версию Плагина этого проекта
- Поместите загруженный jar-файл в папку "plugins" вашего сервера
Мод для серверов Forge и Fabric
- Загрузите последнюю версию для Forge или Fabric для вашей конкретной версии Minecraft
- Поместите загруженный jar-файл в папку "mods" вашего сервера
Pixelmon Reforged 9.0.0+ (Minecraft 1.16.5) включает мод Server Redirect, поэтому вы не можете добавлять jar-файл мода Server Redirect, иначе вы получите ошибку дублирующего мода!
Команды
- /redirect <Цель> <Адрес сервера>: перенаправляет указанного целевого игрока(ов) на указанный адрес
- /fallback <Цель> <Адрес сервера>: устанавливает адрес запасного сервера для указанного целевого игрока(ов)
- /ifplayercanredirect <Цель> <Команда...>: выполняет указанную команду для каждого из целевых игроков, у которых установлен Server Redirect
- /ifplayercannotredirect <Цель> <Команда...>: выполняет указанную команду для каждого из целевых игроков, у которых не установлен Server Redirect
Источником команды может быть всё, что может выполнять команду, например, командный блок, игрок или консоль. Замените /redirect на /fallback, чтобы указанные целевые игроки подключались к указанному адресу сервера при принудительном отключении от текущего сервера.
######Аргумент <Цель> может быть одним из следующих:
- Имя игрока/UUID: указанный игрок на сервере
- Селектор целей: селектор целей. Селекторы целей недоступны на Bungeecord и Velocity.
- r=N: все игроки в радиусе N блоков от отправителя команды или от точки возрождения в основном мире, если команда выполняется из консоли. Только для версии плагина.
- s=<ИмяСервера>: все игроки на указанном ИмениСервера. Только для Bungeecord и Velocity.
- *: все игроки на сервере.
######Аргумент <Команда...> может содержать следующие заполнители:
- %PlayerName: этот заполнитель будет заменен на имя игрока
- %PlayerId: этот заполнитель будет заменен на UUID игрока
ВАЖНО: /ifplayercanredirect и /ifplayercannotredirect, скорее всего, не будут работать должным образом, если выполняются сразу после присоединения целевого игрока к серверу. Эти команды полагаются на пакет, отправляемый клиентом на сервер, сообщающий о наличии установленного мода. Для отправки этого пакета клиентом и обработки его сервером требуется некоторое время. Рекомендуется задержать выполнение этих команд как минимум на 20 тиков после присоединения игрока к серверу!
#####Примеры:
- /redirect KaiNoMood myawesomemcserver.net:25667: игрок с именем KaiNoMood подключится к myawesomemcserver.net:25667
- /redirect a54a7884-9ea4-4d54-ac35-1623d70ffbe1 myawesomemcserver.net:25667: игрок с указанным UUID подключится к myawesomemcserver.net:25667
- /redirect * myawesomemcserver.net:25667: все игроки на сервере подключатся к myawesomemcserver.net:25667.
- /redirect @a[m=creative] myawesomemcserver.net:25667: все игроки в творческом режиме подключатся к myawesomemcserver.net:25667.
- /redirect r=10 myawesomemcserver.net:25667: все игроки в радиусе 6 блоков от отправителя команды подключатся к myawesomemcserver.net:25667. Работает только на серверах на основе Bukkit и Sponge.
- /redirect s=lobby myawesomemcserver.net:25667: все игроки на сервере "lobby" подключатся к myawesomemcserver.net:25667. Работает только на прокси-серверах Bungeecord и Velocity.
- /ifplayercanredirect * say %PlayerName в сети и использует Server Redirect! Ура!: указанная команда будет выполнена для каждого игрока на сервере, у которого есть Server Redirect.
- /ifplayercannotredirect @a[distance=..5] tell %PlayerName Похоже, у вас не установлен Server Redirect! Убедитесь, что вы его установили!: указанная команда будет выполнена для всех игроков без Server Redirect в радиусе 5 блоков от источника команды.
Замените /redirect на /fallback для установки запасного адреса для целевых игроков. Для получения дополнительной информации о команде fallback, читайте ниже.
Разрешения
- /redirect: serverredirect.command.redirect
- /fallback: serverredirect.command.fallback
- /ifplayercanredirect: serverredirect.command.ifplayercanredirect
- /ifplayercannotredirect: serverredirect.command.ifplayercannotredirect
Эти разрешения не предназначены для предоставления игрокам. Это команды только для консоли/командных блоков.
Эти разрешения действительны только для версии плагина.
PlaceholderAPI
Плагин поддерживает PlaceholderAPI (в настоящее время только для Bukkit/Spigot).
Заполнители:
- : 1, если у игрока есть Server Redirect, иначе 0
- : "Да", если у игрока есть Server Redirect, иначе "Нет"
- : "&aДа", если у игрока есть Server Redirect, "&cНет" иначе
- : "§aДа", если у игрока есть Server Redirect, "§cНет" иначе
В зависимости от версии и конфигурации PlaceholderAPI, вам, возможно, придется использовать %serverredirect% вместо .
Часто задаваемые вопросы (FAQ)
Как этот мод перенаправляет игроков
- При выполнении команды /redirect сервер отправляет "transfer" пакет, содержащий указанный адрес сервера, указанным игрокам.
- Все игроки, получившие пакет и имеющие установленный мод ServerRedirect, отключатся от сервера и автоматически напрямую подключатся к указанному адресу сервера.
Может использоваться любой адрес сервера, доступный игрокам через кнопку "Прямое подключение". Пакет "transfer" не повлияет на игроков без установленного мода: они просто останутся подключенными к текущему серверу.
Это поведение аналогично пакету перевода, присутствующему в "Minecraft: Bedrock Edition", функции, включенной Mojang по умолчанию в том клиенте. К сожалению, "Minecraft: Java Edition" полностью лишена этой функции.
Как команда redirect, так и fallback не предназначены для выполнения игроками. Они предназначены для выполнения консолью, командными блоками и другими плагинами. Рекомендуется использование псевдонимов команд и графических интерфейсов "выбора сервера" (см. BossShop или VirtualChest).
Для чего нужна команда fallback
Команда fallback сообщает клиентам, к какому адресу сервера они должны подключиться в случае принудительного отключения от текущего сервера (например, при сбое сервера).
Администраторам серверов рекомендуется использовать эту команду, запуская ее автоматически сервером для каждого игрока, присоединяющегося к серверу. Если сервер по какой-либо причине отключится, игроки автоматически напрямую подключатся к запасному адресу сервера, указанному в команде fallback.
Другое использование функции fallback — когда вы хотите перенаправить игрока на сервер, но он может быть отклонен по какой-то причине (например, сервер offline). Сначала установите запасной адрес для игрока на адрес сервера, к которому вы уверены, что он сможет подключиться, затем используйте команду redirect для перенаправления игрока на адрес сервера, с которого он может быть отклонен. Если игрок не сможет присоединиться к серверу, на который его перенаправили, он автоматически присоединится к запасному серверу.
Причины использования этого мода вместо прокси, такого как Bungeecord, Waterfall или Velocity
Моды Forge не всегда ожидают, что игрок будет перемещен с одного сервера на другой, и когда прокси переводит игрока на другой сервер, это может вызвать сбои или падения. Моды Forge обычно ожидают отключения от сервера перед подключением к другому. Кроме того, Forge 1.13+ не поддерживает переключение серверов через прокси. Этот мод решает проблему, правильно отключая игроков от сервера, а затем подключая их к другому серверу. Таким образом, моды могут корректно обрабатывать переход игроков с одного сервера на другой.
Администраторы серверов также могут использовать комбинацию прокси и Server Redirect, если хотят использовать все другие функции, которые предоставляют прокси (кроме серверов Forge 1.13+ в настоящее время). Тем не менее, предлагается рассмотреть возможность замены прокси на кросc-серверные плагины и моды.
Игроки с этим модом могут присоединяться к серверам без этого мода
Любая комбинация наличия/отсутствия этого мода позволит игрокам подключаться к серверам. Игроки с этим модом могут подключаться к ванильным серверам, а игроки с ванильным Minecraft также могут подключаться к серверам с этим модом.
Этот мод можно добавлять в сборки модов
Не стесняйтесь добавлять этот мод в публичные и приватные сборки модов. Разрешение запрашивать не требуется. Если вы добавляете Server Redirect в свою публичную сборку модов, не стесняйтесь сообщить об этом всем в комментариях ниже! Хотя этот мод не должен конфликтовать с другими модами, не стесняйтесь сообщать о конфликтах здесь.