1
1
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2
2
From: Nassim Jahnke <jahnke.nassim@gmail.com>
3
3
Date: Mon, 17 Jan 2022 19:47:19 +0100
4
- Subject: [PATCH] Kick on main for illegal chars
4
+ Subject: [PATCH] Kick on main for illegal chat
5
5
6
+ Makes the PlayerKickEvent fire on the main thread for
7
+ illegal characters or chat out-of-order errors.
6
8
7
9
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
8
- index 5927035f616f341f1d28b569efaf7812e4aa6880..6a83e098ebbf9ccde9c0726981393a376d99ab34 100644
10
+ index a84ab1754ffee0436ac3abf05e3fd69f3523e5e6..dbd16fabc781a2820dc073154830667ea88cb27d 100644
9
11
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
10
12
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
11
13
@@ -2105,7 +2105,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -28,3 +30,13 @@ index 5927035f616f341f1d28b569efaf7812e4aa6880..6a83e098ebbf9ccde9c0726981393a37
28
30
} else {
29
31
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel());
30
32
if (this.tryHandleChat(packet.command(), packet.timeStamp())) {
33
+ @@ -2145,7 +2149,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
34
+ private boolean tryHandleChat(String s, Instant instant) {
35
+ if (!this.updateChatOrder(instant)) {
36
+ ServerGamePacketListenerImpl.LOGGER.warn("{} sent out-of-order chat: '{}'", this.player.getName().getString(), s);
37
+ + this.server.scheduleOnMain(() -> { // Paper - push to main
38
+ this.disconnect(Component.translatable("multiplayer.disconnect.out_of_order_chat"));
39
+ + }); // Paper - push to main
40
+ return false;
41
+ } else {
42
+ if (this.isChatExpired(instant)) {
0 commit comments