diff --git a/source/ru/_static/minecraft-auth/bungeecord_inclasstranslator.png b/source/ru/_static/minecraft-auth/bungeecord_inclasstranslator.png new file mode 100644 index 0000000..aee95e0 Binary files /dev/null and b/source/ru/_static/minecraft-auth/bungeecord_inclasstranslator.png differ diff --git a/source/ru/_static/minecraft-auth/bungeecord_move.png b/source/ru/_static/minecraft-auth/bungeecord_move.png new file mode 100644 index 0000000..93b6a9f Binary files /dev/null and b/source/ru/_static/minecraft-auth/bungeecord_move.png differ diff --git a/source/ru/minecraft-auth.rst b/source/ru/minecraft-auth.rst index 3e86619..4012781 100644 --- a/source/ru/minecraft-auth.rst +++ b/source/ru/minecraft-auth.rst @@ -335,11 +335,38 @@ Paper (PaperSpigot) | До: ``java -jar paper-ВЕРСИЯ-БИЛД.jar`` | После: ``java -jar cache/patched-ВЕРСИЯ.jar`` -Bungeecord -~~~~~~~~~~ +BungeeCord +========== -Установку необходимо производить только на сервер, на который пользователь выполняет первичных вход. В зависимости от -используемого ядра сервера, обратитесь к одному из пунктов `выше <#install-server>`_. +Хотя BungeeCord и является проксирующим сервером, авторизацию игроков он выполняет самостоятельно. К сожалению, BungeeCord не опирается на использование Authlib, а реализует процесс авторизации самостоятельно, поэтому для установки системы авторизации Ely.by вам понадобится модифицировать скомпилированные ``.class`` файлы. + +Для установки следуйте инструкции ниже: + +#. Скачайте программу InClassTranslator (прямых ссылок не даём, но его легко найти). + +#. С помощью архиватора откройте файл ``BungeeCord.jar``. + +#. Перейдите по пути ``net/md_5/bungee/connection`` и найдите там файл ``InitialHandler.class`` (без каких-либо символов $). + +#. Распакуйте этот файл. В самом простом случае сделать это можно просто "вытянув" его из окна архиватора. + +#. Откройте распакованный файл в программе InClassTranslator и замените в нём строку ``https://sessionserver.mojang.com/session/minecraft/hasJoined?username=`` на ``https://authserver.ely.by/session/hasJoined?username=``, как показано на рисунке ниже: + + .. figure:: _static/minecraft-auth/bungeecord_inclasstranslator.png + :align: center + :alt: Редактирование в InClassTranslator + +#. Сохраните изменения и перетащите измененный файл обратно в архив сервера. Подтвердите замену. + + .. figure:: _static/minecraft-auth/bungeecord_move.png + :align: center + :alt: Перетаскивание отредактированного файла назад в архив + +После выполнения этих действий вы можете указать в файле конфигурации BungeeCord (``config.yml``) значение ``online_mode=true``. + +.. important:: Мы также рекомендуем выполнить установку Authlib на все сервера позади BungeeCord. Это может быть необходимо для плагинов, которые используют API Mojang. Инструкция по установке на конечные сервера приведена `выше <#install-server>`_. + + При этом все сервера должны иметь в своей конфигурации (``server.properties``) значение ``online-mode=false``, поскольку пользователи уже авторизованы силами BungeeCord. Установка на версии ниже 1.7.2 ============================== @@ -379,7 +406,7 @@ Minecraft. Переписывать его сюда не имеет смысла .. figure:: _static/minecraft-auth/installing_by_inclasstranslator.png :align: center - :alt: Процесс перетягивания: что куда. + :alt: Порядок редактирования: выбрать нужную строку, изменить, сохранить. После этого вам нужно положить изменённый .class обратно в .jar файл игры.