Войти или зарегистрироваться

Утилита Делаем систему скинов и плащей в 1.10.2 + бонус

Dimantchick

Активный участник
Баллы
63
Вкратце, что дает, как еще можно использовать и из чего состоит:
  • Корректную работу скинов и плащей с вашего адреса
  • Работают они ШТАТНЫМ образом (как раньше заменил пару ссылок, в остальном файлы прежние)
  • Как побочный эффект можно делать php скрипты как раньше были joinserver и hasjoined которые можно использовать как доп аутентификацию (собственно и есть бонус)
  • Одна часть - пропатченный authlib для сервера и клиента
  • Вторая - серверная: скрипты и скины соответственно
Плюсы данного решения:
  • Мало модификаций.
  • Работа штатным образом.
Минусы:
  • Скрипт будет для каждого нового игрока обращаться к серверу можанга!!!!
  • При присоединении игрока Скрипт опять же обращается на сервер можанга!!!!
  • Клиент должен запускаться с настоящим --uuid пользователя или без него!!! (получить можно по адресу "https://api.mojang.com/users/profiles/minecraft/".$user распарсив json) Получается требуется правка лаунчера, если он этого не делает сам.
Было скучно, ковырялся, может кому понадобится. Распространяю as is.

Начнем со второй части:
  1. Берем архив server.zip и распаковываем в корень вашего вебсервера.
  2. Заходи в папку profile и правим начало в php файлах (меняем домен на свой).
  3. Даем права на запись каталогу cache.
  4. В папке skins сохранять скин как md5 от ника игрока с расширением png
  5. Плащ там же, но как md5 от ник+"_cape" с расширением png
С первой частью:
  1. Распаковываем архив (по факту там всего 2 файла, но сохранена структура папок для удобства).
  2. Далее используем inClassTranslator (кто не знает найдите на форуме много про него было).
  3. Открываем файл com\mojang\authlib\yggdrasil\YggdrasilMinecraftSessionService.class
  4. Везде меняем yourdomain.com на ваш домен. Остальную часть ссылок оставляем как есть.
  5. Находим поле ".com" и меняем на окончание вашего домена с точкой (у многих ".ru").
  6. Второй файл не трогаем (он просто пропатчен, чтобы не проверять подписи текстур).
  7. Теперь добавляем этот патч в authlib-1.5.22.jar (Как это сделать я так понимаю вы знаете).
  8. Аналогично добавляете этот же патч к jar вашего сервера (в моем случае spigot.jar).
Если вы используете плагин citizens, то стоит попробовать изменить в конфиге profile-url: на вид http://yourdomain.com/profile/index.php?id= , что поидее начнет заворачивать скины npc тем же путем (не тестировалось).

Поидее все. Во всяком случае, когда я тестировал все отрабатывало корректно, так что жду обратной связи о эффективности, надежности и стабильности системы.

P.S.: По тому, что я назвал аутентификацией читайте комментарии внутри скриптов. Что надо попробую разъяснить.
В случае интереса к системе, могу убрать все 3 минуса, но нужно будет придти к единому решению по генерации uuid для ника (тот же md5 sha1 или что-то подобное).
 

Вложения

Динозавры как всегда детекдед. Уже давно все юзают систему скинов в сашке без можанг апи и прочей сторонней хрени. В аутчлибе модификация минимальная. С неписами так же работает, если перенаправить урл в плагине. Никаких можанг uuid там не требуется, работает с обычным офлайн уидом. В новом сашке 3 так же скины робят, только по другой схеме немного.
 
Последнее редактирование:
Динозавры как всегда детекдед. Уже давно все юзают систему скинов в сашке без можанг апи и прочей сторонней хрени. В аутчлибе модификация минимальная. С неписами так же работает, если перенаправить урл в плагине. Никаких можанг uuid там не требуется, работает с обычным офлайн уидом. В новом сашке 3 так же скины робят, только по другой схеме немного.
А как в сашке 3 работают скины для ситизенсов? Урл в плагине перенаправлял на дописанный мной profile по протоколу моджангов - дичь какая-то получается.
В итоге, либа даже не ходит до прописанного урла. (моего profile)
 
Последнее редактирование:
Назад
Верх