31 lines
2.0 KiB
Diff
31 lines
2.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: MrHua269 <mrhua269@gmail.com>
|
|
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 40b4eeb561a91264b9ab6ddc49cb8a93daae84a4..efcf294b523ca6b039eb2544546bf863ba717749 100644
|
|
--- a/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java
|
|
+++ b/net/minecraft/server/network/ServerConfigurationPacketListenerImpl.java
|
|
@@ -290,13 +290,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()) { // Camellia - Fix unpatched task returning of ServerConfigurationPacketListenerImpl#disconnectAsync
|
|
this.disconnect(disconnectionInfo);
|
|
return;
|
|
}
|
|
|
|
this.connection.setReadOnly();
|
|
- this.server.scheduleOnMain(() -> {
|
|
+ // this.server.scheduleOnMain(() -> { // Camellia - Fix unpatched task returning of ServerConfigurationPacketListenerImpl#disconnectAsync
|
|
+ io.papermc.paper.threadedregions.RegionizedServer.getInstance().addTask(() -> { // Camellia - Fix unpatched task returning of ServerConfigurationPacketListenerImpl#disconnectAsync
|
|
this.disconnect(disconnectionInfo); // Currently you cannot cancel disconnect during the config stage
|
|
});
|
|
}
|