Attempt to fix FastLogin maybe

This commit is contained in:
Aikar
2020-05-03 02:20:56 -04:00
parent 3ff811a50a
commit 51f3a1e457
2 changed files with 21 additions and 19 deletions

View File

@@ -1377,7 +1377,7 @@ index 2c1d1b1a55..44aed67274 100644
if (this.h == this.b) {
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
index ddc12364e7..0b6dce35e6 100644
index e966b6edcc..682434ec07 100644
--- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
@@ -0,0 +0,0 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@@ -1390,7 +1390,7 @@ index ddc12364e7..0b6dce35e6 100644
+ return;
+ }
// write the packets to the queue, then flush - antixray hooks there already
java.util.List<Packet> extraPackets = buildExtraPackets(packet);
java.util.List<Packet> extraPackets = InnerUtil.buildExtraPackets(packet);
boolean hasExtraPackets = extraPackets != null && !extraPackets.isEmpty();
@@ -0,0 +0,0 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {

View File

@@ -14,7 +14,7 @@ With further contributions from
Co-Authored-by: Spottedleaf <spottedleaf@spottedleaf.dev>
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
index b1dededc15..ddc12364e7 100644
index b1dededc15..e966b6edcc 100644
--- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
@@ -0,0 +0,0 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@@ -22,6 +22,7 @@ index b1dededc15..ddc12364e7 100644
this.packetListener = packetlistener;
}
+ // Paper start
+ private static class InnerUtil { // Attempt to hide these methods from ProtocolLib so it doesn't accidently pick them up.
+ private static java.util.List<Packet> buildExtraPackets(Packet packet) {
+ java.util.List<Packet> extra = packet.getExtraPackets();
+ if (extra == null || extra.isEmpty()) {
@@ -41,6 +42,7 @@ index b1dededc15..ddc12364e7 100644
+ }
+ }
+ }
+ }
+ // Paper end
public void sendPacket(Packet<?> packet) {
@@ -52,9 +54,9 @@ index b1dededc15..ddc12364e7 100644
- this.o();
- this.b(packet, genericfuturelistener);
- } else {
+ // Paper start start - handle oversized packets better
+ // Paper start - handle oversized packets better
+ // write the packets to the queue, then flush - antixray hooks there already
+ java.util.List<Packet> extraPackets = buildExtraPackets(packet);
+ java.util.List<Packet> extraPackets = InnerUtil.buildExtraPackets(packet);
+ boolean hasExtraPackets = extraPackets != null && !extraPackets.isEmpty();
+ if (!hasExtraPackets) {
this.packetQueue.add(new NetworkManager.QueuedPacket(packet, genericfuturelistener));