mojira.dev
MC-52974

Host's skin not visible to other players when in LAN world

The bug

The skin of the host player who opened a world onto LAN does not load in but the other player that joins does. The host can see everyone and themselves, but the other player cannot see the host's skin.

From the joining client's log:

[02:08:20] [pool-2-thread-1/ERROR]: Signature is missing from textures payload

Code Analysis

Outdated code analysis by @unknown can be found in this comment

New (1.11) code analysis:
Based on 1.11 decompiled using MCP 9.35 rc1

As stated before the line "Signature is missing from textures payload" is related to the problem. If I understand it correctly, the following happens:
When a player loads a singleplayer world his gameprofile does not have the property textures, therefor the signature is not checked. The method net.minecraft.client.resources.SkinManager.loadProfileTextures(GameProfile, SkinAvailableCallback, boolean) then fills the profile properties for the player without having it be signed (net.minecraft.client.Minecraft.getProfileProperties()). When the player then opens the world to LAN all players joining are verified and their gameprofile data is (probably?) signed.
The problem happens now when the hosting player sends the gameprofile data of the connected players to the other players. Because the gameprofile data of the hosting player is unsigned the other clients will not load the textures (skin, cape...).

I assume this could be fixed by having the method net.minecraft.client.Minecraft.getProfileProperties() call the method com.mojang.authlib.minecraft.MinecraftSessionService.fillProfileProperties(GameProfile, boolean) with true as requireSecure parameter value. There should probably not be any downsides.

Linked issues

Attachments

Comments 184

Nurio Marayana

I can confirm I have this exact same issue. I've played with 4 people on a LAN World and they all confirmed I had the Steve skin, even though I could see my own custom skin. I could also see their custom skins just fine.

chel

the MC-52773 is not a duplicate of this post! it's the opposite problem >😞
the host can see his/her skin but other players cannot! not the other way around!

Simon Dufresne

I second chel's comment, MC-52773 is not a duplicate post.

I also have the same issue and need assistance regarding this.

Theo McDonald

I too have experienced this issue.

Shane Gordon

Let me repeat what others are saying and Kumasasa IS NOT PAYING ATTENTION!!!!
MC-52974 IS NOT A DUPLICATE OF MC-52773

I have duplicated this issue when the host of the LAN world is on a Windows 8.1, on a Windows 7 and on OSX 10.8, 10.9, and 10.10.

The same issues is presents regardless of which other machines the other players are on including all of the above as well as Windows XP and the latest Linux Ubuntu.

I have duplicate the problem with different accounts hosting (my household has 4 plus 8 other regular players that come by the house and play with my kids.

In all cases, the person that is hosting the lan world sees their own custom skin and the custom skin of all other players. All other players see each others' custom skins, but all other players see the host as Steve skin.

Let me repeat one more time...

MC-52974 IS NOT A DUPLICATE OF MC-52773

174 more comments
violine1101

That would be MC-98598.

Greg Milson

Still an issue in 18w21b for me but the issue only sometimes happens when I connect.

FaRo1

Is it maybe only the first time after you start Minecraft?

user-2a4c8

Seems to happen the first time you open a world in 1.13. After leaving and re-hosting the lan, it seems to work for the host's skin. Still not 100% fixed.

violine1101

@unknown, I've created MC-135339 for that. Please check whether I've missed anything. Also note that I have not been able to reproduce this in 1.13, only in 18w30b.

chel

migrated

Confirmed

Minecraft 1.7.9, Minecraft 14w26c, Minecraft 1.7.10, Minecraft 14w27b, Minecraft 14w29b, ..., Minecraft 18w09a, Minecraft 18w11a, Minecraft 18w15a, Minecraft 18w16a, Minecraft 18w20c

Minecraft 18w21a

Retrieved