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

Commands that fetch game profiles cause lag when fetching a player that wasn't before on the server

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • None
    • Minecraft 1.9, 1.21, 1.21.1, 24w34a, 24w37a, 24w39a
    • Community Consensus
    • Dedicated Server, Performance
    • Normal
    • Platform

      Using online-mode=true, when executing the /whitelist add, /whitelist remove, /ban, /pardon, /op or /deop command then this causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player. This lag sometimes can take even 10 seconds. The player must not be fetched nor cached by the server for lag to happen.

      The reason

      This bug happens because that request to Mojang API happens on the main server thread which locks it.

      Notes:

      • This might be invalid as the commands return feedback on whether or not they ran successful

      Original description:

      The bug

      Using the /op, /whitelist or /ban command causes the server to stop responding for some seconds while it is looking up a profile for a not loaded player.

      The reason

      The following is based on decompiled version of Minecraft 1.9 using MCP 9.24 beta. All method and class names are the names used in the decompiled version.

      The reason why this happens is because the method net.minecraft.server.management.PlayerProfileCache.getGameProfileForUsername(String) is called which tries to get the information from the Mojang servers.

      Notes:

      • This might be invalid as the commands return feedback on whether or not they ran successful
      • This affects the following situations as well
        • Saving villages
        • Loading wolves, ocelots or horses

      Video:

      https://clips.twitch.tv/CharmingAgitatedLEDSpicyBoy-T1rdY38Enm6WHAgr

            Unassigned Unassigned
            EpicPlayerA10 EpicPlayerA10
            Votes:
            4 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              CHK: