Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Мод [Forge][Skin Fix] YggdrasilAuth - мод для официальной системы авторизации и починки скинов

Тема в разделе "Модификации клиента", создана пользователем TaoGunner, 29 мар 2016.

  1. Автор темы
    TaoGunner

    TaoGunner Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    TaoGunner
    [​IMG]
    Yggdrasil Auth Mod - мод, позволяющий использовать для своих нужд официальную систему авторизации клиентов Minecraft, имя которой Yggdrasil. Подробнее об этой системе авторизации можно почитать в моем гайде, либо на вики. Если до этого, чтобы объеденить сервер и клиент общей системой авторизации требовалось редактировать InClassTranslator'ом библиотеку authlib-x.x.xx.jar, то сейчас нужно просто отредактировать нужные поля в конфигурационном файле. Мод делает следующие вещи:
    • [ Config ] Создает конфигурационный файл с ссылками на скрипты авторизации;
    • [ Skin Fix ] Ставит заглушку на проверку цифровой подписи скинов;
    • [ Skin Fix ] Ставит заглушку на проверку домена, с которого клиент получает скины.
    О последних двух пунктах: не так давно Mojang ввела цифровую подпись каждого скина, который находится на их серверах. Теперь, если отдать клиенту игры информацию о расположении скина, не найдя цифровую подпись, он применит стандартную текстуру Стива, поэтому на 1.8 скины просто так работать не захотели. Тем более, в более новых версиях библиотеки authlib существует проверка на домен, с которого эта информация поступает на клиент. Обычно эту проблему решали, используя аддон Skin Restorer. Мод убирает обе проверки, позволяя грузить ваши скины откуда угодно. Начинают работать скины игрока, плащей, а также отображаются лица в списке игроков.

    Текущая версия: 1.1.1

    Требования:
    • Minecraft версии 1.7.10 и выше с установленным Forge;
    • Оригинальная (без изменений) библиотека authlib-1.5.21 либо authlib-1.5.22;
    • Знание системы авторизации Yggdrasil и умение создавать обвязки для лаунчеров.
    [​IMG]
    [​IMG]

    При первом запуске игры мод создаст свой forge-конфиг (yggdrasilauth.cfg) с параметрами:
    Код:
    # Configuration file
    
    category_general {
        # Выводить информацию о замене ссылок в лог [по умолчанию: false]
        B:DEBUG=false
    
        # Путь до скрипта hasJoined [по умолчанию: http://127.0.0.1/auth/hasJoined.php]
        S:HASJOINED_URL=http://127.0.0.1/auth/hasJoined.php
    
        # Путь до скрипта join [по умолчанию: http://127.0.0.1/auth/join.php]
        S:JOIN_URL=http://127.0.0.1/auth/join.php
    
        # Путь до скрипта profile [по умолчанию: http://127.0.0.1/auth/profile.php?uuid=]
        S:PROFILE_URL=http://127.0.0.1/auth/profile.php?uuid=
    }
    По поводу опции debug: она позволяет проверить, произошла замена путей в библиотеке authlib, либо не произошла. Изменив опцию на true и запустив клиент, вы должны получить в логе следующее:
    Код:
    [08:50:59] [Client thread/INFO] [yggdrasilauth]: profile URL set to http://127.0.0.1/auth/profile.php
    [08:50:59] [Client thread/INFO] [yggdrasilauth]: join URL set to http://127.0.0.1/auth/join.php
    [08:50:59] [Client thread/INFO] [yggdrasilauth]: hasJoined URL set to http://127.0.0.1/auth/hasJoined.php?uuid=
    Если эти строки появились - значит мод заменил их корректно.

    Ссылки:
    • [v1.1.1] Yggdrasil Auth Mod : скачать (для версий Minecraft 1.7.10 | 1.8 | 1.8.9 | 1.9)
    • [v1.3] PHP-скрипты для Yggdrasil : скачать

    Бонус:

    Для тех, кто не использует Forge на своем сервере, выкладываю библиотеки authlib с вырезаной проверкой цифровой подписи и домена. Для установки на клиент достаточно заменить оригинал библиотеки в папке libraries, для установки на сервер - запихать содержимое библиотеки в jar-файл сервера, заменив тем самым оригинал. Также в этих библиотеках ссылки на скрипты авторизации заменены на следующие:
    Код:
    http://127.0.0.1/auth/join.php
    http://127.0.0.1/auth/hasJoined.php
    http://127.0.0.1/auth/profile.php?uuid=
    • [SkinFix] authlib-1.5.2x : скачать (для версий Minecraft 1.7.10 | 1.8 | 1.8.9 | 1.9)

    Нужна помощь с запуском или настройкой под лаунчер? Skype: TaoGunner
     
    Последнее редактирование: 2 апр 2016
  2. Хостинг MineCraft
    <
  3. GoodCoder

    GoodCoder Активный участник Пользователь

    Баллы:
    76
    Загрузи файлы на облако.
     
  4. Автор темы
    TaoGunner

    TaoGunner Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    TaoGunner
    Залил на файлообменник. Также все файлы доступны здесь.
     
  5. Neuter

    Neuter Старожил Пользователь

    Баллы:
    123
    Skype:
    Neuter3
    Имя в Minecraft:
    Dream4Game
    Почёт уважуха поц) Уважаю.
     
  6. Metronomko

    Metronomko Старожил Пользователь

    Баллы:
    123
    Skype:
    max2459567
    С Optifine совместимо?
     
  7. Автор темы
    TaoGunner

    TaoGunner Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    TaoGunner
    Не проверял с Optifine, но скорее всего - да, потому как мод не меняет ничего в игре. Только в библиотеке authlib.
     
  8. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    А что с плащами и блоком головы?
     
  9. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Спустя два года это таки появилось.
     
  10. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Это появилось уже очень давно. Просто отдельно никто не выкладывал. У всех свои реализации, единственная резница.
    P.s возможно сигнатуру совсем уберут и станет еще проще.
     
  11. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Ну, как бы имелось в виду тут, на ведре появилось.
     
  12. Автор темы
    TaoGunner

    TaoGunner Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    TaoGunner
    Бегло проверил на домашнем сервере:
    [​IMG]

    Обновление v1.1
    • Исправлены скины в одиночной игре : добавлена возможность изменения ссылки на скрипт https://sessionserver.mojang.com/session/minecraft/profile/<uuid> . По умолчанию она меняется на http://127.0.0.1/auth/profile.php?uuid= (добавление ?uuid= необходимо для корректной обработки GET-запроса). Данный скрипт обрабатывает запросы при заходе в одиночную игру.
    • В файл конфигурации добавлен параметр DEBUG. Он позволяет вывести в лог результат замены ссылок на скрипты.
    • Обновлены PHP-скрипты до версии 1.3.
    • Скрипт launcher.php : добавлена возможность регистрации нового пользователя.
    • Скрипт launcher.php : изменена проверка имени пользователя: теперь имя должно состоять минимум из 4 символов, первый из которых - буква.
    • Скрипт launcher.php : теперь результат работы скрипта выводится в JSON-формате. Это удобнее для обработки результата вашим лаунчером.
    • Добавлен скрипт profile.php : он производит вывод информации о скине и плаще игрока, зашедшего с одиночную игру.
     
    Последнее редактирование: 2 апр 2016
  13. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Вот теперь :good:
     
  14. GoodCoder

    GoodCoder Активный участник Пользователь

    Баллы:
    76
    @TaoGunner лучше сделать в конфиге полные ссылки на скрипты, к которым идёт GET запрос. Т.е. добавляться ничего не будет, а будет лишь подстановка значения с помощью String.format() так каждый сможет настроить скрипт так как ему нравится.
    Код:
    # Путь до скрипта profile
        S:PROFILE_URL=http://127.0.0.1/auth/profile.php?uuid=%s
     
  15. Linkinkov

    Linkinkov Старожил Пользователь

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    @TaoGunner всегда следил за вашими работами на minecraft modding. Как всегда все отлично работает!
     
  16. Автор темы
    TaoGunner

    TaoGunner Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    TaoGunner
    Да, согласен, подкорректировать стоит.
     
  17. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Какой get ты что курил? Там уже давно идет post raw data
     
  18. Автор темы
    TaoGunner

    TaoGunner Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    TaoGunner
    Вот рабочая, оригинальная версия запроса:
    Код:
    https://sessionserver.mojang.com/session/minecraft/profile/5e1e184e9f734cf9aa30ce6bef53254b?unsigned=false
    С помощью добавления ?uuid= я всего лишь хотел преобразовать подобный запрос в GET-формат:
    Код:
    http://127.0.0.1/auth/profile.php?uuid=5e1e184e9f734cf9aa30ce6bef53254b&unsigned=false
    Обновление 1.1.1
    • Обновлен файл конфигурации : теперь путь до файла profile.php редактируется полностью, вместе с добавлением ?uuid= (спасибо этому посту).
    • Исправлены ошибки мода, предназначенного для Minecraft версии 1.9 .
     
    Последнее редактирование: 2 апр 2016
  19. GoodCoder

    GoodCoder Активный участник Пользователь

    Баллы:
    76
    Что сам куришь то?
     
  20. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Ну на профиле у меня тоже самое. Остальное все в json идет.
    Хотя у меня была идея с .htaccess и чпу, но чет влом было переписывать.
     
  21. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Последний вопрос. Что будет, если выдать голову игрока, у которого нет скина, используя свою обвязку, не моджанг?
     

Поделиться этой страницей