1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Утилита [1.7.10 - 1.20.2] Authlib SkinFix - Авторизация и работающие скины своими руками

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

Метки:
  1. Mr.KotE

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

    Баллы:
    68
    Имя в Minecraft:
    JCatMC
    Да можно спокойно держать код, репы не блокают
    upload_2022-1-11_20-36-40.png
     
  2. shoei1944

    shoei1944 Активный участник

    Баллы:
    61
    Ядро Purpur 1.16.5 всё работает, но требуется доп. фикс файлов.
    1. В cache mojang 1.16.5.jar и patched_1.16.5.jar заменить authlib на свой
    2. В самом ядре в patch.properties поставить хеши от изменённых
    mojang_1.16.5.jar и patched_1.16.5.jar
    patch=paperMC.patch
    sourceUrl=https\://launcher.mojang.com/v1/objects/1b557e7b033b583cd9f66746b7a9ab1ec1673ced/server.jar
    originalHash=хеш от mojang 1.16.5.jar
    patchedHash=хеш patched_1.16.5.jar
    version=1.16.5
    3. Всё успех!
     
  3. Hunter_Vip

    Hunter_Vip Активный участник

    Баллы:
    61
    Имя в Minecraft:
    Hunter_Vip
    Ядро Forge 1.7.10

    Потребовалось просто заменить authlib со своими ссылками[​IMG]

    Выражаем огромную благодарность TaoGunner от всей команды MPC 33 за проделанную работу
     
  4. LordBane999

    LordBane999 Активный участник

    Баллы:
    61
    Имя в Minecraft:
    LordBane999
    Не думал, что вновь займусь модами спустя столько лет, но благодаря данному ТСу 1.16.5 работает только так, без лишних модов на скины вдобавок.
     
  5. GreenFeedYT

    GreenFeedYT Активный участник

    Баллы:
    61
    Имя в Minecraft:
    II_GreenFeed_II
    Спасибо огромное! Помог, человек сделал крутую работу и при этом помог мне настроить этот патч. Заслуживает уважения
     
  6. Автор темы
    TaoGunner

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

    Баллы:
    66
    Имя в Minecraft:
    TaoGunner
    Немного о наболевшем: с выходом 1.19 к каждому сообщению чата прикрепляется цифровая подпись, она нужна для системы репортов.
    Я поверхностно проверил authlib-3.11.49.jar : после того, как были убраны все обычные проверки, меня не пустило на сервер с сообщением:
    Код:
    Invalid signature for profile public key.
    Логично предположить, что мой пиратский профиль не получил ключи с официального api /player/certificates
    Проблема решается изменением параметра в enforce-secure-profile в server.properties:
    Код:
    enforce-secure-profile=false
    Тогда всё работает.
    upload_2022-8-6_23-40-49.png

    Новые версии патченных библиотек выложу позже, как проверю работу всех версий библиотек с 1.16.5 до 1.19.2 .
    Если у кого есть информация про уже готовую реализацию api социального взаимодействия и системы репортов - буду рад помощи.
     
  7. Автор темы
    TaoGunner

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

    Баллы:
    66
    Имя в Minecraft:
    TaoGunner
    Обновление до Minecraft v1.19.2

    Изменения:
    • Добавлены пропатченные библиотеки для Minecraft 1.17.1, 1.18.2, 1.19.2;
    • Добавил под спойлер раздел [FAQ] Часто-задаваемые вопросы.
    Менять пути InClassTranslator'ом не пробовал, менял с помощью онлайн-редактора. Работоспособность проверял на локальном ванильном сервере. Система социального взаимодействия (по простому - система мутов игроков) работает. Система банов и репортов из 1.19 - отключена (когда мелкомягкие её доделают, попробую оживить).
     
  8. SergK35

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

    Баллы:
    76
    Имя в Minecraft:
    Sergk35
    Сурсы патчей увидеть можно ?
     
  9. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Нет, читай шапку.
     
  10. Mr.KotE

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

    Баллы:
    68
    Имя в Minecraft:
    JCatMC
    У меня только есть частичная эмуляшка моджанговского апи, да и то я её забросил где-то на версии 1.17, если нужно могу доработать. Там есть тема с привилегиями (блок чата, доступа на сервера, вроде в 1.17 и появились). (https://github.com/AuroraTeam/MojangAPI-Simulation)

    По поводу системы репортов, прошерстил сейчас шустренько wiki.vg, инфы по этому пока не увидел. Либо пока ещё никто не делал это, либо я невнимательно смотрел.
     
  11. Автор темы
    TaoGunner

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

    Баллы:
    66
    Имя в Minecraft:
    TaoGunner
    Попробую объяснить, почему нет исходников патчей: в основе исправленной версии библиотеки лежит код официальной библиотеки. Я ничего нового в неё не добавлял, наоборот, удалял лишнее:
    • Класс YggdrasilMinecraftSessionService.java, функция getTextures - удалил условие на прохождение проверки цифровой подписи текстуры (удалил 4 строчки);
    • Класс YggdrasilMinecraftSessionService.java, функция isWhitelistedDomain - удалил всю логику, принуждая код всегда возвращать true (просто закомментил внутренность функции);
    • Класс YggdrasilMinecraftSessionService.java, конструктор - добавил строку в логгер (чисто для удобства)
      Код:
      LOGGER.info("SkinFix by TaoGunner");
    Вот и все патчи, по сути. :lol:

    Если очень хочется, могу научить и показать наглядно, как это сделать с исходным кодом официальной библиотеки. Естественно, не даром.
     
  12. vencpvp1

    vencpvp1 Участник

    Баллы:
    31
    Имя в Minecraft:
    Abobda
    Не так давно сам решил разобрать всю эту тему вплоть до китайских инжекторов. Пришел одному выводу: хочешь сделать хорошо и понятно - сделай сам.

    Начал свои исследования на Fabric версии 1.19.2. Для затупков: на сервере проверяется хеш всех либ, если он не совпадает, то файл копируется по новой. Проверку убрать можно разными способами. В моем случае, я ее вырезал в файле 1.19.2-server.jar. Могут еще быть проблемы с этим:
    Код:
    private static final String[] ALLOWED_DOMAINS
    Если ваша утилита не видит ее, найдите другую. Если вы хотите видить отладочные логи, в либе по пути libraries\com\mojang\logging\1.0.0\ в xml-файле поменяйте значение info на debug. Возможно это поможет вам понять, какие запросы сервер отправляет, и что получает в ответ.

    По поводу сурсов, вопрос действительно глупый. Сейчас есть с десяток различных утилит, не связанных даже с игрой, которые помогут вам.
    Онлайн редактор строк в jar-файле из данной статьи помог найти виновника в откате либ, при несовпадении хеша, да и в целом довольно полезный. За исходники PHP отдельное спасибо, это ускорит процесс ковыряния. На проде их использовать не рекомендую. Прости, автор, если как-то этим задеваю тебя.

    Хотелось бы от себя добавить в статью еще кое-что. В процессе исследования документаций и апишек разных, пару раз натыкался на элитру в списке типов текстур. То есть: SKIN, CAPE, ELYTRA. На сервере в типах текстур тоже она фигурирует. Новая фича?
     
    Последнее редактирование: 16 окт 2022
  13. Автор темы
    TaoGunner

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

    Баллы:
    66
    Имя в Minecraft:
    TaoGunner
    Эти примеры скриптов нужны для того, чтобы понять на практике, как работает система авторизации. А там уже человек напишет свою реализацию на том, на чём умеет. Для "прода" у меня есть свои варианты на Python и Golang.

    Вполне может быть, надо поискать в последних версиях authlib. Если обнаружу - добавлю в скрипты загрузку элитр.
     
  14. Mr.KotE

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

    Баллы:
    68
    Имя в Minecraft:
    JCatMC
    Насколько я помню оно там есть, но вроде как на данный момент не используется. Скины элитр берутся с плаща вроде как.

    Например:
     

    Вложения:

  15. alexandrage

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

    Баллы:
    173
    Все верно, скины элитр на текстурке плаща.
     
  16. Nasdomlan

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

    Баллы:
    103
    Skype:
    Mablancar
    Имя в Minecraft:
    DarkScripter
    Ребят,на 1.16.5 я так понимаю патчить надо server-1.16.5-20210115.111550-extra.jar и minecraft_server.1.16.5.jar в папке библиотек?

    Было бы не плохо,если в гайд б добавили по версиям где,куда и что править)
     
  17. Автор темы
    TaoGunner

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

    Баллы:
    66
    Имя в Minecraft:
    TaoGunner
    Было бы неплохо,если в вопрос б добавили хотя бы какой сервер используется, потому как в ванильном сервере никакого server-1.16.5-20210115.111550-extra.jar нет.

    Алгоритм практически всегда один и тот же: найти, где лежит authlib и заменить. Он либо в отдельной библиотеке, либо внутри самого jar-файла сервера.
     
  18. Nasdomlan

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

    Баллы:
    103
    Skype:
    Mablancar
    Имя в Minecraft:
    DarkScripter
    А,прошу прощения,forge-1.16.5-36.2.33:nerd:
    Отдельно увы не нашел authlib,лишь в указанных файлах,заменил.
    Но при входе на сервер игрока консоль сервера выдает:
    Код:
    com.mojang.authlib.GameProfile@644b4000[id=<null>,name=USide,properties={},legacy=false]
    Еще раз извиняюсь за кривой вопрос)Давно не занимался этим делом,сидел долго на 1.12.2,решили обновится,пошел изучать)
     
  19. Автор темы
    TaoGunner

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

    Баллы:
    66
    Имя в Minecraft:
    TaoGunner
    Про Forge есть пометка в 5м пункте, что он не использует файл ванильного сервера, значит надо заменять в файлах форжа (и да, скорее всего это extra).

    Теперь чтобы проверить, что библиотека работает запусти сервер и глянь в логах текст SkinFix by TaoGunner. Если появился - значит библиотека подгрузилась.

    Это сообщение должно быть и в логах сервера и в логах клиента.

    А дальше уже дело за скриптами. Если используешь мои тестовые скрипты, то там есть debug-log, который подскажет, идут ли обращения к php-скриптам.
     
  20. Nasdomlan

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

    Баллы:
    103
    Skype:
    Mablancar
    Имя в Minecraft:
    DarkScripter
    Да все отлично,спасибо)А еще вопрос,HD скины тянет или нет?Или для них что-то еще нужно?
     

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