Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

Метки:
Теги Теги
authlib skin yggdrasil
HD скины тянет или нет?Или для них что-то еще нужно?
По поводу HD могу лишь сказать, что плащ в примерах как раз в высоком разрешениее. Насчет основных скинов не скажу, должно работать как на ванильном клиенте.

Скорее всего, нужен будет патч или мод на клиент. Проверь сам. :good:
 
По поводу HD могу лишь сказать, что плащ в примерах как раз в высоком разрешениее. Насчет основных скинов не скажу, должно работать как на ванильном клиенте.

Скорее всего, нужен будет патч или мод на клиент. Проверь сам. :good:
Хм порыл тему патчей модов,не нашел,пишут про оптифайн,но не помогло,тупо вылетает даже без ошибок клиент,когда открываешь инвент или вид меняешь.Странно...спасибо,будем копать.
 
MineCraft 1.19.2, Forge 43.2.3 всё настроил, аутентификация работала, но скины не отображались.
Связался с TaoGunner, и в процессе проверок заметил что у меня в сборку прокрался мод TLauncherа на скины и похоже они не дружат. В общем посде удаления всё заработало как надо. Огромное спасибо TaoGunner за помощь и за столь прекрасную AuthLib =)
 
Обновление

Изменения:
  • Добавлена пропатченная библиотека для Minecraft 1.19.4 - authlib-3.18.38_skinfix.jar;
Проверил работоспособность на Vanilla и Fabric серверах, скины и авторизация функционируют. Архив в начале темы обновлён.
 
Обновление

Изменения:
  • Добавлена пропатченная библиотека для Minecraft 1.20 и 1.20.1 - authlib-4.0.43_skinfix.jar;
Проверил работоспособность на Vanilla и Fabric серверах: скины и авторизация функционируют. Архив в начале темы обновлён.

Из интересного: основной номер версии authlib сменился с тройки на четверку (3.18.38 -> 4.0.43), но никаких серьезных изменений в системе авторизации не произошло, кроме небольшого рефакторинга кода, который даже упрощает патчинг.
 
