Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-52974

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

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Minecraft 18w21a
    • Minecraft 1.7.9, Minecraft 14w26c, Minecraft 1.7.10, Minecraft 14w27b, Minecraft 14w29b, Minecraft 14w32d, Minecraft 1.8-pre1, Minecraft 1.8-pre2, Minecraft 1.8-pre3, Minecraft 1.8, Minecraft 1.8.1-pre2, Minecraft 1.8.1-pre3, Minecraft 1.8.1, Minecraft 1.8.3, Minecraft 1.8.4, Minecraft 1.8.5, Minecraft 1.8.7, Minecraft 1.8.8, Minecraft 15w31c, Minecraft 15w32a, Minecraft 15w33c, Minecraft 15w34d, Minecraft 15w35e, Minecraft 15w38b, Minecraft 15w39b, Minecraft 15w45a, Minecraft 15w46a, Minecraft 15w47a, Minecraft 15w49b, Minecraft 1.8.9, Minecraft 15w50a, Minecraft 16w02a, Minecraft 16w03a, Minecraft 16w04a, Minecraft 16w05a, Minecraft 16w05b, Minecraft 16w06a, Minecraft 16w07a, Minecraft 16w07b, Minecraft 1.9 Pre-Release 1, Minecraft 1.9 Pre-Release 2, Minecraft 1.9 Pre-Release 3, Minecraft 1.9 Pre-Release 4, Minecraft 1.9, Minecraft 1.9.1 Pre-Release 1, Minecraft 1.9.1 Pre-Release 2, Minecraft 1.9.1 Pre-Release 3, Minecraft 1.9.1, Minecraft 1.9.2, Minecraft 16w14a, Minecraft 16w15a, Minecraft 16w15b, Minecraft 1.9.3 Pre-Release 2, Minecraft 1.9.4, Minecraft 16w20a, Minecraft 1.10, Minecraft 1.10.2, Minecraft 16w32b, Minecraft 16w40a, Minecraft 16w44a, Minecraft 1.11, Minecraft 1.11.2, Minecraft 1.12, Minecraft 1.12.1, Minecraft 1.12.2, Minecraft 17w43b, Minecraft 17w45b, Minecraft 17w46a, Minecraft 17w48a, Minecraft 17w50a, Minecraft 18w02a, Minecraft 18w05a, Minecraft 18w06a, Minecraft 18w07a, Minecraft 18w08b, Minecraft 18w09a, Minecraft 18w11a, Minecraft 18w15a, Minecraft 18w16a, Minecraft 18w20c
    • None
    • Confirmed

      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 marcono1234 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.

        1. skinfix.png
          5 kB
          Heikki Taalikka

            rherlitz Rikard Herlitz
            misc-13 chel
            Votes:
            368 Vote for this issue
            Watchers:
            147 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: