mirror of
https://github.com/PaperMC/Paper.git
synced 2024-10-02 08:28:20 +02:00
2d09115b3a
Uses the new ANSIComponentSerializer introduced in Adventure 4.14.0 to serialize components when logging them via the ComponentLogger, or when sending messages to the console. This replaces the old solution which uses legacy jank and custom color conversions, with a new library that handles the conversion and config
24 lines
1.7 KiB
Diff
24 lines
1.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Denery <dorofeevij@gmail.com>
|
|
Date: Sun, 6 Nov 2022 02:02:46 +0300
|
|
Subject: [PATCH] Fix player kick on shutdown
|
|
|
|
Fix preemptive player kick on a server shutdown.
|
|
If you update minecraft version / upstream and something is changed in this method make sure that a server doesn't disconnect a player preemptively,
|
|
also check if all packets are ignored during the shutdown process.
|
|
See net.minecraft.network.Connection#channelRead0(ChannelHandlerContext, Packet) and net.minecraft.util.thread.BlockableEventLoop#executeIfPossible(Runnable)
|
|
|
|
diff --git a/src/main/java/net/minecraft/network/protocol/PacketUtils.java b/src/main/java/net/minecraft/network/protocol/PacketUtils.java
|
|
index 52a84eeb3b7df782cbf91aac6df42fb8f99077f6..d2f0a0755317f5fa9a1ccf7db346aa77fd287d80 100644
|
|
--- a/src/main/java/net/minecraft/network/protocol/PacketUtils.java
|
|
+++ b/src/main/java/net/minecraft/network/protocol/PacketUtils.java
|
|
@@ -41,7 +41,7 @@ public class PacketUtils {
|
|
|
|
public static <T extends PacketListener> void ensureRunningOnSameThread(Packet<T> packet, T listener, BlockableEventLoop<?> engine) throws RunningOnDifferentThreadException {
|
|
if (!engine.isSameThread()) {
|
|
- engine.executeIfPossible(() -> {
|
|
+ engine.execute(() -> { // Paper - Fix preemptive player kick on a server shutdown.
|
|
packetProcessing.push(listener); // Paper - detailed watchdog information
|
|
try { // Paper - detailed watchdog information
|
|
if (MinecraftServer.getServer().hasStopped() || (listener instanceof ServerGamePacketListenerImpl && ((ServerGamePacketListenerImpl) listener).processedDisconnect)) return; // CraftBukkit, MC-142590
|