Последнее редактирование:
Сделал всё по гайду, всё работает, но есть вопрос. В либе я поменял адрес (
http://127.0.0.1:8000/auth/profile.php) на свой, мониторю сервер для запросов, запрос к этому методу если 1-2 были, то уже не плохо. С патченой либой скин передаётся в методе /hasJoined. Собственно и сам вопрос: я сделал что-то не так или всё верно? Версия 1.12.2
 
Собственно и сам вопрос: я сделал что-то не так или всё верно?
Ну раз всё работает, значит ты всё сделал верно.

А по поводу обращения к скрипту profile.php объясню так: join и hasJoined нужны для тебя, чтобы ты заходя на сервер получил свой скин. Именно на сервер, потому что если ты создашь одиночную игру, то клиент полезет за данными твоего профиля в profile.php.

А также если представим, что ты зашел на сервер, и тут в пределах видимости появляется другой игрок - куда полезел клиент игры за получением его скина? Правильно - на всё тот же profile.php
 
Мб кто сталкивался с проблемой, что плащи с прозрачными элементами, красятся в черный ? Например, крылья ангела. На версиях до 1.12 такого нет
 
Мб кто сталкивался с проблемой, что плащи с прозрачными элементами, красятся в черный ? Например, крылья ангела. На версиях до 1.12 такого нет
Скинь текстуру скина, а там уже и видно будет, что с ней не так.
 
Скинь текстуру скина, а там уже и видно будет, что с ней не так.
Скин не решает, плащ (его прозрачная часть) окрашивается в черный не зависимо от скина.
Приложил еще результат на 1.7.10, где все хорошо и 1.19, где проблема возникла.
 

Вложения:

  • krilya_plash.png
    krilya_plash.png
    Размер файла
    15,6 КБ
    Просмотров
    12
  • 2023-08-15_01.35.50.png
    2023-08-15_01.35.50.png
    Размер файла
    781 КБ
    Просмотров
    11
  • 2023-08-15_01.38.04.png
    2023-08-15_01.38.04.png
    Размер файла
    956,4 КБ
    Просмотров
    10
Попробовал разные плащи: да, в ванильном клиенте 1.20.1 вместо прозрачных пикселей на плаще используется черный. Все официальные плащи не имеют прозрачных пикселей.

Думаю, что для добавления в клиент прозрачных плащей надо копать в сторону каких-нибудь модов, типа Optifine.

UPD: Хотя... https://github.com/sp614x/optifine/issues/5151
 
Плащи никогда и не были прозрачными. Придется врубать альфа канал вручную в код ренгера плащей.
 
Здравствуйте.
Уважаемый @TaoGunner, пользуюсь вашими аутлибами чтобы делать сервачки для себя и друзей поиграть. Сейчас вот решили что-нибудь собрать на 1.20.2 и там поползать. Не могли бы Вы пожалуйста запилить нам атхлибу под 1.20.2, там они версию опять обновили, стала 5.0.47.
Премного благодарен.
 
Сейчас вот решили что-нибудь собрать на 1.20.2 и там поползать. Не могли бы Вы пожалуйста запилить нам атхлибу под 1.20.2, там они версию опять обновили, стала 5.0.47.
Добрый день. Попробую сделать, правда беглый осмотр показал, что Mojang'и там всё достаточно серьезно переделали.
 
Сделал наспех и еще пока не проверил на своем сервере, что всё работает.
@Re'aktiv , если у тебя уже сервер готов - проверь.

Если подтвердишь, что всё работает - включу библиотеку в основной архив.
 

Вложения:

Сделал наспех и еще пока не проверил на своем сервере, что всё работает.
@Re'aktiv , если у тебя уже сервер готов - проверь.

Если подтвердишь, что всё работает - включу библиотеку в основной архив.

Доброе утро. Проверил, работает! Подтверждаю.
Спасибо большое!
 

Вложения:

  • C акксестокеном.jpg
    C акксестокеном.jpg
    Размер файла
    188,3 КБ
    Просмотров
    24
  • Без аксесстокена.jpg
    Без аксесстокена.jpg
    Размер файла
    183,5 КБ
    Просмотров
    25
Обновление

Изменения:
  • Во все запросы от authlib добавлен заголовок User-Agent: Mozilla/5.0

Изменение добавлено в следующие версии библиотек:
authlib-1.5.25_skinfix.jar
authlib-3.3.39_skinfix.jar
authlib-2.1.28_skinfix.jar
authlib-5.0.47_skinfix.jar
authlib-3.18.38_skinfix.jar

Зачем это:

Ко мне обратился один человек, у которого система авторизации переехала за CloudFlare и неожиданно всё перестало работать: не проходили запросы от клиента и от сервера до системы авторизации.

Оставлю его цитату после того, как он нашел решение (за что ему огромное спасибо):

В общем. Всё оказалось на много интереснее.

Дело оказалось вот в чём. Cloudflare использует не просто защищённые сервера, но и оптимизирует запросы используя CDN
Как я понял отсутствие значение User-Agent для неё само по себе является "аномалией". Обычно пустые User-Agent используют боты. Cloudflare это фиксирует . И для снижение нагрузки на конечный сервер, стремиться убрать "мусор", запросы с пустыми User-Agent будут заблокированы на уровне CDN. Иными словами до нашего сервера и до NGINX не дойдут.

В Cloudflare в раздели Security есть вкладка, WAF которую можно использовать в качестве настройки User-Agent. Как это работает. Допустим один и тот же user-Agent может создавать атаку некую, искусственные запросы и прочее. Мы можем обнаружить атаку и заблокировать её вписав User-Agent. И атака не дойдёт даже до нашего сервера. Но, должны быть правила "разрешить", я пытался разрешить пустой User-Agent, ну не получилось, возможно я ещё до конца не разобрался, но увы.
 
Это дефолтная для CF проблема, по умолчанию Java юзает юзерагент "Java/1.x.(и т.д.)". Обойти блокировку можно добавлением в исключения, или отключением Browser Integrity Check в Page Rules для эндпоинтов используемых в API аучлибы.
 
Обновление

Изменения:
  • Во все запросы от authlib добавлен заголовок User-Agent: Mozilla/5.0

Изменение добавлено в следующие версии библиотек:
authlib-1.5.25_skinfix.jar
authlib-3.3.39_skinfix.jar
authlib-2.1.28_skinfix.jar
authlib-5.0.47_skinfix.jar
authlib-3.18.38_skinfix.jar

Зачем это:

Ко мне обратился один человек, у которого система авторизации переехала за CloudFlare и неожиданно всё перестало работать: не проходили запросы от клиента и от сервера до системы авторизации.

Оставлю его цитату после того, как он нашел решение (за что ему огромное спасибо):

В общем. Всё оказалось на много интереснее.

Дело оказалось вот в чём. Cloudflare использует не просто защищённые сервера, но и оптимизирует запросы используя CDN
Как я понял отсутствие значение User-Agent для неё само по себе является "аномалией". Обычно пустые User-Agent используют боты. Cloudflare это фиксирует . И для снижение нагрузки на конечный сервер, стремиться убрать "мусор", запросы с пустыми User-Agent будут заблокированы на уровне CDN. Иными словами до нашего сервера и до NGINX не дойдут.

В Cloudflare в раздели Security есть вкладка, WAF которую можно использовать в качестве настройки User-Agent. Как это работает. Допустим один и тот же user-Agent может создавать атаку некую, искусственные запросы и прочее. Мы можем обнаружить атаку и заблокировать её вписав User-Agent. И атака не дойдёт даже до нашего сервера. Но, должны быть правила "разрешить", я пытался разрешить пустой User-Agent, ну не получилось, возможно я ещё до конца не разобрался, но увы.
В java юзер агент java по умолчанию и он в бане у некоторых "дудос фильтрах"
 

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

Назад
Верх