From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: MrHua269 Date: Wed, 8 Jul 2026 21:15:26 +0800 Subject: [PATCH] Fix unpatched task returning of ServerConfigurationPacketListenerImpl#disconnectAsync Inspired by https://github.com/CraftCanvasMC/Canvas/blob/ver/1.21.8/canvas-server/minecraft-patches/sources/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java.patch but Canvas loses its main thread checks so fixed that btw diff --git a/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java b/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java index 77c4670868a95dc7b13461dfa67af34b0a3c329a..0485ce2a56adedc200cc0cd441df7cce88da66a8 100644 --- a/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java +++ b/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java @@ -299,13 +299,14 @@ public class ServerConfigurationPacketListenerImpl extends ServerCommonPacketLis // Paper start @Override public void disconnectAsync(final net.minecraft.network.DisconnectionDetails disconnectionInfo) { - if (this.cserver.isPrimaryThread()) { + if (io.papermc.paper.threadedregions.RegionizedServer.isGlobalTickThread()) { // Shiroha - Fix unpatched task returning of ServerConfigurationPacketListenerImpl#disconnectAsync this.disconnect(disconnectionInfo); return; } this.connection.setReadOnly(); - this.server.scheduleOnMain(() -> { + // this.server.scheduleOnMain(() -> { // Shiroha - Fix unpatched task returning of ServerConfigurationPacketListenerImpl#disconnectAsync + io.papermc.paper.threadedregions.RegionizedServer.getInstance().addTask(() -> { // Shiroha - Fix unpatched task returning of ServerConfigurationPacketListenerImpl#disconnectAsync this.disconnect(disconnectionInfo); // Currently you cannot cancel disconnect during the config stage }); }