yushijinhun / authlib-injector

Build your own Minecraft authentication system.
https://authlib-injector.yushi.moe
GNU Affero General Public License v3.0
754 stars 68 forks source link

Only my skin is displayed to all players 1.21 #260

Open StelStelox opened 3 months ago

StelStelox commented 3 months ago

image

kuruaff commented 3 months ago

fix ur api, isnt injector issue

Seeroy commented 2 months ago

@kuruaff I have the same problem. The API is implemented entirely according to the documentation, what can I check?

Seeroy commented 2 months ago

Hurray, I found a fix! I spent 5 hours searching for it before finding this issue. It turns out that skins must have different file names on the server...

kuruaff commented 2 months ago

@Seeroy which returns a call to the "hasJoined" method to the server https://sessionserver.mojang.com/session/minecraft/hasJoined?username=username&serverId=hash&ip=ip

kuruaff commented 2 months ago

Hurray, I found a fix! I spent 5 hours searching for it before finding this issue. It turns out that skins must have different file names on the server...

you used the mod as a solution..

Seeroy commented 2 months ago

you used the mod as a solution..

What do you mean?

kuruaff commented 2 months ago

you used the mod as a solution..

What do you mean?

One person had the same problem when he chose CustomSkinLoader instead of implementing his own yggdrasil and the problem was with the file names.

kuruaff commented 2 months ago

@Seeroy а зачем мы кст на английском говорили..

Seeroy commented 2 months ago

@kuruaff не знаю, думал ты на англ) Не, я без модов вообще, фулл свою имплементацию API написал. Я думал со стороны разрабов из Mojang там типа более всё продумано)

UPD. Кстати, ТС тоже русский, у него в дискорде язык русский))

kuruaff commented 2 months ago

@Seeroy я почему-то подумал что ты и есть тс и по скрину увидел русский язык..

а вообще в апишке же есть параметр uuid у скина, вроде понятно должно быть что он должен у скина быть уникальный

Seeroy commented 2 months ago

@kuruaff да хз, я просто сначала раскладывал скины по папкам как /uploads/{uuid}/skin.png И думал на стороне Mojang это всё учтено, и скин скачивается под уникальным названием а не тем, который сервер отдаёт)

kuruaff commented 2 months ago

@Seeroy под каждого игрока свою папку создавать, капец ты тип, ты че хотел рядом со скином плащи хранить или че :D

Seeroy commented 2 months ago

@kuruaff так и есть, там же плащ лежал))))))

kuruaff commented 2 months ago

@Seeroy так как тебе майн будет давать уникальное название если их кешировать надо, а давая его каждый раз при скачивании он не сможет быстро подгружать с кеша ибо по сути до скачивания не знает хэш файла

Seeroy commented 2 months ago

@kuruaff вроде логично, но они могли сами их переименовывать в UUID, а не скачивать прям так))

kuruaff commented 2 months ago

@Seeroy так прикол в том что скины даже у них не сохраняются под uuid игрока, а придают им свой uuid, ибо нет смысла хранить три файла с разным uuid игроков хотя это один скин по факту, просто у разных челов, к тому же если оно закеширует в uuid игрока, то если игрок сменит скин и зайдёт, у старых игроков ничего не поменяется ибо будет грузить с кеша по uuid игрока

JoCat commented 2 months ago

Ребзи, если я не ошибаюсь название файла скина это его хэш в sha1

kuruaff commented 2 months ago

Ребзи, если я не ошибаюсь название файла скина это его хэш в sha1

я вообще в sha256 сохраняю, как там на официалке хз вообще :/

JoCat commented 2 months ago

Да, точно, sha256 image image

JoCat commented 2 months ago

Собственно я делаю абсолютно то же самое) image