diff --git a/core/src/main/java/org/geysermc/geyser/command/defaults/DumpCommand.java b/core/src/main/java/org/geysermc/geyser/command/defaults/DumpCommand.java index fc46f0108..ff879b8a8 100644 --- a/core/src/main/java/org/geysermc/geyser/command/defaults/DumpCommand.java +++ b/core/src/main/java/org/geysermc/geyser/command/defaults/DumpCommand.java @@ -25,6 +25,7 @@ package org.geysermc.geyser.command.defaults; +import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.core.util.DefaultIndenter; import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; import com.fasterxml.jackson.databind.JsonNode; @@ -148,7 +149,7 @@ public class DumpCommand extends GeyserCommand { } else { source.sendMessage(GeyserLocale.getPlayerLocaleString("geyser.commands.dump.uploading", source.locale())); - String response; + String response = null; JsonNode responseNode; try { response = WebUtils.post(DUMP_URL + "documents", dumpData); @@ -156,6 +157,9 @@ public class DumpCommand extends GeyserCommand { } catch (IOException e) { source.sendMessage(ChatColor.RED + GeyserLocale.getPlayerLocaleString("geyser.commands.dump.upload_error", source.locale())); geyser.getLogger().error(GeyserLocale.getLocaleStringLog("geyser.commands.dump.upload_error_short"), e); + if (e instanceof JsonParseException && response != null) { + geyser.getLogger().error("Failed to parse dump response! got: " + response); + } return; } diff --git a/core/src/main/java/org/geysermc/geyser/network/UpstreamPacketHandler.java b/core/src/main/java/org/geysermc/geyser/network/UpstreamPacketHandler.java index 622c6ce7c..440b85c3f 100644 --- a/core/src/main/java/org/geysermc/geyser/network/UpstreamPacketHandler.java +++ b/core/src/main/java/org/geysermc/geyser/network/UpstreamPacketHandler.java @@ -361,12 +361,6 @@ public class UpstreamPacketHandler extends LoggingPacketHandler { return PacketSignal.HANDLED; } - if (finishedResourcePackSending) { - GeyserImpl.getInstance().getLogger().warning("Received resource pack chunk packet after stage completed! " + packet.toString()); - session.disconnect("Illegal duplicate resource pack packet received!"); - return PacketSignal.HANDLED; - } - // Resolve some console pack downloading issues. // See for reference chunkRequestQueue.add(packet); @@ -406,6 +400,11 @@ public class UpstreamPacketHandler extends LoggingPacketHandler { chunkRequestQueue.clear(); return; } + } else if (finishedResourcePackSending) { + GeyserImpl.getInstance().getLogger().warning("Received resource pack chunk packet after stage completed! " + packet); + session.disconnect("Duplicate resource pack packet received!"); + chunkRequestQueue.clear(); + return; } ResourcePackChunkDataPacket data = new ResourcePackChunkDataPacket();