From 55bf1d1d68ae5e3f337f9a3f3578a9b0387aadf9 Mon Sep 17 00:00:00 2001 From: Juan Cruz Linsalata <25271111+linsaftw@users.noreply.github.com> Date: Tue, 25 Feb 2025 14:14:53 -0300 Subject: [PATCH] Updated Upstream (BungeeCord) (#858) Co-authored-by: linsaftw --- BungeeCord | 2 +- BungeeCord-Patches/0001-POM-Changes.patch | 16 +++---- ...erences-from-BungeeCord-to-Waterfall.patch | 12 +++--- ...04-Add-Waterfall-configuration-files.patch | 12 +++--- BungeeCord-Patches/0005-Disable-Metrics.patch | 12 +++--- .../0007-Fixup-ProtocolConstants.patch | 8 ++-- ...-access-a-ByteBuf-s-underlying-array.patch | 32 +++++++------- .../0010-Optimize-uuid-conversions.patch | 8 ++-- ...t-for-FML-with-IP-Forwarding-enabled.patch | 12 +++--- ...ervers-or-changing-addresses-on-relo.patch | 8 ++-- .../0014-Enable-TCP_NODELAY.patch | 8 ++-- .../0015-Micro-optimizations.patch | 12 +++--- ...invalid-packet-ids-for-forge-servers.patch | 16 +++---- ...018-Improve-server-list-ping-logging.patch | 18 ++++---- ...perty-to-accept-invalid-ping-packets.patch | 8 ++-- ...a-worker-and-a-boss-event-loop-group.patch | 22 +++++----- .../0021-Better-Decompression-Sanity.patch | 42 ++++++++++--------- ...-dynamic-server-addition-removal-api.patch | 24 +++++------ .../0024-Improve-ServerKickEvent.patch | 12 +++--- ...able-server-version-in-ping-response.patch | 8 ++-- ...d-timeout-variant-to-connect-methods.patch | 10 ++--- ...potion-race-condition-on-Forge-1.8.9.patch | 29 ++++++------- ...ogging-and-TerminalConsoleAppender-f.patch | 18 ++++---- .../0037-Add-console-command-completion.patch | 8 ++-- ...-to-the-player-s-LoginResult-on-Logi.patch | 24 +++++++---- ...nally-log-InitialHandler-connections.patch | 8 ++-- .../0040-Forge-is-a-first-class-citizen.patch | 14 ++++--- ...n-to-disable-entity-metadata-rewriti.patch | 28 ++++++------- .../0044-Add-ProxyDefineCommandsEvent.patch | 8 ++-- ...0047-Speed-up-some-common-exceptions.patch | 16 +++---- .../0048-ConnectionInitEvent.patch | 42 +++++++++---------- .../0049-Add-exception-reporting-event.patch | 24 +++++------ .../0051-Remove-version-from-brand-info.patch | 8 ++-- .../0052-Add-auth-url-option.patch | 10 ++--- .../0054-Additional-DoS-mitigations.patch | 16 +++---- ...Configurable-plugin-messaging-limits.patch | 8 ++-- ...57-ServerConnectRequest-sendFeedback.patch | 18 ++++---- ...tions-to-the-client-during-kicks-etc.patch | 8 ++-- .../0059-Improve-login-state-transition.patch | 10 ++--- ...-version-to-packet-not-found-message.patch | 8 ++-- ...1-Expand-packet-decode-logging-usage.patch | 8 ++-- ...outdated-clients-that-don-t-support-.patch | 10 ++--- ...ion-inside-netty-with-ChannelFactory.patch | 37 ++++++++-------- ...from-clients-registeirng-too-many-ch.patch | 8 ++-- ...mmands-from-breaking-the-chat-chain-.patch | 10 ++--- 45 files changed, 347 insertions(+), 333 deletions(-) diff --git a/BungeeCord b/BungeeCord index 8a80435e6..f797bd488 160000 --- a/BungeeCord +++ b/BungeeCord @@ -1 +1 @@ -Subproject commit 8a80435e647c358b0c2235549fabbda4627b532a +Subproject commit f797bd488ff3624c275db6582988d3ddbf31efe1 diff --git a/BungeeCord-Patches/0001-POM-Changes.patch b/BungeeCord-Patches/0001-POM-Changes.patch index de7bf1298..0da32ca2a 100644 --- a/BungeeCord-Patches/0001-POM-Changes.patch +++ b/BungeeCord-Patches/0001-POM-Changes.patch @@ -1,4 +1,4 @@ -From 058ce1cb0fc175ecb9e9ac294d2146683a7036b1 Mon Sep 17 00:00:00 2001 +From e6b1fb10923e30ebe5c2530f7a0ee9705c8482d9 Mon Sep 17 00:00:00 2001 From: Tux Date: Thu, 19 May 2016 19:33:31 +0200 Subject: [PATCH] POM Changes @@ -145,7 +145,7 @@ index 6be22739..a4516ed9 100644 return; } diff --git a/chat/pom.xml b/chat/pom.xml -index 71c4ce27..7db6020f 100644 +index 9a9bc506..b8c60c9f 100644 --- a/chat/pom.xml +++ b/chat/pom.xml @@ -4,19 +4,19 @@ @@ -175,7 +175,7 @@ index 71c4ce27..7db6020f 100644 diff --git a/config/pom.xml b/config/pom.xml -index 4b94f112..d245a60b 100644 +index 58f0b7ca..10d1d4ca 100644 --- a/config/pom.xml +++ b/config/pom.xml @@ -4,19 +4,19 @@ @@ -514,7 +514,7 @@ index bd3a8ab8..49347e1d 100644 diff --git a/pom.xml b/pom.xml -index 7335e8b7..b882440f 100644 +index fb8077b8..4a4287eb 100644 --- a/pom.xml +++ b/pom.xml @@ -3,18 +3,18 @@ @@ -625,7 +625,7 @@ index 7335e8b7..b882440f 100644 + org.apache.maven.plugins maven-checkstyle-plugin - 3.3.1 + 3.6.0 @@ -179,6 +196,7 @@ @@ -634,7 +634,7 @@ index 7335e8b7..b882440f 100644 org.codehaus.mojo animal-sniffer-maven-plugin -@@ -291,6 +309,15 @@ +@@ -300,6 +318,15 @@ @@ -650,7 +650,7 @@ index 7335e8b7..b882440f 100644 org.projectlombok -@@ -339,6 +366,7 @@ +@@ -348,6 +375,7 @@ none ${project.build.directory}/delombok @@ -848,5 +848,5 @@ index 5c611d8c..8860998c 100644 -- -2.39.3 (Apple Git-146) +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0003-Rename-references-from-BungeeCord-to-Waterfall.patch b/BungeeCord-Patches/0003-Rename-references-from-BungeeCord-to-Waterfall.patch index e79eb2ba7..6738cf73c 100644 --- a/BungeeCord-Patches/0003-Rename-references-from-BungeeCord-to-Waterfall.patch +++ b/BungeeCord-Patches/0003-Rename-references-from-BungeeCord-to-Waterfall.patch @@ -1,4 +1,4 @@ -From ec9212b56121afd790778af8dc277c5bdf8d1832 Mon Sep 17 00:00:00 2001 +From 8b6edc385e31ebc6fb3ad2712c3108d28e345a0b Mon Sep 17 00:00:00 2001 From: Tux Date: Thu, 19 May 2016 11:28:45 -0700 Subject: [PATCH] Rename references from BungeeCord to Waterfall @@ -18,10 +18,10 @@ index f1ccd4f6..d703d6d2 100644 } diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java -index e7f3f09a..0bf89f1c 100644 +index c39239bc..37aeae0c 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java -@@ -192,7 +192,7 @@ public class BungeeCord extends ProxyServer +@@ -208,7 +208,7 @@ public class BungeeCord extends ProxyServer public BungeeCord() throws IOException { // Java uses ! to indicate a resource inside of a jar/zip/other container. Running Bungee from within a directory that has a ! will cause this to muck up. @@ -30,7 +30,7 @@ index e7f3f09a..0bf89f1c 100644 reloadMessages(); -@@ -541,7 +541,7 @@ public class BungeeCord extends ProxyServer +@@ -557,7 +557,7 @@ public class BungeeCord extends ProxyServer @Override public String getName() { @@ -88,7 +88,7 @@ index efe048c9..720d0c3b 100644 } } diff --git a/proxy/src/main/java/net/md_5/bungee/conf/YamlConfig.java b/proxy/src/main/java/net/md_5/bungee/conf/YamlConfig.java -index de85f0b2..b9e99d6c 100644 +index d659a138..3f2c82b2 100644 --- a/proxy/src/main/java/net/md_5/bungee/conf/YamlConfig.java +++ b/proxy/src/main/java/net/md_5/bungee/conf/YamlConfig.java @@ -216,7 +216,7 @@ public class YamlConfig implements ConfigurationAdapter @@ -101,5 +101,5 @@ index de85f0b2..b9e99d6c 100644 SocketAddress address = Util.getAddr( addr ); ServerInfo info = ProxyServer.getInstance().constructServerInfo( name, address, motd, restricted ); -- -2.43.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0004-Add-Waterfall-configuration-files.patch b/BungeeCord-Patches/0004-Add-Waterfall-configuration-files.patch index e70120aec..66f261374 100644 --- a/BungeeCord-Patches/0004-Add-Waterfall-configuration-files.patch +++ b/BungeeCord-Patches/0004-Add-Waterfall-configuration-files.patch @@ -1,4 +1,4 @@ -From 6ddae20ccb4b7b035ac3b24464671daa01a57056 Mon Sep 17 00:00:00 2001 +From 170b6d6aeb2eb69e636310e0f47c0025de82dac5 Mon Sep 17 00:00:00 2001 From: Techcable Date: Tue, 25 Oct 2016 11:58:37 -0400 Subject: [PATCH] Add Waterfall configuration files @@ -42,7 +42,7 @@ index 00000000..741ebfde + +} diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java -index 0bf89f1c..3aae1ea4 100644 +index 37aeae0c..98203cc8 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java @@ -9,6 +9,7 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder; @@ -53,7 +53,7 @@ index 0bf89f1c..3aae1ea4 100644 import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.Channel; import io.netty.channel.ChannelException; -@@ -116,7 +117,7 @@ public class BungeeCord extends ProxyServer +@@ -117,7 +118,7 @@ public class BungeeCord extends ProxyServer * Configuration. */ @Getter @@ -63,7 +63,7 @@ index 0bf89f1c..3aae1ea4 100644 * Localization formats. */ diff --git a/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java b/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java -index 54c3223c..54a6cb38 100644 +index 95320050..2c819684 100644 --- a/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java +++ b/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java @@ -24,7 +24,7 @@ import net.md_5.bungee.util.CaseInsensitiveSet; @@ -76,7 +76,7 @@ index 54c3223c..54a6cb38 100644 /** diff --git a/proxy/src/main/java/net/md_5/bungee/conf/YamlConfig.java b/proxy/src/main/java/net/md_5/bungee/conf/YamlConfig.java -index b9e99d6c..f6b5e8b8 100644 +index 3f2c82b2..1de9875c 100644 --- a/proxy/src/main/java/net/md_5/bungee/conf/YamlConfig.java +++ b/proxy/src/main/java/net/md_5/bungee/conf/YamlConfig.java @@ -47,10 +47,15 @@ public class YamlConfig implements ConfigurationAdapter @@ -118,5 +118,5 @@ index b9e99d6c..f6b5e8b8 100644 if ( permissions == null ) { -- -2.43.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0005-Disable-Metrics.patch b/BungeeCord-Patches/0005-Disable-Metrics.patch index 5351ac841..bd3f9f045 100644 --- a/BungeeCord-Patches/0005-Disable-Metrics.patch +++ b/BungeeCord-Patches/0005-Disable-Metrics.patch @@ -1,4 +1,4 @@ -From e79d3a76afb72b8aad4063923f0748177a4956ce Mon Sep 17 00:00:00 2001 +From aaaf0b95e6554567d0c7d033961e82b0f6783247 Mon Sep 17 00:00:00 2001 From: Jamie Mansfield Date: Thu, 19 May 2016 10:55:20 -0700 Subject: [PATCH] Disable Metrics @@ -6,10 +6,10 @@ Subject: [PATCH] Disable Metrics MCStats has not been stable for a long while now, and in our opinion it is not worth migrating to an alternative service. Waterfall has been maintained for the past two years without any or much consideration to statistics, we have users and that's enough for us ;) diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java -index 3aae1ea4..a64d916a 100644 +index 98203cc8..7ad603af 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java -@@ -127,7 +127,7 @@ public class BungeeCord extends ProxyServer +@@ -128,7 +128,7 @@ public class BungeeCord extends ProxyServer * locations.yml save thread. */ private final Timer saveThread = new Timer( "Reconnect Saver" ); @@ -18,7 +18,7 @@ index 3aae1ea4..a64d916a 100644 /** * Server socket listener. */ -@@ -315,7 +315,7 @@ public class BungeeCord extends ProxyServer +@@ -331,7 +331,7 @@ public class BungeeCord extends ProxyServer } } }, 0, TimeUnit.MINUTES.toMillis( 5 ) ); @@ -27,7 +27,7 @@ index 3aae1ea4..a64d916a 100644 Runtime.getRuntime().addShutdownHook( new Thread() { -@@ -473,7 +473,7 @@ public class BungeeCord extends ProxyServer +@@ -489,7 +489,7 @@ public class BungeeCord extends ProxyServer reconnectHandler.close(); } saveThread.cancel(); @@ -177,5 +177,5 @@ index eabf7573..00000000 - } -} -- -2.43.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0007-Fixup-ProtocolConstants.patch b/BungeeCord-Patches/0007-Fixup-ProtocolConstants.patch index 859f6aacd..4cbeadd59 100644 --- a/BungeeCord-Patches/0007-Fixup-ProtocolConstants.patch +++ b/BungeeCord-Patches/0007-Fixup-ProtocolConstants.patch @@ -1,14 +1,14 @@ -From 34fdda895db367f225f49d94a55a8f04aa89842f Mon Sep 17 00:00:00 2001 +From e6babfb5cf01befc88b60416cfcce8121cfa5c31 Mon Sep 17 00:00:00 2001 From: Troy Frew Date: Tue, 15 Nov 2016 09:07:51 -0500 Subject: [PATCH] Fixup ProtocolConstants diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/ProtocolConstants.java b/protocol/src/main/java/net/md_5/bungee/protocol/ProtocolConstants.java -index b3d1c2bb..ad9aa920 100644 +index 1d0de625..fb356a66 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/ProtocolConstants.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/ProtocolConstants.java -@@ -125,6 +125,16 @@ public class ProtocolConstants +@@ -126,6 +126,16 @@ public class ProtocolConstants SUPPORTED_VERSION_IDS = supportedVersionIds.build(); } @@ -26,5 +26,5 @@ index b3d1c2bb..ad9aa920 100644 { -- -2.47.1 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0009-Don-t-access-a-ByteBuf-s-underlying-array.patch b/BungeeCord-Patches/0009-Don-t-access-a-ByteBuf-s-underlying-array.patch index 933298458..8a5aa0aa9 100644 --- a/BungeeCord-Patches/0009-Don-t-access-a-ByteBuf-s-underlying-array.patch +++ b/BungeeCord-Patches/0009-Don-t-access-a-ByteBuf-s-underlying-array.patch @@ -1,4 +1,4 @@ -From b212fd1b0a9b781f13e21b4c1e9c0432640baaf1 Mon Sep 17 00:00:00 2001 +From 2dc230ec020d7ca2631a74149e6aea7bb3ce0509 Mon Sep 17 00:00:00 2001 From: Techcable Date: Tue, 3 May 2016 20:31:52 -0700 Subject: [PATCH] Don't access a ByteBuf's underlying array @@ -6,7 +6,7 @@ Subject: [PATCH] Don't access a ByteBuf's underlying array It returns the underlying array storage, and does *not* return a view of the buffer as an array diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/PluginMessage.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/PluginMessage.java -index 70b292f0..91f71c09 100644 +index 1a7d8512..ad1704dd 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/PluginMessage.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/PluginMessage.java @@ -3,6 +3,7 @@ package net.md_5.bungee.protocol.packet; @@ -17,19 +17,20 @@ index 70b292f0..91f71c09 100644 import java.io.ByteArrayInputStream; import java.io.DataInput; import java.io.DataInputStream; -@@ -47,10 +48,23 @@ public class PluginMessage extends DefinedPacket +@@ -49,10 +50,25 @@ public class PluginMessage extends DefinedPacket return "legacy:" + tag.toLowerCase( Locale.ROOT ); } }; - // + + private String tag; + private byte[] data; + ++ // Waterfall start + public PluginMessage(String tag, ByteBuf data, boolean allowExtendedPacket) { + this(tag, ByteBufUtil.getBytes(data), allowExtendedPacket); + } + - private String tag; - private byte[] data; - + public void setData(byte[] data) { + this.data = Preconditions.checkNotNull(data, "Null data"); + } @@ -38,15 +39,16 @@ index 70b292f0..91f71c09 100644 + Preconditions.checkNotNull(buf, "Null buffer"); + setData(ByteBufUtil.getBytes(buf)); + } ++ // Waterfall end + /** * Allow this packet to be sent as an "extended" packet. */ diff --git a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java -index b58a01c6..c7637608 100644 +index 8f52c50e..33c2c8ab 100644 --- a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java +++ b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java -@@ -286,7 +286,7 @@ public class ServerConnector extends PacketHandler +@@ -287,7 +287,7 @@ public class ServerConnector extends PacketHandler ByteBuf brand = ByteBufAllocator.DEFAULT.heapBuffer(); DefinedPacket.writeString( bungee.getName() + " (" + bungee.getVersion() + ")", brand ); @@ -56,10 +58,10 @@ index b58a01c6..c7637608 100644 } diff --git a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java -index d518d05f..21019091 100644 +index 64e9a764..f5b3f7a8 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java -@@ -325,7 +325,7 @@ public class DownstreamBridge extends PacketHandler +@@ -328,7 +328,7 @@ public class DownstreamBridge extends PacketHandler brand = ByteBufAllocator.DEFAULT.heapBuffer(); DefinedPacket.writeString( bungee.getName() + " (" + bungee.getVersion() + ")" + " <- " + serverBrand, brand ); @@ -69,18 +71,18 @@ index d518d05f..21019091 100644 // changes in the packet are ignored so we need to send it manually con.unsafe().sendPacket( pluginMessage ); diff --git a/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java b/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java -index 2446f489..380b6012 100644 +index 2934cdef..91c1fbdb 100644 --- a/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java +++ b/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java -@@ -55,7 +55,7 @@ import net.md_5.bungee.protocol.Varint21LengthFieldPrepender; +@@ -55,7 +55,7 @@ import net.md_5.bungee.util.PacketLimiter; public class PipelineUtils { - public static final AttributeKey LISTENER = AttributeKey.valueOf( "ListerInfo" ); + public static final AttributeKey LISTENER = AttributeKey.newInstance( "ListerInfo" ); - public static final ChannelInitializer SERVER_CHILD = new ChannelInitializer() + + private static void setChannelInitializerHolders() { - @Override -- -2.47.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0010-Optimize-uuid-conversions.patch b/BungeeCord-Patches/0010-Optimize-uuid-conversions.patch index ce299c751..ff257d83b 100644 --- a/BungeeCord-Patches/0010-Optimize-uuid-conversions.patch +++ b/BungeeCord-Patches/0010-Optimize-uuid-conversions.patch @@ -1,4 +1,4 @@ -From 4ef93b430b7240ea845535477c4d3ac49f906088 Mon Sep 17 00:00:00 2001 +From 76d5811ff1c891c4f93863f8a78ed8c60312065b Mon Sep 17 00:00:00 2001 From: Techcable Date: Mon, 14 Mar 2016 15:40:44 -0700 Subject: [PATCH] Optimize uuid conversions @@ -250,10 +250,10 @@ index e582808f..29cd91dd 100644 } diff --git a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -index 224f231b..b7d7e71a 100644 +index a048d5a3..1e3aef58 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -@@ -823,7 +823,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -798,7 +798,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection @Override public String getUUID() { @@ -263,5 +263,5 @@ index 224f231b..b7d7e71a 100644 @Override -- -2.47.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0011-Add-support-for-FML-with-IP-Forwarding-enabled.patch b/BungeeCord-Patches/0011-Add-support-for-FML-with-IP-Forwarding-enabled.patch index 6356d1409..78574ab8b 100644 --- a/BungeeCord-Patches/0011-Add-support-for-FML-with-IP-Forwarding-enabled.patch +++ b/BungeeCord-Patches/0011-Add-support-for-FML-with-IP-Forwarding-enabled.patch @@ -1,4 +1,4 @@ -From 5dc2020c97ea49af439b9277813faed5aea6eb52 Mon Sep 17 00:00:00 2001 +From 5a018520e9c84869b359a016f654807df4ffdb1b Mon Sep 17 00:00:00 2001 From: Daniel Naylor Date: Tue, 25 Oct 2016 12:23:07 -0400 Subject: [PATCH] Add support for FML with IP Forwarding enabled @@ -12,7 +12,7 @@ However, there is now at least one Forge coremod that intends to support IP forw No breaking changes occur due to this patch. diff --git a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java -index c60c7dd7..3bc72011 100644 +index 33c2c8ab..86b4b8ed 100644 --- a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java +++ b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java @@ -7,6 +7,7 @@ import io.netty.buffer.ByteBufAllocator; @@ -23,7 +23,7 @@ index c60c7dd7..3bc72011 100644 import java.util.Queue; import java.util.Set; import java.util.UUID; -@@ -115,15 +116,39 @@ public class ServerConnector extends PacketHandler +@@ -116,15 +117,39 @@ public class ServerConnector extends PacketHandler String newHost = copiedHandshake.getHost() + "\00" + AddressUtil.sanitizeAddress( user.getAddress() ) + "\00" + user.getUUID(); LoginResult profile = user.getPendingConnection().getLoginProfile(); @@ -67,10 +67,10 @@ index c60c7dd7..3bc72011 100644 } diff --git a/proxy/src/main/java/net/md_5/bungee/UserConnection.java b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -index 9edec410..c8d5648c 100644 +index 6d661494..caf9ff72 100644 --- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java +++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -@@ -173,9 +173,12 @@ public final class UserConnection implements ProxiedPlayer +@@ -169,9 +169,12 @@ public final class UserConnection implements ProxiedPlayer forgeClientHandler = new ForgeClientHandler( this ); @@ -101,5 +101,5 @@ index 6dca2048..f5253b89 100644 * The FML 1.8 handshake token. */ -- -2.43.0.windows.1 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0013-Allow-removing-servers-or-changing-addresses-on-relo.patch b/BungeeCord-Patches/0013-Allow-removing-servers-or-changing-addresses-on-relo.patch index 2085e56db..2897edf79 100644 --- a/BungeeCord-Patches/0013-Allow-removing-servers-or-changing-addresses-on-relo.patch +++ b/BungeeCord-Patches/0013-Allow-removing-servers-or-changing-addresses-on-relo.patch @@ -1,4 +1,4 @@ -From 9a24ff623c14bd07b709f8620d978d6432d9048a Mon Sep 17 00:00:00 2001 +From ed93d72047d289437c5cd469d31f84a096da6e11 Mon Sep 17 00:00:00 2001 From: Techcable Date: Thu, 28 Jan 2016 15:13:29 -0700 Subject: [PATCH] Allow removing servers or changing addresses on reload @@ -10,7 +10,7 @@ Kicks players on failure to move. Original Issue: https://github.com/WaterfallMC/Waterfall-Old/issues/17 diff --git a/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java b/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java -index 1a688179..fea0ec61 100644 +index 2c819684..9e81fc6b 100644 --- a/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java +++ b/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java @@ -11,12 +11,15 @@ import java.util.UUID; @@ -29,7 +29,7 @@ index 1a688179..fea0ec61 100644 import net.md_5.bungee.util.CaseInsensitiveMap; import net.md_5.bungee.util.CaseInsensitiveSet; -@@ -118,20 +121,38 @@ public abstract class Configuration implements ProxyConfig +@@ -122,20 +125,38 @@ public abstract class Configuration implements ProxyConfig servers = new CaseInsensitiveMap<>( newServers ); } else { @@ -79,5 +79,5 @@ index 1a688179..fea0ec61 100644 for ( ListenerInfo listener : listeners ) -- -2.43.0.windows.1 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0014-Enable-TCP_NODELAY.patch b/BungeeCord-Patches/0014-Enable-TCP_NODELAY.patch index c481ec622..cfa41f53e 100644 --- a/BungeeCord-Patches/0014-Enable-TCP_NODELAY.patch +++ b/BungeeCord-Patches/0014-Enable-TCP_NODELAY.patch @@ -1,4 +1,4 @@ -From 2cc77d1ddf7c29c825de970bd7cefcdfab496674 Mon Sep 17 00:00:00 2001 +From c891af89605c3bbb17eacb0665ea38c3b85cbd7b Mon Sep 17 00:00:00 2001 From: Harry Date: Sun, 24 Jan 2016 15:13:29 -0700 Subject: [PATCH] Enable TCP_NODELAY. @@ -6,10 +6,10 @@ Subject: [PATCH] Enable TCP_NODELAY. This is enabled by default on CraftBukkit/Spigot >= 1.8 and may help with network performance. diff --git a/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java b/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java -index 380b6012..f1fce77b 100644 +index 91c1fbdb..f00a1a6c 100644 --- a/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java +++ b/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java -@@ -194,6 +194,7 @@ public class PipelineUtils +@@ -215,6 +215,7 @@ public class PipelineUtils { // IP_TOS is not supported (Windows XP / Windows Server 2003) } @@ -18,5 +18,5 @@ index 380b6012..f1fce77b 100644 ch.config().setWriteBufferWaterMark( MARK ); -- -2.47.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0015-Micro-optimizations.patch b/BungeeCord-Patches/0015-Micro-optimizations.patch index 8fb6d659e..b15487406 100644 --- a/BungeeCord-Patches/0015-Micro-optimizations.patch +++ b/BungeeCord-Patches/0015-Micro-optimizations.patch @@ -1,4 +1,4 @@ -From 1aa3fbcfe8aaf58084220dfc5142cff546a0b6c2 Mon Sep 17 00:00:00 2001 +From c5f080e880e2fef9a8f4b405f669acd11b603e62 Mon Sep 17 00:00:00 2001 From: Tux Date: Tue, 19 Jan 2016 15:13:29 -0700 Subject: [PATCH] Micro-optimizations @@ -8,10 +8,10 @@ Subject: [PATCH] Micro-optimizations - Don't create a data input stream for every plugin message we get from servers diff --git a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java -index 21019091..b501f7bd 100644 +index f5b3f7a8..137d949e 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java -@@ -307,7 +307,6 @@ public class DownstreamBridge extends PacketHandler +@@ -310,7 +310,6 @@ public class DownstreamBridge extends PacketHandler @SuppressWarnings("checkstyle:avoidnestedblocks") public void handle(PluginMessage pluginMessage) throws Exception { @@ -19,14 +19,14 @@ index 21019091..b501f7bd 100644 PluginMessageEvent event = new PluginMessageEvent( server, con, pluginMessage.getTag(), pluginMessage.getData().clone() ); if ( bungee.getPluginManager().callEvent( event ).isCancelled() ) -@@ -334,6 +333,7 @@ public class DownstreamBridge extends PacketHandler +@@ -337,6 +336,7 @@ public class DownstreamBridge extends PacketHandler - if ( pluginMessage.getTag().equals( "BungeeCord" ) ) + if ( pluginMessage.getTag().equals( PluginMessage.BUNGEE_CHANNEL_LEGACY ) ) { + DataInput in = pluginMessage.getStream(); ByteArrayDataOutput out = ByteStreams.newDataOutput(); String subChannel = in.readUTF(); -- -2.47.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0016-Allow-invalid-packet-ids-for-forge-servers.patch b/BungeeCord-Patches/0016-Allow-invalid-packet-ids-for-forge-servers.patch index d0fb970a7..dce3805b7 100644 --- a/BungeeCord-Patches/0016-Allow-invalid-packet-ids-for-forge-servers.patch +++ b/BungeeCord-Patches/0016-Allow-invalid-packet-ids-for-forge-servers.patch @@ -1,4 +1,4 @@ -From d68066bbfc93431041ec0df01945032b0ae69f70 Mon Sep 17 00:00:00 2001 +From d4f939d0362bfedb493701c2e60355a08d8004f3 Mon Sep 17 00:00:00 2001 From: Techcable Date: Thu, 19 May 2016 17:09:22 -0600 Subject: [PATCH] Allow invalid packet ids for forge servers @@ -37,10 +37,10 @@ index d79d5e5c..250e7620 100644 { packet.read( in, protocol, prot.getDirection(), protocolVersion ); diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java b/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java -index 8aa57ed4..7a26c419 100644 +index 40fdb868..34be8c00 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java -@@ -917,14 +917,23 @@ public enum Protocol +@@ -945,14 +945,23 @@ public enum Protocol return protocol; } @@ -66,10 +66,10 @@ index 8aa57ed4..7a26c419 100644 throw new BadPacketException( "Packet with id " + id + " outside of range" ); } diff --git a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java -index 824166e5..b02121af 100644 +index 86b4b8ed..1af6d465 100644 --- a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java +++ b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java -@@ -243,6 +243,12 @@ public class ServerConnector extends PacketHandler +@@ -244,6 +244,12 @@ public class ServerConnector extends PacketHandler public static void handleLogin(ProxyServer bungee, ChannelWrapper ch, UserConnection user, BungeeServerInfo target, ForgeServerHandler handshakeHandler, ServerConnection server, Login login) throws Exception { ServerConnectedEvent event = new ServerConnectedEvent( user, server ); @@ -83,10 +83,10 @@ index 824166e5..b02121af 100644 ch.write( BungeeCord.getInstance().registerChannels( user.getPendingConnection().getVersion() ) ); diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap.java -index 206bc8d2..fab7e9b9 100644 +index c8fdb2e9..1bf73fd2 100644 --- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap.java +++ b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap.java -@@ -347,6 +347,12 @@ public abstract class EntityMap +@@ -349,6 +349,12 @@ public abstract class EntityMap int packetId = DefinedPacket.readVarInt( packet ); int packetIdLength = packet.readerIndex() - readerIndex; @@ -100,5 +100,5 @@ index 206bc8d2..fab7e9b9 100644 { rewriteInt( packet, oldId, newId, readerIndex + packetIdLength ); -- -2.47.1 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0018-Improve-server-list-ping-logging.patch b/BungeeCord-Patches/0018-Improve-server-list-ping-logging.patch index a09e6a399..659c7fb87 100644 --- a/BungeeCord-Patches/0018-Improve-server-list-ping-logging.patch +++ b/BungeeCord-Patches/0018-Improve-server-list-ping-logging.patch @@ -1,4 +1,4 @@ -From 67530bdaa956440c3c8a7f8a9b37e0b6a1ac62e5 Mon Sep 17 00:00:00 2001 +From 6a08ec5a29e307665e5f3f8fd95a3237fd0fd7fa Mon Sep 17 00:00:00 2001 From: Janmm14 Date: Sat, 12 Dec 2015 23:43:30 +0100 Subject: [PATCH] Improve server list ping logging @@ -7,10 +7,10 @@ This functionality of this patch was adopted upstream, however, this patch remains for a few misc improvements around here diff --git a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java -index b02121af..6f49765f 100644 +index 1af6d465..38e06e4c 100644 --- a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java +++ b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java -@@ -533,6 +533,6 @@ public class ServerConnector extends PacketHandler +@@ -534,6 +534,6 @@ public class ServerConnector extends PacketHandler @Override public String toString() { @@ -19,10 +19,10 @@ index b02121af..6f49765f 100644 } } diff --git a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java -index b501f7bd..1c075a9f 100644 +index 137d949e..3c286239 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java -@@ -802,6 +802,6 @@ public class DownstreamBridge extends PacketHandler +@@ -805,6 +805,6 @@ public class DownstreamBridge extends PacketHandler @Override public String toString() { @@ -31,10 +31,10 @@ index b501f7bd..1c075a9f 100644 } } diff --git a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -index 1679e6ab..aaae7afa 100644 +index 1e3aef58..13889ced 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -@@ -829,20 +829,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -804,20 +804,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection @Override public String toString() { @@ -57,7 +57,7 @@ index 1679e6ab..aaae7afa 100644 @Override diff --git a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java -index 0961c6e6..e61fcc88 100644 +index e7d46d53..ba0ef69d 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java @@ -404,6 +404,6 @@ public class UpstreamBridge extends PacketHandler @@ -69,5 +69,5 @@ index 0961c6e6..e61fcc88 100644 } } -- -2.47.1 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0019-Add-a-property-to-accept-invalid-ping-packets.patch b/BungeeCord-Patches/0019-Add-a-property-to-accept-invalid-ping-packets.patch index f4820a78a..2880f0f34 100644 --- a/BungeeCord-Patches/0019-Add-a-property-to-accept-invalid-ping-packets.patch +++ b/BungeeCord-Patches/0019-Add-a-property-to-accept-invalid-ping-packets.patch @@ -1,4 +1,4 @@ -From 6b92feb2426c2bd0866b6ee3aa7fc175ecea40ca Mon Sep 17 00:00:00 2001 +From bc9ade8f2367594c2a006eed753e0621f7930c8f Mon Sep 17 00:00:00 2001 From: Techcable Date: Sun, 7 Feb 2016 00:01:19 -0700 Subject: [PATCH] Add a property to accept invalid ping packets @@ -9,10 +9,10 @@ You can enable it by setting '-Dwaterfall.acceptInvalidPackets=true' at the comm Fixes #23 diff --git a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -index 72f6111e..fd577788 100644 +index 13889ced..c86121d5 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -@@ -333,10 +333,14 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -329,10 +329,14 @@ public class InitialHandler extends PacketHandler implements PendingConnection thisState = State.PING; } @@ -29,5 +29,5 @@ index 72f6111e..fd577788 100644 disconnect( "" ); } -- -2.47.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0020-Use-a-worker-and-a-boss-event-loop-group.patch b/BungeeCord-Patches/0020-Use-a-worker-and-a-boss-event-loop-group.patch index 3bdf2f1ae..ed82f9de3 100644 --- a/BungeeCord-Patches/0020-Use-a-worker-and-a-boss-event-loop-group.patch +++ b/BungeeCord-Patches/0020-Use-a-worker-and-a-boss-event-loop-group.patch @@ -1,4 +1,4 @@ -From 092cd796c78358364ed05ae54e4b3c875879393f Mon Sep 17 00:00:00 2001 +From 92e0203e14b843b19ce4f98ebb7551051fddbb20 Mon Sep 17 00:00:00 2001 From: kamcio96 Date: Mon, 14 Mar 2016 16:07:20 -0700 Subject: [PATCH] Use a worker and a boss event loop group. @@ -8,10 +8,10 @@ Merges the rest of https://github.com/SpigotMC/BungeeCord/pull/1706 by @kamcio96 This is proper practice for netty. diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java -index a64d916a..3501a4e9 100644 +index 7ad603af..33390578 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java -@@ -122,7 +122,7 @@ public class BungeeCord extends ProxyServer +@@ -123,7 +123,7 @@ public class BungeeCord extends ProxyServer * Localization formats. */ private Map messageFormats; @@ -20,7 +20,7 @@ index a64d916a..3501a4e9 100644 /** * locations.yml save thread. */ -@@ -273,7 +273,8 @@ public class BungeeCord extends ProxyServer +@@ -289,7 +289,8 @@ public class BungeeCord extends ProxyServer ResourceLeakDetector.setLevel( ResourceLeakDetector.Level.DISABLED ); // Eats performance } @@ -30,16 +30,16 @@ index a64d916a..3501a4e9 100644 File moduleDirectory = new File( "modules" ); moduleManager.load( this, moduleDirectory ); -@@ -362,7 +363,7 @@ public class BungeeCord extends ProxyServer +@@ -378,7 +379,7 @@ public class BungeeCord extends ProxyServer .option( ChannelOption.SO_REUSEADDR, true ) // TODO: Move this elsewhere! .childAttr( PipelineUtils.LISTENER, info ) - .childHandler( PipelineUtils.SERVER_CHILD ) + .childHandler( unsafe().getFrontendChannelInitializer().getChannelInitializer() ) - .group( eventLoops ) + .group( bossEventLoopGroup, workerEventLoopGroup ) .localAddress( info.getSocketAddress() ) .bind().addListener( listener ); -@@ -385,7 +386,7 @@ public class BungeeCord extends ProxyServer +@@ -401,7 +402,7 @@ public class BungeeCord extends ProxyServer } } }; @@ -48,7 +48,7 @@ index a64d916a..3501a4e9 100644 } } } -@@ -494,12 +495,14 @@ public class BungeeCord extends ProxyServer +@@ -510,12 +511,14 @@ public class BungeeCord extends ProxyServer } getLogger().info( "Closing IO threads" ); @@ -70,7 +70,7 @@ index a64d916a..3501a4e9 100644 getLogger().info( "Thank you and goodbye" ); diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeServerInfo.java b/proxy/src/main/java/net/md_5/bungee/BungeeServerInfo.java -index 671cf96f..377df7ec 100644 +index 7700f1d6..0d24f1eb 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeServerInfo.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeServerInfo.java @@ -185,7 +185,7 @@ public class BungeeServerInfo implements ServerInfo @@ -79,9 +79,9 @@ index 671cf96f..377df7ec 100644 .channel( PipelineUtils.getChannel( socketAddress ) ) - .group( BungeeCord.getInstance().eventLoops ) + .group( BungeeCord.getInstance().workerEventLoopGroup ) - .handler( PipelineUtils.BASE_SERVERSIDE ) + .handler( ProxyServer.getInstance().unsafe().getServerInfoChannelInitializer().getChannelInitializer() ) .option( ChannelOption.CONNECT_TIMEOUT_MILLIS, BungeeCord.getInstance().getConfig().getRemotePingTimeout() ) .remoteAddress( socketAddress ) -- -2.43.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0021-Better-Decompression-Sanity.patch b/BungeeCord-Patches/0021-Better-Decompression-Sanity.patch index 3f9e87218..bdc014ac1 100644 --- a/BungeeCord-Patches/0021-Better-Decompression-Sanity.patch +++ b/BungeeCord-Patches/0021-Better-Decompression-Sanity.patch @@ -1,4 +1,4 @@ -From f5e7fcd4863418a7b0359249106b0c2587c90e75 Mon Sep 17 00:00:00 2001 +From fe053c35a3ec0f28a3a3d3db36e307aa3838f6a2 Mon Sep 17 00:00:00 2001 From: Techcable Date: Fri, 18 Mar 2016 10:53:24 -0700 Subject: [PATCH] Better Decompression Sanity @@ -6,7 +6,7 @@ Subject: [PATCH] Better Decompression Sanity Fixes #40 diff --git a/proxy/src/main/java/net/md_5/bungee/compress/PacketDecompressor.java b/proxy/src/main/java/net/md_5/bungee/compress/PacketDecompressor.java -index 445ee947..eaedf4bc 100644 +index 1612ffcf..7fa07031 100644 --- a/proxy/src/main/java/net/md_5/bungee/compress/PacketDecompressor.java +++ b/proxy/src/main/java/net/md_5/bungee/compress/PacketDecompressor.java @@ -1,5 +1,7 @@ @@ -17,25 +17,29 @@ index 445ee947..eaedf4bc 100644 import com.google.common.base.Preconditions; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; -@@ -8,9 +10,11 @@ import java.util.List; - import net.md_5.bungee.jni.zlib.BungeeZlib; +@@ -9,10 +11,12 @@ import net.md_5.bungee.jni.zlib.BungeeZlib; import net.md_5.bungee.protocol.DefinedPacket; + import net.md_5.bungee.protocol.OverflowPacketException; +@RequiredArgsConstructor public class PacketDecompressor extends MessageToMessageDecoder { + private static final int MAX_DECOMPRESSED_LEN = 1 << 23; + private final int compressionThreshold; private final BungeeZlib zlib = CompressFactory.zlib.newInstance(); @Override -@@ -34,12 +38,13 @@ public class PacketDecompressor extends MessageToMessageDecoder - out.add( in.retain() ); - } else - { +@@ -40,14 +44,15 @@ public class PacketDecompressor extends MessageToMessageDecoder + { + throw new OverflowPacketException( "Packet may not be larger than " + MAX_DECOMPRESSED_LEN + " bytes" ); + } +- ++ + Preconditions.checkArgument( size >= compressionThreshold, "Decompressed size %s less than compression threshold %s", size, compressionThreshold); - ByteBuf decompressed = ctx.alloc().directBuffer(); - + // Do not use size as max capacity, as its possible that the entity rewriter increases the size afterwards + // This would result in a kick (it happens rarely as the entity ids size must differ) + ByteBuf decompressed = ctx.alloc().directBuffer( size, MAX_DECOMPRESSED_LEN ); try { zlib.process( in, decompressed ); @@ -45,18 +49,18 @@ index 445ee947..eaedf4bc 100644 out.add( decompressed ); decompressed = null; diff --git a/proxy/src/main/java/net/md_5/bungee/netty/ChannelWrapper.java b/proxy/src/main/java/net/md_5/bungee/netty/ChannelWrapper.java -index a15ba5df..032b06d4 100644 +index a3c6c8c4..909941d9 100644 --- a/proxy/src/main/java/net/md_5/bungee/netty/ChannelWrapper.java +++ b/proxy/src/main/java/net/md_5/bungee/netty/ChannelWrapper.java -@@ -194,7 +194,7 @@ public class ChannelWrapper +@@ -190,7 +190,7 @@ public class ChannelWrapper - if ( ch.pipeline().get( PacketDecompressor.class ) == null && compressionThreshold >= 0 ) - { -- addBefore( PipelineUtils.PACKET_DECODER, "decompress", new PacketDecompressor() ); -+ addBefore( PipelineUtils.PACKET_DECODER, "decompress", new PacketDecompressor(compressionThreshold) ); - } - if ( compressionThreshold < 0 ) + if ( decompressor == null ) + { +- addBefore( PipelineUtils.PACKET_DECODER, "decompress", decompressor = new PacketDecompressor() ); ++ addBefore( PipelineUtils.PACKET_DECODER, "decompress", decompressor = new PacketDecompressor(compressionThreshold) ); + } + } else { -- -2.47.1 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0022-Add-dynamic-server-addition-removal-api.patch b/BungeeCord-Patches/0022-Add-dynamic-server-addition-removal-api.patch index 19f7563f6..0b6d5981e 100644 --- a/BungeeCord-Patches/0022-Add-dynamic-server-addition-removal-api.patch +++ b/BungeeCord-Patches/0022-Add-dynamic-server-addition-removal-api.patch @@ -1,4 +1,4 @@ -From 578c03f455937272ca3acd2a7dac0bdbbd125412 Mon Sep 17 00:00:00 2001 +From cd4dc36e5aae4fdb8748598057b5d3a1370c6a30 Mon Sep 17 00:00:00 2001 From: Troy Frew Date: Wed, 29 Jun 2016 04:29:25 +0200 Subject: [PATCH] Add dynamic server addition/removal api. @@ -109,10 +109,10 @@ index b6845bc4..edbae4ea 100644 * Does the server authenticate with Mojang. * diff --git a/api/src/main/java/net/md_5/bungee/api/ProxyServer.java b/api/src/main/java/net/md_5/bungee/api/ProxyServer.java -index 1f330bd2..a4011335 100644 +index cab7fa04..65d1d1d0 100644 --- a/api/src/main/java/net/md_5/bungee/api/ProxyServer.java +++ b/api/src/main/java/net/md_5/bungee/api/ProxyServer.java -@@ -96,9 +96,25 @@ public abstract class ProxyServer +@@ -97,9 +97,25 @@ public abstract class ProxyServer * return a fresh map each time. * * @return all registered remote server destinations @@ -170,10 +170,10 @@ index 59c104d3..698b420f 100644 private final String lower = ( args.length == 0 ) ? "" : args[0].toLowerCase( Locale.ROOT ); diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java -index 3501a4e9..5a3acccf 100644 +index 33390578..31707782 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java -@@ -667,10 +667,18 @@ public class BungeeCord extends ProxyServer +@@ -683,10 +683,18 @@ public class BungeeCord extends ProxyServer return config.getServers(); } @@ -194,7 +194,7 @@ index 3501a4e9..5a3acccf 100644 @Override diff --git a/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java b/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java -index fea0ec61..37abb3c4 100644 +index 9e81fc6b..52b79ff5 100644 --- a/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java +++ b/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java @@ -1,6 +1,7 @@ @@ -221,15 +221,15 @@ index fea0ec61..37abb3c4 100644 /** * Set of all servers. */ -@@ -73,6 +76,7 @@ public abstract class Configuration implements ProxyConfig - private boolean forgeSupport; - private boolean rejectTransfers; +@@ -75,6 +78,7 @@ public abstract class Configuration implements ProxyConfig + private int maxPacketsPerSecond = 1 << 12; + private int maxPacketDataPerSecond = 1 << 25; + @Synchronized("serversLock") // Waterfall public void load() { ConfigurationAdapter adapter = ProxyServer.getInstance().getConfigurationAdapter(); -@@ -121,7 +125,7 @@ public abstract class Configuration implements ProxyConfig +@@ -125,7 +129,7 @@ public abstract class Configuration implements ProxyConfig servers = new CaseInsensitiveMap<>( newServers ); } else { @@ -238,7 +238,7 @@ index fea0ec61..37abb3c4 100644 for ( ServerInfo oldServer : oldServers.values() ) { -@@ -184,4 +188,71 @@ public abstract class Configuration implements ProxyConfig +@@ -188,4 +192,71 @@ public abstract class Configuration implements ProxyConfig { return favicon; } @@ -311,5 +311,5 @@ index fea0ec61..37abb3c4 100644 + // Waterfall end } -- -2.44.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0024-Improve-ServerKickEvent.patch b/BungeeCord-Patches/0024-Improve-ServerKickEvent.patch index 3a4b2ff2d..e7e385170 100644 --- a/BungeeCord-Patches/0024-Improve-ServerKickEvent.patch +++ b/BungeeCord-Patches/0024-Improve-ServerKickEvent.patch @@ -1,4 +1,4 @@ -From 1c384f08c5a31d8a3b5b38bf87ac23c6066cffc5 Mon Sep 17 00:00:00 2001 +From f5bdbab090bb50cffa60ba8dbdee0aa5b45d9e0f Mon Sep 17 00:00:00 2001 From: Nathan Poirier Date: Tue, 28 Jun 2016 23:00:49 -0500 Subject: [PATCH] Improve ServerKickEvent @@ -68,10 +68,10 @@ index 3f9efaa8..5d2597ad 100644 /** * @return the kick reason diff --git a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java -index 6f49765f..661c6563 100644 +index 38e06e4c..6d0ab7bd 100644 --- a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java +++ b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java -@@ -450,7 +450,7 @@ public class ServerConnector extends PacketHandler +@@ -451,7 +451,7 @@ public class ServerConnector extends PacketHandler ServerKickEvent event = new ServerKickEvent( user, target, new BaseComponent[] { kick.getMessage() @@ -81,10 +81,10 @@ index 6f49765f..661c6563 100644 { // Pre cancel the event if we are going to try another server diff --git a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java -index 1c075a9f..c567d549 100644 +index 3c286239..7bac16e6 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java -@@ -645,10 +645,14 @@ public class DownstreamBridge extends PacketHandler +@@ -648,10 +648,14 @@ public class DownstreamBridge extends PacketHandler public void handle(Kick kick) throws Exception { ServerInfo def = con.updateAndGetNextServer( server.getInfo() ); @@ -101,5 +101,5 @@ index 1c075a9f..c567d549 100644 { con.connectNow( event.getCancelServer(), ServerConnectEvent.Reason.KICK_REDIRECT ); -- -2.47.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0025-Configurable-server-version-in-ping-response.patch b/BungeeCord-Patches/0025-Configurable-server-version-in-ping-response.patch index 92bcb1d2c..7e9b55820 100644 --- a/BungeeCord-Patches/0025-Configurable-server-version-in-ping-response.patch +++ b/BungeeCord-Patches/0025-Configurable-server-version-in-ping-response.patch @@ -1,4 +1,4 @@ -From 841109177468b8cfec9a73b5aa0e3f2bab3e38a3 Mon Sep 17 00:00:00 2001 +From 3d3293771dbced92be752768ac5e64627538b04d Mon Sep 17 00:00:00 2001 From: Troy Frew Date: Wed, 29 Jun 2016 13:56:57 -0500 Subject: [PATCH] Configurable server version in ping response @@ -66,10 +66,10 @@ index 91743f01..111404fb 100644 public int getTabThrottle() { return tabThrottle; diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java -index 5a3acccf..7e2688ee 100644 +index 31707782..43dd0977 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java -@@ -721,7 +721,7 @@ public class BungeeCord extends ProxyServer +@@ -737,7 +737,7 @@ public class BungeeCord extends ProxyServer @Override public String getGameVersion() { @@ -79,5 +79,5 @@ index 5a3acccf..7e2688ee 100644 @Override -- -2.44.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0026-Add-timeout-variant-to-connect-methods.patch b/BungeeCord-Patches/0026-Add-timeout-variant-to-connect-methods.patch index 9d1574301..7860bf093 100644 --- a/BungeeCord-Patches/0026-Add-timeout-variant-to-connect-methods.patch +++ b/BungeeCord-Patches/0026-Add-timeout-variant-to-connect-methods.patch @@ -1,4 +1,4 @@ -From d56d099214f23d6e792a9cdb9a346776ac5e4abe Mon Sep 17 00:00:00 2001 +From f9a96ba44d4fb008cc2c3bc01008b2b24aba14a5 Mon Sep 17 00:00:00 2001 From: Ichbinjoe Date: Sat, 16 Jul 2016 20:44:01 -0400 Subject: [PATCH] Add timeout variant to connect methods @@ -75,10 +75,10 @@ index 0fe647b8..32af4937 100644 * Connects / transfers this user to the specified connection, gracefully * closing the current one. Depending on the implementation, this method diff --git a/proxy/src/main/java/net/md_5/bungee/UserConnection.java b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -index 7fcb3e2b..bf45501a 100644 +index caf9ff72..fd7d8799 100644 --- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java +++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -@@ -299,9 +299,20 @@ public final class UserConnection implements ProxiedPlayer +@@ -295,9 +295,20 @@ public final class UserConnection implements ProxiedPlayer public void connect(ServerInfo info, final Callback callback, final boolean retry, ServerConnectEvent.Reason reason) { @@ -99,7 +99,7 @@ index 7fcb3e2b..bf45501a 100644 if ( callback != null ) { // Convert the Callback to be compatible with Callback from ServerConnectRequest. -@@ -396,7 +407,7 @@ public final class UserConnection implements ProxiedPlayer +@@ -381,7 +392,7 @@ public final class UserConnection implements ProxiedPlayer if ( request.isRetry() && def != null && ( getServer() == null || def != getServer().getInfo() ) ) { sendMessage( bungee.getTranslation( "fallback_lobby" ) ); @@ -109,5 +109,5 @@ index 7fcb3e2b..bf45501a 100644 { disconnect( bungee.getTranslation( "fallback_kick", connectionFailMessage( future.cause() ) ) ); -- -2.47.1 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0029-Fix-potion-race-condition-on-Forge-1.8.9.patch b/BungeeCord-Patches/0029-Fix-potion-race-condition-on-Forge-1.8.9.patch index 34737c571..e33e32bbb 100644 --- a/BungeeCord-Patches/0029-Fix-potion-race-condition-on-Forge-1.8.9.patch +++ b/BungeeCord-Patches/0029-Fix-potion-race-condition-on-Forge-1.8.9.patch @@ -1,4 +1,4 @@ -From 92107dac4cc9aca1290d127e86fbf240a959d493 Mon Sep 17 00:00:00 2001 +From 6639aecbacc9db0f89e47475fa6e7c2d80790ace Mon Sep 17 00:00:00 2001 From: Aaron Hill Date: Thu, 15 Sep 2016 22:38:37 +0200 Subject: [PATCH] Fix potion race condition on Forge 1.8.9 @@ -117,7 +117,7 @@ index 00000000..7ed2dc3a + } +} diff --git a/proxy/src/main/java/net/md_5/bungee/UserConnection.java b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -index 36582d85..df160672 100644 +index fd7d8799..7eda8f16 100644 --- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java +++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java @@ -1,7 +1,9 @@ @@ -128,9 +128,9 @@ index 36582d85..df160672 100644 import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Multimap; import io.netty.bootstrap.Bootstrap; - import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; -@@ -129,6 +131,10 @@ public final class UserConnection implements ProxiedPlayer + import io.netty.channel.ChannelFutureListener; +@@ -125,6 +127,10 @@ public final class UserConnection implements ProxiedPlayer private final Scoreboard serverSentScoreboard = new Scoreboard(); @Getter private final Collection sentBossBars = new HashSet<>(); @@ -142,10 +142,10 @@ index 36582d85..df160672 100644 @Setter private String lastCommandTabbed; diff --git a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java -index c567d549..a9258264 100644 +index 7bac16e6..9a12f002 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java -@@ -750,6 +750,32 @@ public class DownstreamBridge extends PacketHandler +@@ -753,6 +753,32 @@ public class DownstreamBridge extends PacketHandler } } @@ -179,7 +179,7 @@ index c567d549..a9258264 100644 public void handle(Respawn respawn) { diff --git a/proxy/src/main/java/net/md_5/bungee/forge/ForgeClientHandler.java b/proxy/src/main/java/net/md_5/bungee/forge/ForgeClientHandler.java -index d15044f4..bea2bbff 100644 +index d15044f4..087cb4b0 100644 --- a/proxy/src/main/java/net/md_5/bungee/forge/ForgeClientHandler.java +++ b/proxy/src/main/java/net/md_5/bungee/forge/ForgeClientHandler.java @@ -9,6 +9,8 @@ import lombok.NonNull; @@ -191,19 +191,20 @@ index d15044f4..bea2bbff 100644 import net.md_5.bungee.protocol.packet.PluginMessage; /** -@@ -94,9 +96,23 @@ public class ForgeClientHandler +@@ -94,8 +96,24 @@ public class ForgeClientHandler public void resetHandshake() { state = ForgeClientHandshakeState.HELLO; -+ ++ // Waterfall start + // This issue only exists in Forge 1.8.9 + if (this.con.getPendingConnection().getVersion() == ProtocolConstants.MINECRAFT_1_8) { + this.resetAllThePotions(con); + } -+ ++ // Waterfall end con.unsafe().sendPacket( ForgeConstants.FML_RESET_HANDSHAKE ); } - ++ ++ // Waterfall start + private void resetAllThePotions(UserConnection con) { + // Just to be sure + for (Map.Entry entry: con.getPotions().entries()) { @@ -211,10 +212,10 @@ index d15044f4..bea2bbff 100644 + } + con.getPotions().clear(); + } -+ ++ // Waterfall end + /** * Sends the server mod list to the client, or stores it for sending later. - * -- -2.47.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0033-Use-Log4j2-for-logging-and-TerminalConsoleAppender-f.patch b/BungeeCord-Patches/0033-Use-Log4j2-for-logging-and-TerminalConsoleAppender-f.patch index 36d259903..037169c0d 100644 --- a/BungeeCord-Patches/0033-Use-Log4j2-for-logging-and-TerminalConsoleAppender-f.patch +++ b/BungeeCord-Patches/0033-Use-Log4j2-for-logging-and-TerminalConsoleAppender-f.patch @@ -1,4 +1,4 @@ -From c9c86d9054a05493a074fab732839c90121a1b6d Mon Sep 17 00:00:00 2001 +From 2262ebe4855a5a5ecf8ab9c8ccf4e8b6bf155344 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Fri, 22 Sep 2017 12:46:47 +0200 Subject: [PATCH] Use Log4j2 for logging and TerminalConsoleAppender for @@ -233,7 +233,7 @@ index 00000000..cfd039cd + + diff --git a/pom.xml b/pom.xml -index b882440f..be640f9e 100644 +index 4a4287eb..e752d067 100644 --- a/pom.xml +++ b/pom.xml @@ -48,12 +48,13 @@ @@ -362,7 +362,7 @@ index 00000000..765d24bc + +} diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java -index 7e2688ee..066e740d 100644 +index 43dd0977..30564c2a 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java @@ -48,7 +48,6 @@ import java.util.concurrent.locks.ReentrantReadWriteLock; @@ -389,7 +389,7 @@ index 7e2688ee..066e740d 100644 import net.md_5.bungee.module.ModuleManager; import net.md_5.bungee.netty.PipelineUtils; import net.md_5.bungee.protocol.DefinedPacket; -@@ -100,8 +95,6 @@ import net.md_5.bungee.protocol.packet.PluginMessage; +@@ -101,8 +96,6 @@ import net.md_5.bungee.protocol.packet.PluginMessage; import net.md_5.bungee.query.RemoteQuery; import net.md_5.bungee.scheduler.BungeeScheduler; import net.md_5.bungee.util.CaseInsensitiveMap; @@ -398,7 +398,7 @@ index 7e2688ee..066e740d 100644 /** * Main BungeeCord proxy class. -@@ -161,8 +154,12 @@ public class BungeeCord extends ProxyServer +@@ -162,8 +155,12 @@ public class BungeeCord extends ProxyServer private final File pluginsFolder = new File( "plugins" ); @Getter private final BungeeScheduler scheduler = new BungeeScheduler(); @@ -411,7 +411,7 @@ index 7e2688ee..066e740d 100644 @Getter private final Logger logger; public final Gson gson = new GsonBuilder() -@@ -207,6 +204,8 @@ public class BungeeCord extends ProxyServer +@@ -223,6 +220,8 @@ public class BungeeCord extends ProxyServer // BungeeCord. This version is only used when extracting the libraries to their temp folder. System.setProperty( "library.jansi.version", "BungeeCord" ); @@ -420,7 +420,7 @@ index 7e2688ee..066e740d 100644 AnsiConsole.systemInstall(); consoleReader = new ConsoleReader(); consoleReader.setExpandEvents( false ); -@@ -231,6 +230,9 @@ public class BungeeCord extends ProxyServer +@@ -247,6 +246,9 @@ public class BungeeCord extends ProxyServer // since it applies a nice looking format and also writes to the logfile. System.setErr( new PrintStream( new LoggingOutputStream( logger, Level.SEVERE ), true ) ); System.setOut( new PrintStream( new LoggingOutputStream( logger, Level.INFO ), true ) ); @@ -430,7 +430,7 @@ index 7e2688ee..066e740d 100644 pluginManager = new PluginManager( this ); getPluginManager().registerCommand( null, new CommandReload() ); -@@ -507,10 +509,7 @@ public class BungeeCord extends ProxyServer +@@ -523,10 +525,7 @@ public class BungeeCord extends ProxyServer getLogger().info( "Thank you and goodbye" ); // Need to close loggers after last message! @@ -1575,5 +1575,5 @@ index 21a48df6..00000000 - -} -- -2.47.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0037-Add-console-command-completion.patch b/BungeeCord-Patches/0037-Add-console-command-completion.patch index 9a78e8aa6..c5ed996ef 100644 --- a/BungeeCord-Patches/0037-Add-console-command-completion.patch +++ b/BungeeCord-Patches/0037-Add-console-command-completion.patch @@ -1,4 +1,4 @@ -From 901eb492361fe718242f5b038f80c06a7f1b01b2 Mon Sep 17 00:00:00 2001 +From 212ea303a96f8e287a06d26903cc8433cbd0d388 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Tue, 26 Sep 2017 18:59:37 +0200 Subject: [PATCH] Add console command completion @@ -7,10 +7,10 @@ Register command completer for JLine to complete command names and command arguments (if supported). diff --git a/api/src/main/java/net/md_5/bungee/api/plugin/PluginManager.java b/api/src/main/java/net/md_5/bungee/api/plugin/PluginManager.java -index a8b21559..c11ce8d3 100644 +index b159456f..b952e232 100644 --- a/api/src/main/java/net/md_5/bungee/api/plugin/PluginManager.java +++ b/api/src/main/java/net/md_5/bungee/api/plugin/PluginManager.java -@@ -221,6 +221,41 @@ public final class PluginManager +@@ -256,6 +256,41 @@ public final class PluginManager return true; } @@ -102,5 +102,5 @@ index 765d24bc..6cec0b5a 100644 } -- -2.44.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0038-Providing-access-to-the-player-s-LoginResult-on-Logi.patch b/BungeeCord-Patches/0038-Providing-access-to-the-player-s-LoginResult-on-Logi.patch index a19caf98c..99c4467fb 100644 --- a/BungeeCord-Patches/0038-Providing-access-to-the-player-s-LoginResult-on-Logi.patch +++ b/BungeeCord-Patches/0038-Providing-access-to-the-player-s-LoginResult-on-Logi.patch @@ -1,11 +1,11 @@ -From d45c224f7f456f0df39e9dea42d026fed59fcd77 Mon Sep 17 00:00:00 2001 +From 7ce1a6b01a3f10e6d2a288b1dfd6c894d7a076fa Mon Sep 17 00:00:00 2001 From: phenomax Date: Thu, 10 Aug 2017 18:41:17 +0200 Subject: [PATCH] Providing access to the player's LoginResult on LoginEvent diff --git a/api/src/main/java/net/md_5/bungee/api/event/LoginEvent.java b/api/src/main/java/net/md_5/bungee/api/event/LoginEvent.java -index 4c09efff..46517e03 100644 +index 4c09efff..735a608a 100644 --- a/api/src/main/java/net/md_5/bungee/api/event/LoginEvent.java +++ b/api/src/main/java/net/md_5/bungee/api/event/LoginEvent.java @@ -8,6 +8,7 @@ import net.md_5.bungee.api.chat.BaseComponent; @@ -26,7 +26,7 @@ index 4c09efff..46517e03 100644 + */ + private LoginResult loginResult; + // Waterfall end -+ ++ /** * Connection attempting to login. */ @@ -51,18 +51,26 @@ similarity index 100% rename from proxy/src/main/java/net/md_5/bungee/connection/LoginResult.java rename to api/src/main/java/net/md_5/bungee/connection/LoginResult.java diff --git a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -index deb9fef3..05261ccf 100644 +index c86121d5..2ad70524 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -@@ -653,7 +653,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -48,6 +48,7 @@ import net.md_5.bungee.api.event.PostLoginEvent; + import net.md_5.bungee.api.event.PreLoginEvent; + import net.md_5.bungee.api.event.ProxyPingEvent; + import net.md_5.bungee.api.event.ServerConnectEvent; ++import net.md_5.bungee.connection.LoginResult; + import net.md_5.bungee.http.HttpClient; + import net.md_5.bungee.jni.cipher.BungeeCipher; + import net.md_5.bungee.netty.ChannelWrapper; +@@ -631,7 +632,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection }; // fire login event -- bungee.getPluginManager().callEvent( new LoginEvent( InitialHandler.this, complete ) ); -+ bungee.getPluginManager().callEvent( new LoginEvent( InitialHandler.this, complete, this.getLoginProfile() ) ); // Waterfall: Parse LoginResult object to new constructor of LoginEvent +- bungee.getPluginManager().callEvent( new LoginEvent( InitialHandler.this, eventLoopCallback( complete ) ) ); ++ bungee.getPluginManager().callEvent( new LoginEvent( InitialHandler.this, eventLoopCallback( complete ), this.getLoginProfile() ) ); // Waterfall: Parse LoginResult object to new constructor of LoginEvent } private void finish2() -- -2.44.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0039-Optionally-log-InitialHandler-connections.patch b/BungeeCord-Patches/0039-Optionally-log-InitialHandler-connections.patch index 4639deeb1..40c1d4201 100644 --- a/BungeeCord-Patches/0039-Optionally-log-InitialHandler-connections.patch +++ b/BungeeCord-Patches/0039-Optionally-log-InitialHandler-connections.patch @@ -1,4 +1,4 @@ -From 396b6aec9b76caa9d06636bbd8b15f23ba03449a Mon Sep 17 00:00:00 2001 +From 8bc971b4bbb71ab8b06a2309987e14cf2acf6f7d Mon Sep 17 00:00:00 2001 From: Gabriele C Date: Thu, 8 Feb 2018 19:10:52 +0100 Subject: [PATCH] Optionally log InitialHandler connections @@ -61,10 +61,10 @@ index ef44d334..4ff8da6d 100644 public String getGameVersion() { return gameVersion; diff --git a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -index 1a6b7ae3..d6872035 100644 +index 2ad70524..3fe70fd8 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -@@ -396,7 +396,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -393,7 +393,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection case 3: transferred = handshake.getRequestedProtocol() == 3; // Login @@ -77,5 +77,5 @@ index 1a6b7ae3..d6872035 100644 ch.setProtocol( Protocol.LOGIN ); -- -2.47.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0040-Forge-is-a-first-class-citizen.patch b/BungeeCord-Patches/0040-Forge-is-a-first-class-citizen.patch index 583cf676c..19faf54e6 100644 --- a/BungeeCord-Patches/0040-Forge-is-a-first-class-citizen.patch +++ b/BungeeCord-Patches/0040-Forge-is-a-first-class-citizen.patch @@ -1,14 +1,14 @@ -From 91929d2d6f6d32b63dd65b38fa1f1dd8ba39d55a Mon Sep 17 00:00:00 2001 +From 0af7f17e15751b88ef2d2aa512e98c2b9989ba34 Mon Sep 17 00:00:00 2001 From: Jamie Mansfield Date: Mon, 28 May 2018 21:43:55 +0100 Subject: [PATCH] Forge is a first class citizen diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java -index 066e740d..f25ff75a 100644 +index 30564c2a..e7f5e598 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java -@@ -293,8 +293,6 @@ public class BungeeCord extends ProxyServer +@@ -309,8 +309,6 @@ public class BungeeCord extends ProxyServer registerChannel( ForgeConstants.FML_TAG ); registerChannel( ForgeConstants.FML_HANDSHAKE_TAG ); registerChannel( ForgeConstants.FORGE_REGISTER ); @@ -18,19 +18,21 @@ index 066e740d..f25ff75a 100644 isRunning = true; diff --git a/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java b/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java -index 37abb3c4..a468c5c4 100644 +index 52b79ff5..8a03a0ce 100644 --- a/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java +++ b/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java -@@ -73,8 +73,8 @@ public abstract class Configuration implements ProxyConfig +@@ -73,10 +73,10 @@ public abstract class Configuration implements ProxyConfig private Favicon favicon; private int compressionThreshold = 256; private boolean preventProxyConnections; - private boolean forgeSupport; private boolean rejectTransfers; + private int maxPacketsPerSecond = 1 << 12; + private int maxPacketDataPerSecond = 1 << 25; + private boolean forgeSupport = true; // Waterfall: default to enabled @Synchronized("serversLock") // Waterfall public void load() -- -2.44.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0043-Provide-an-option-to-disable-entity-metadata-rewriti.patch b/BungeeCord-Patches/0043-Provide-an-option-to-disable-entity-metadata-rewriti.patch index 8966cc00e..7fbc2eb48 100644 --- a/BungeeCord-Patches/0043-Provide-an-option-to-disable-entity-metadata-rewriti.patch +++ b/BungeeCord-Patches/0043-Provide-an-option-to-disable-entity-metadata-rewriti.patch @@ -1,4 +1,4 @@ -From e9d1882ff4461d7b04050b9d356aa7c4e40faf69 Mon Sep 17 00:00:00 2001 +From a2919077766da5737ed63f8231f4f979f1bce3a9 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Mon, 14 Jan 2019 03:35:21 +0000 Subject: [PATCH] Provide an option to disable entity metadata rewriting @@ -57,10 +57,10 @@ index 4ff8da6d..e860214f 100644 + } } diff --git a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java -index 661c6563..cc5afa04 100644 +index 6d0ab7bd..0b82fee9 100644 --- a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java +++ b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java -@@ -273,7 +273,8 @@ public class ServerConnector extends PacketHandler +@@ -274,7 +274,8 @@ public class ServerConnector extends PacketHandler ch.write( new PluginMessage( user.getPendingConnection().getVersion() >= ProtocolConstants.MINECRAFT_1_13 ? "minecraft:register" : "REGISTER", Joiner.on( "\0" ).join( registeredChannels ).getBytes( StandardCharsets.UTF_8 ), false ) ); } @@ -70,7 +70,7 @@ index 661c6563..cc5afa04 100644 { ch.write( user.getSettings() ); } -@@ -328,6 +329,7 @@ public class ServerConnector extends PacketHandler +@@ -329,6 +330,7 @@ public class ServerConnector extends PacketHandler user.getTabListHandler().onServerChange(); Scoreboard serverScoreboard = user.getServerSentScoreboard(); @@ -78,7 +78,7 @@ index 661c6563..cc5afa04 100644 for ( Objective objective : serverScoreboard.getObjectives() ) { user.unsafe().sendPacket( new ScoreboardObjective( -@@ -351,6 +353,7 @@ public class ServerConnector extends PacketHandler +@@ -352,6 +354,7 @@ public class ServerConnector extends PacketHandler { user.unsafe().sendPacket( new net.md_5.bungee.protocol.packet.Team( team.getName() ) ); } @@ -86,7 +86,7 @@ index 661c6563..cc5afa04 100644 serverScoreboard.clear(); for ( UUID bossbar : user.getSentBossBars() ) -@@ -369,13 +372,34 @@ public class ServerConnector extends PacketHandler +@@ -370,13 +373,34 @@ public class ServerConnector extends PacketHandler } user.setDimensionChange( true ); @@ -123,10 +123,10 @@ index 661c6563..cc5afa04 100644 (byte) 0, login.getDeathLocation(), login.getPortalCooldown(), login.getSeaLevel() ) ); if ( user.getPendingConnection().getVersion() >= ProtocolConstants.MINECRAFT_1_14 ) diff --git a/proxy/src/main/java/net/md_5/bungee/UserConnection.java b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -index 05116ba0..dd215795 100644 +index 7eda8f16..e5d06305 100644 --- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java +++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -@@ -835,4 +835,9 @@ public final class UserConnection implements ProxiedPlayer +@@ -823,4 +823,9 @@ public final class UserConnection implements ProxiedPlayer unsafe().sendPacket( new Transfer( host, port ) ); } @@ -137,10 +137,10 @@ index 05116ba0..dd215795 100644 + // Waterfall end } diff --git a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java -index a9258264..da3db022 100644 +index 9a12f002..7a24bacd 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java -@@ -754,6 +754,7 @@ public class DownstreamBridge extends PacketHandler +@@ -757,6 +757,7 @@ public class DownstreamBridge extends PacketHandler @Override public void handle(net.md_5.bungee.protocol.packet.EntityEffect entityEffect) throws Exception { @@ -148,7 +148,7 @@ index a9258264..da3db022 100644 // Don't send any potions when switching between servers (which involves a handshake), which can trigger a race // condition on the client. if (this.con.getForgeClientHandler().isForgeUser() && !this.con.getForgeClientHandler().isHandshakeComplete()) { -@@ -765,6 +766,7 @@ public class DownstreamBridge extends PacketHandler +@@ -768,6 +769,7 @@ public class DownstreamBridge extends PacketHandler @Override public void handle(net.md_5.bungee.protocol.packet.EntityRemoveEffect removeEffect) throws Exception { @@ -157,7 +157,7 @@ index a9258264..da3db022 100644 } diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap.java -index fab7e9b9..84a090b9 100644 +index 1bf73fd2..243acba6 100644 --- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap.java +++ b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap.java @@ -27,6 +27,11 @@ public abstract class EntityMap @@ -172,7 +172,7 @@ index fab7e9b9..84a090b9 100644 switch ( version ) { case ProtocolConstants.MINECRAFT_1_8: -@@ -309,7 +314,13 @@ public abstract class EntityMap +@@ -311,7 +316,13 @@ public abstract class EntityMap DefinedPacket.readVarInt( packet ); break; default: @@ -225,5 +225,5 @@ index 00000000..cb81d1dd +// Waterfall end \ No newline at end of file -- -2.47.1 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0044-Add-ProxyDefineCommandsEvent.patch b/BungeeCord-Patches/0044-Add-ProxyDefineCommandsEvent.patch index d14224b97..7665f2d47 100644 --- a/BungeeCord-Patches/0044-Add-ProxyDefineCommandsEvent.patch +++ b/BungeeCord-Patches/0044-Add-ProxyDefineCommandsEvent.patch @@ -1,4 +1,4 @@ -From b93ab3b66e55042fa4965d287eb4bec71d2532dc Mon Sep 17 00:00:00 2001 +From 046bc4f98220c0620a3ee2e2731cb39b9934edb9 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Thu, 14 Mar 2019 07:44:06 +0000 Subject: [PATCH] Add ProxyDefineCommandsEvent @@ -54,10 +54,10 @@ index 00000000..1fd4fc90 + +} diff --git a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java -index da3db022..7b9c9268 100644 +index 7a24bacd..8152e638 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java -@@ -789,9 +789,25 @@ public class DownstreamBridge extends PacketHandler +@@ -792,9 +792,25 @@ public class DownstreamBridge extends PacketHandler { boolean modified = false; @@ -86,5 +86,5 @@ index da3db022..7b9c9268 100644 CommandNode dummy = LiteralArgumentBuilder.literal( command.getKey() ).executes( DUMMY_COMMAND ) .then( RequiredArgumentBuilder.argument( "args", StringArgumentType.greedyString() ) -- -2.47.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0047-Speed-up-some-common-exceptions.patch b/BungeeCord-Patches/0047-Speed-up-some-common-exceptions.patch index c70e7e366..f49985467 100644 --- a/BungeeCord-Patches/0047-Speed-up-some-common-exceptions.patch +++ b/BungeeCord-Patches/0047-Speed-up-some-common-exceptions.patch @@ -1,4 +1,4 @@ -From 4ee0d7b23287f5d557f54cb1072fc3ab9f931182 Mon Sep 17 00:00:00 2001 +From fc02f71116d3d9cf2ff5e8a0b1f788aaf9cdbe6f Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Mon, 25 Nov 2019 19:54:06 +0000 Subject: [PATCH] Speed up some common exceptions @@ -59,10 +59,10 @@ index 6c0ef4df..076ddd70 100644 + // Waterfall end } diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java b/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java -index 6cd9e6a4..dffd3b7a 100644 +index c0940352..02d39adf 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java -@@ -47,6 +47,9 @@ public abstract class DefinedPacket +@@ -48,6 +48,9 @@ public abstract class DefinedPacket } } @@ -72,7 +72,7 @@ index 6cd9e6a4..dffd3b7a 100644 public static void writeString(String s, ByteBuf buf) { writeString( s, buf, Short.MAX_VALUE ); -@@ -242,13 +245,18 @@ public abstract class DefinedPacket +@@ -252,13 +255,18 @@ public abstract class DefinedPacket byte in; while ( true ) { @@ -172,10 +172,10 @@ index 237955ab..d0bd4d75 100644 + // Waterfall end } diff --git a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -index d6872035..a7241527 100644 +index 3fe70fd8..c52f9332 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -@@ -23,6 +23,8 @@ import javax.crypto.SecretKey; +@@ -24,6 +24,8 @@ import javax.crypto.SecretKey; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; @@ -184,7 +184,7 @@ index d6872035..a7241527 100644 import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.ToString; -@@ -518,6 +520,14 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -511,6 +513,14 @@ public class InitialHandler extends PacketHandler implements PendingConnection Preconditions.checkState( EncryptionUtil.check( loginRequest.getPublicKey(), encryptResponse, request ), "Invalid verification" ); SecretKey sharedKey = EncryptionUtil.getSecret( encryptResponse, request ); @@ -221,5 +221,5 @@ index ac99d02c..0c1ecfb8 100644 // Waterfall start -- -2.47.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0048-ConnectionInitEvent.patch b/BungeeCord-Patches/0048-ConnectionInitEvent.patch index 8fea23ef1..d1db08262 100644 --- a/BungeeCord-Patches/0048-ConnectionInitEvent.patch +++ b/BungeeCord-Patches/0048-ConnectionInitEvent.patch @@ -1,4 +1,4 @@ -From bf64d9cf56589f4dc98386425c290d03b14837fc Mon Sep 17 00:00:00 2001 +From 1b6e7ec801034651ea7d014e681405560724fd2f Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Mon, 2 Dec 2019 11:35:17 +0000 Subject: [PATCH] ConnectionInitEvent @@ -67,7 +67,7 @@ index 00000000..6e79675f + } +} diff --git a/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java b/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java -index 6a0d3351..3b157d79 100644 +index f00a1a6c..15f853a5 100644 --- a/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java +++ b/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java @@ -1,6 +1,7 @@ @@ -78,18 +78,11 @@ index 6a0d3351..3b157d79 100644 import io.netty.buffer.PooledByteBufAllocator; import io.netty.channel.Channel; import io.netty.channel.ChannelException; -@@ -68,7 +69,6 @@ public class PipelineUtils - ch.close(); - return; - } -- - ListenerInfo listener = ch.attr( LISTENER ).get(); - - if ( BungeeCord.getInstance().getPluginManager().callEvent( new ClientConnectEvent( remoteAddress, listener ) ).isCancelled() ) -@@ -77,7 +77,21 @@ public class PipelineUtils - return; +@@ -74,8 +75,23 @@ public class PipelineUtils + { + return false; } - ++ // Waterfall start - ConnectionInitEvent + ConnectionInitEvent connectionInitEvent = new ConnectionInitEvent(ch.remoteAddress(), listener, (result, throwable) -> { // Waterfall + + if (result.isCancelled()) { @@ -97,27 +90,30 @@ index 6a0d3351..3b157d79 100644 + return; + } + -+ + try { - BASE.initChannel( ch ); ++ BASE.accept( ch ); + } catch (Exception e) { + e.printStackTrace(); + ch.close(); + return; + } ++ // Waterfall end + +- BASE.accept( ch ); ch.pipeline().addBefore( FRAME_DECODER, LEGACY_DECODER, new LegacyDecoder() ); ch.pipeline().addAfter( FRAME_DECODER, PACKET_DECODER, new MinecraftDecoder( Protocol.HANDSHAKE, true, ProxyServer.getInstance().getProtocolVersion() ) ); - ch.pipeline().addAfter( FRAME_PREPENDER, PACKET_ENCODER, new MinecraftEncoder( Protocol.HANDSHAKE, true, ProxyServer.getInstance().getProtocolVersion() ) ); -@@ -88,6 +102,9 @@ public class PipelineUtils + ch.pipeline().addAfter( FRAME_PREPENDER_AND_COMPRESS, PACKET_ENCODER, new MinecraftEncoder( Protocol.HANDSHAKE, true, ProxyServer.getInstance().getProtocolVersion() ) ); +@@ -94,6 +110,10 @@ public class PipelineUtils { ch.pipeline().addFirst( new HAProxyMessageDecoder() ); } -+ }); // Waterfall -+ ++ // Waterfall start - ConnectionInitEvent ++ }); + BungeeCord.getInstance().getPluginManager().callEvent(connectionInitEvent); - } - }; - public static final Base BASE = new Base( false ); ++ // Waterfall end + + return true; + } ) ); -- -2.44.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0049-Add-exception-reporting-event.patch b/BungeeCord-Patches/0049-Add-exception-reporting-event.patch index 6920c59e0..a37da9932 100644 --- a/BungeeCord-Patches/0049-Add-exception-reporting-event.patch +++ b/BungeeCord-Patches/0049-Add-exception-reporting-event.patch @@ -1,4 +1,4 @@ -From 21306c26f7c8a4074c9a3d5fbe1991a1d00efb52 Mon Sep 17 00:00:00 2001 +From 82a0b2c3688e8dfb773bb1d3948154722fe015a6 Mon Sep 17 00:00:00 2001 From: theminecoder Date: Wed, 22 Apr 2020 14:00:44 +1000 Subject: [PATCH] Add exception reporting event @@ -446,10 +446,10 @@ index 00000000..5bf57ec1 + } +} diff --git a/api/src/main/java/net/md_5/bungee/api/plugin/PluginManager.java b/api/src/main/java/net/md_5/bungee/api/plugin/PluginManager.java -index c11ce8d3..1ba5b249 100644 +index b952e232..d25ab60f 100644 --- a/api/src/main/java/net/md_5/bungee/api/plugin/PluginManager.java +++ b/api/src/main/java/net/md_5/bungee/api/plugin/PluginManager.java -@@ -26,6 +26,11 @@ import java.util.Stack; +@@ -30,6 +30,11 @@ import java.util.concurrent.locks.ReentrantReadWriteLock; import java.util.jar.JarEntry; import java.util.jar.JarFile; import java.util.logging.Level; @@ -461,7 +461,7 @@ index c11ce8d3..1ba5b249 100644 import lombok.RequiredArgsConstructor; import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.CommandSender; -@@ -34,6 +39,7 @@ import net.md_5.bungee.api.connection.ProxiedPlayer; +@@ -38,6 +43,7 @@ import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.event.EventBus; import net.md_5.bungee.event.EventHandler; import org.yaml.snakeyaml.LoaderOptions; @@ -469,7 +469,7 @@ index c11ce8d3..1ba5b249 100644 import org.yaml.snakeyaml.Yaml; import org.yaml.snakeyaml.constructor.Constructor; import org.yaml.snakeyaml.introspector.PropertyUtils; -@@ -194,10 +200,9 @@ public final class PluginManager +@@ -229,10 +235,9 @@ public final class PluginManager } String[] args = Arrays.copyOfRange( split, 1, split.length ); @@ -481,7 +481,7 @@ index c11ce8d3..1ba5b249 100644 if ( proxy.getConfig().isLogCommands() ) { proxy.getLogger().log( Level.INFO, "{0} executed command: /{1}", new Object[] -@@ -206,18 +211,28 @@ public final class PluginManager +@@ -241,18 +246,28 @@ public final class PluginManager } ); } command.execute( sender, args ); @@ -513,7 +513,7 @@ index c11ce8d3..1ba5b249 100644 return true; } -@@ -305,7 +320,11 @@ public final class PluginManager +@@ -340,7 +355,11 @@ public final class PluginManager } ); } catch ( Throwable t ) { @@ -526,7 +526,7 @@ index c11ce8d3..1ba5b249 100644 } } } -@@ -445,7 +464,7 @@ public final class PluginManager +@@ -480,7 +499,7 @@ public final class PluginManager Preconditions.checkNotNull( event, "event" ); long start = System.nanoTime(); @@ -535,7 +535,7 @@ index c11ce8d3..1ba5b249 100644 event.postCall(); long elapsed = System.nanoTime() - start; -@@ -459,6 +478,14 @@ public final class PluginManager +@@ -494,6 +513,14 @@ public final class PluginManager return event; } @@ -642,7 +642,7 @@ index 014de202..40792a68 100644 @EventHandler diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java -index f25ff75a..b4e101ac 100644 +index e7f5e598..27988fd5 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java @@ -10,6 +10,8 @@ import com.google.gson.Gson; @@ -654,7 +654,7 @@ index f25ff75a..b4e101ac 100644 import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.Channel; import io.netty.channel.ChannelException; -@@ -488,7 +490,11 @@ public class BungeeCord extends ProxyServer +@@ -504,7 +506,11 @@ public class BungeeCord extends ProxyServer } } catch ( Throwable t ) { @@ -695,5 +695,5 @@ index 38b75b51..02ec98fc 100644 // If we have a period of 0 or less, only run once -- -2.44.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0051-Remove-version-from-brand-info.patch b/BungeeCord-Patches/0051-Remove-version-from-brand-info.patch index 3df2c3a94..da0cfc19e 100644 --- a/BungeeCord-Patches/0051-Remove-version-from-brand-info.patch +++ b/BungeeCord-Patches/0051-Remove-version-from-brand-info.patch @@ -1,14 +1,14 @@ -From 874f2333b281a17a07efe555d3799f50ce46acbb Mon Sep 17 00:00:00 2001 +From 6803974ba636d9e76dd77a8b35e2ada91344f288 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sat, 20 Jun 2020 18:21:17 +0100 Subject: [PATCH] Remove version from brand info diff --git a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java -index 96655cb7..213c130f 100644 +index 1596b1eb..399b4e7d 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java -@@ -329,7 +329,7 @@ public class DownstreamBridge extends PacketHandler +@@ -332,7 +332,7 @@ public class DownstreamBridge extends PacketHandler Preconditions.checkState( !serverBrand.contains( bungee.getName() ), "Cannot connect proxy to itself!" ); brand = ByteBufAllocator.DEFAULT.heapBuffer(); @@ -18,5 +18,5 @@ index 96655cb7..213c130f 100644 brand.release(); // changes in the packet are ignored so we need to send it manually -- -2.47.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0052-Add-auth-url-option.patch b/BungeeCord-Patches/0052-Add-auth-url-option.patch index 93665afee..e30a465e0 100644 --- a/BungeeCord-Patches/0052-Add-auth-url-option.patch +++ b/BungeeCord-Patches/0052-Add-auth-url-option.patch @@ -1,14 +1,14 @@ -From af32bdf15c26fbc215936d4011604fd435b8e23b Mon Sep 17 00:00:00 2001 +From b639339582d15fb7842ff0eca13f5067d44bea38 Mon Sep 17 00:00:00 2001 From: theminecoder Date: Sun, 19 Jul 2020 10:18:23 +1000 Subject: [PATCH] Add auth url option diff --git a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -index a7241527..e3a1f744 100644 +index c52f9332..5b81eced 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -@@ -87,6 +87,8 @@ import net.md_5.bungee.util.QuietException; +@@ -89,6 +89,8 @@ import net.md_5.bungee.util.QuietException; public class InitialHandler extends PacketHandler implements PendingConnection { @@ -17,7 +17,7 @@ index a7241527..e3a1f744 100644 private final BungeeCord bungee; private ChannelWrapper ch; @Getter -@@ -548,7 +550,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -541,7 +543,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection String encodedHash = URLEncoder.encode( new BigInteger( sha.digest() ).toString( 16 ), "UTF-8" ); String preventProxy = ( BungeeCord.getInstance().config.isPreventProxyConnections() && getSocketAddress() instanceof InetSocketAddress ) ? "&ip=" + URLEncoder.encode( getAddress().getAddress().getHostAddress(), "UTF-8" ) : ""; @@ -27,5 +27,5 @@ index a7241527..e3a1f744 100644 Callback handler = new Callback() { -- -2.47.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0054-Additional-DoS-mitigations.patch b/BungeeCord-Patches/0054-Additional-DoS-mitigations.patch index 8768fa20c..1e59559c5 100644 --- a/BungeeCord-Patches/0054-Additional-DoS-mitigations.patch +++ b/BungeeCord-Patches/0054-Additional-DoS-mitigations.patch @@ -1,4 +1,4 @@ -From 9510b1e224526e367d4b2dd77856336a5ed75493 Mon Sep 17 00:00:00 2001 +From 1b3f507f9f6a92f47f6c174d57f23a516384ca03 Mon Sep 17 00:00:00 2001 From: "Five (Xer)" Date: Sat, 30 Jan 2021 18:04:14 +0100 Subject: [PATCH] Additional DoS mitigations @@ -8,10 +8,10 @@ Courtesy of Tux and the Velocity Contributors. See: https://github.com/VelocityPowered/Velocity/commit/5ceac16a821ea35572ff11412ace8929fd06e278 diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java b/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java -index dffd3b7a..dafaba54 100644 +index 02d39adf..769ca9df 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/DefinedPacket.java -@@ -82,6 +82,7 @@ public abstract class DefinedPacket +@@ -92,6 +92,7 @@ public abstract class DefinedPacket int len = readVarInt( buf ); if ( len > maxLen * 3 ) { @@ -19,7 +19,7 @@ index dffd3b7a..dafaba54 100644 throw new OverflowPacketException( "Cannot receive string longer than " + maxLen * 3 + " (got " + len + " bytes)" ); } -@@ -90,6 +91,7 @@ public abstract class DefinedPacket +@@ -100,6 +101,7 @@ public abstract class DefinedPacket if ( s.length() > maxLen ) { @@ -27,7 +27,7 @@ index dffd3b7a..dafaba54 100644 throw new OverflowPacketException( "Cannot receive string longer than " + maxLen + " (got " + s.length() + " characters)" ); } -@@ -567,4 +569,21 @@ public abstract class DefinedPacket +@@ -602,4 +604,21 @@ public abstract class DefinedPacket @Override public abstract String toString(); @@ -167,10 +167,10 @@ index 52f76cd9..3a4a735c 100644 + // Waterfall end } diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/EncryptionResponse.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/EncryptionResponse.java -index 63e9d18d..545eec72 100644 +index 1b911699..8244154d 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/EncryptionResponse.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/EncryptionResponse.java -@@ -63,4 +63,17 @@ public class EncryptionResponse extends DefinedPacket +@@ -67,4 +67,17 @@ public class EncryptionResponse extends DefinedPacket private final long salt; private final byte[] signature; } @@ -257,5 +257,5 @@ index 738f0c92..ec33d337 100644 + // Waterfall end } -- -2.44.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0056-Configurable-plugin-messaging-limits.patch b/BungeeCord-Patches/0056-Configurable-plugin-messaging-limits.patch index 9abaf17a3..0e85c03ef 100644 --- a/BungeeCord-Patches/0056-Configurable-plugin-messaging-limits.patch +++ b/BungeeCord-Patches/0056-Configurable-plugin-messaging-limits.patch @@ -1,4 +1,4 @@ -From cff6ef34d7eb83a4762d29e230b530e70616e1e1 Mon Sep 17 00:00:00 2001 +From 5d5b3e409c1f353512bc912b22a44040f5720dc3 Mon Sep 17 00:00:00 2001 From: FivePB Date: Tue, 16 Nov 2021 21:15:32 +0100 Subject: [PATCH] Configurable plugin messaging limits @@ -83,10 +83,10 @@ index b88e3c8a..da0efa36 100644 + } } diff --git a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -index e3a1f744..bbaf947f 100644 +index 5b81eced..315d67f2 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -@@ -865,9 +865,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -841,9 +841,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection for ( String id : content.split( "\0" ) ) { @@ -101,5 +101,5 @@ index e3a1f744..bbaf947f 100644 } } else if ( input.getTag().equals( "UNREGISTER" ) || input.getTag().equals( "minecraft:unregister" ) ) -- -2.47.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0057-ServerConnectRequest-sendFeedback.patch b/BungeeCord-Patches/0057-ServerConnectRequest-sendFeedback.patch index 11b243b3b..50296e2fd 100644 --- a/BungeeCord-Patches/0057-ServerConnectRequest-sendFeedback.patch +++ b/BungeeCord-Patches/0057-ServerConnectRequest-sendFeedback.patch @@ -1,4 +1,4 @@ -From 757eca1274c57f81da94d49198a6d1edbace28b0 Mon Sep 17 00:00:00 2001 +From a204830b43b25aba3b17bbe1ef99802d1a9a3229 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Fri, 16 Apr 2021 06:29:28 +0100 Subject: [PATCH] ServerConnectRequest#sendFeedback @@ -31,10 +31,10 @@ index c81b0a4e..d21370be 100644 } } diff --git a/proxy/src/main/java/net/md_5/bungee/UserConnection.java b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -index dd215795..d1089058 100644 +index e5d06305..ac84a398 100644 --- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java +++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -@@ -312,12 +312,16 @@ public final class UserConnection implements ProxiedPlayer +@@ -308,12 +308,16 @@ public final class UserConnection implements ProxiedPlayer connect(info, callback, retry, ServerConnectEvent.Reason.PLUGIN, timeout); } @@ -53,7 +53,7 @@ index dd215795..d1089058 100644 builder.connectTimeout(timeout); // Waterfall if ( callback != null ) { -@@ -366,7 +370,7 @@ public final class UserConnection implements ProxiedPlayer +@@ -362,7 +366,7 @@ public final class UserConnection implements ProxiedPlayer callback.done( ServerConnectRequest.Result.ALREADY_CONNECTED, null ); } @@ -62,7 +62,7 @@ index dd215795..d1089058 100644 return; } if ( pendingConnects.contains( target ) ) -@@ -376,7 +380,7 @@ public final class UserConnection implements ProxiedPlayer +@@ -372,7 +376,7 @@ public final class UserConnection implements ProxiedPlayer callback.done( ServerConnectRequest.Result.ALREADY_CONNECTING, null ); } @@ -71,7 +71,7 @@ index dd215795..d1089058 100644 return; } -@@ -412,14 +416,14 @@ public final class UserConnection implements ProxiedPlayer +@@ -397,14 +401,14 @@ public final class UserConnection implements ProxiedPlayer ServerInfo def = updateAndGetNextServer( target ); if ( request.isRetry() && def != null && ( getServer() == null || def != getServer().getInfo() ) ) { @@ -87,8 +87,8 @@ index dd215795..d1089058 100644 - sendMessage( bungee.getTranslation( "fallback_kick", connectionFailMessage( future.cause() ) ) ); + if (request.isSendFeedback()) sendMessage( bungee.getTranslation( "fallback_kick", connectionFailMessage( future.cause() ) ) ); } - } - } + } else + { -- -2.47.1 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0058-Don-t-send-exceptions-to-the-client-during-kicks-etc.patch b/BungeeCord-Patches/0058-Don-t-send-exceptions-to-the-client-during-kicks-etc.patch index 63800d02f..1ba39487b 100644 --- a/BungeeCord-Patches/0058-Don-t-send-exceptions-to-the-client-during-kicks-etc.patch +++ b/BungeeCord-Patches/0058-Don-t-send-exceptions-to-the-client-during-kicks-etc.patch @@ -1,4 +1,4 @@ -From 889170a92f467a92095efe6d8f15d227ebd1d3dc Mon Sep 17 00:00:00 2001 +From 2a42041359912935f510ee82042fa012b563e60a Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Tue, 22 Mar 2022 14:56:44 +0000 Subject: [PATCH] Don't send exceptions to the client during kicks, etc @@ -13,10 +13,10 @@ allows for retaining much of the overall context here, i.e. who was this exception assocated with? diff --git a/proxy/src/main/java/net/md_5/bungee/UserConnection.java b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -index d1089058..7262a514 100644 +index ac84a398..8c8fc7a6 100644 --- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java +++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -@@ -444,7 +444,8 @@ public final class UserConnection implements ProxiedPlayer +@@ -432,7 +432,8 @@ public final class UserConnection implements ProxiedPlayer private String connectionFailMessage(Throwable cause) { @@ -27,5 +27,5 @@ index d1089058..7262a514 100644 @Override -- -2.47.1 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0059-Improve-login-state-transition.patch b/BungeeCord-Patches/0059-Improve-login-state-transition.patch index b68996b5c..718935312 100644 --- a/BungeeCord-Patches/0059-Improve-login-state-transition.patch +++ b/BungeeCord-Patches/0059-Improve-login-state-transition.patch @@ -1,14 +1,14 @@ -From 9bc80c19893dd16e36b2e1fb67ceed4971a1a010 Mon Sep 17 00:00:00 2001 +From 513794c0257b1a3aa4beebae9984480ac213aa51 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 8 May 2022 12:04:30 +0100 Subject: [PATCH] Improve login state transition diff --git a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -index bbaf947f..37715ba9 100644 +index 315d67f2..93952044 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -@@ -520,6 +520,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -513,6 +513,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection { Preconditions.checkState( thisState == State.ENCRYPT, "Not expecting ENCRYPT" ); Preconditions.checkState( EncryptionUtil.check( loginRequest.getPublicKey(), encryptResponse, request ), "Invalid verification" ); @@ -16,7 +16,7 @@ index bbaf947f..37715ba9 100644 SecretKey sharedKey = EncryptionUtil.getSecret( encryptResponse, request ); // Waterfall start -@@ -576,7 +577,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -569,7 +570,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection } } }; @@ -26,5 +26,5 @@ index bbaf947f..37715ba9 100644 } -- -2.47.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0060-Add-protocol-version-to-packet-not-found-message.patch b/BungeeCord-Patches/0060-Add-protocol-version-to-packet-not-found-message.patch index e2993b085..eeb946224 100644 --- a/BungeeCord-Patches/0060-Add-protocol-version-to-packet-not-found-message.patch +++ b/BungeeCord-Patches/0060-Add-protocol-version-to-packet-not-found-message.patch @@ -1,4 +1,4 @@ -From 1f9e69b8ef64b3ecd7ac64ac61bef3486f6b9545 Mon Sep 17 00:00:00 2001 +From 42cfa4612ea585b80ff43f1b10e95b501521d7fa Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 12 Jun 2022 06:45:54 +0100 Subject: [PATCH] Add protocol version to packet not found message @@ -6,7 +6,7 @@ Subject: [PATCH] Add protocol version to packet not found message Also avoids a double get, but, this is probably trivial diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java b/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java -index 7a26c419..f84bfab8 100644 +index 34be8c00..b4b6f25e 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java @@ -2,6 +2,8 @@ package net.md_5.bungee.protocol; @@ -18,7 +18,7 @@ index 7a26c419..f84bfab8 100644 import gnu.trove.map.TIntObjectMap; import gnu.trove.map.TObjectIntMap; import gnu.trove.map.hash.TIntObjectHashMap; -@@ -998,9 +1000,12 @@ public enum Protocol +@@ -1028,9 +1030,12 @@ public enum Protocol { throw new BadPacketException( "Unsupported protocol version" ); } @@ -34,5 +34,5 @@ index 7a26c419..f84bfab8 100644 } } -- -2.47.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0061-Expand-packet-decode-logging-usage.patch b/BungeeCord-Patches/0061-Expand-packet-decode-logging-usage.patch index 47a77f3e2..6100b8b47 100644 --- a/BungeeCord-Patches/0061-Expand-packet-decode-logging-usage.patch +++ b/BungeeCord-Patches/0061-Expand-packet-decode-logging-usage.patch @@ -1,14 +1,14 @@ -From 980d706d994c43ce5973b1dd44c676af7a6e1274 Mon Sep 17 00:00:00 2001 +From 8aed57d499a9973c0aed1ef0c2d1d14cff8c8d6e Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 19 Jun 2022 10:31:51 +0100 Subject: [PATCH] Expand packet-decode-logging usage diff --git a/proxy/src/main/java/net/md_5/bungee/netty/HandlerBoss.java b/proxy/src/main/java/net/md_5/bungee/netty/HandlerBoss.java -index d82173b1..a96fb58e 100644 +index a73a29c7..0e2b0172 100644 --- a/proxy/src/main/java/net/md_5/bungee/netty/HandlerBoss.java +++ b/proxy/src/main/java/net/md_5/bungee/netty/HandlerBoss.java -@@ -156,6 +156,14 @@ public class HandlerBoss extends ChannelInboundHandlerAdapter +@@ -178,6 +178,14 @@ public class HandlerBoss extends ChannelInboundHandlerAdapter ProxyServer.getInstance().getLogger().log( Level.WARNING, "{0} - read timed out", handler ); } else if ( cause instanceof DecoderException ) { @@ -24,5 +24,5 @@ index d82173b1..a96fb58e 100644 { ProxyServer.getInstance().getLogger().log( Level.WARNING, "{0} - corrupted frame: {1}", new Object[] -- -2.39.3 (Apple Git-146) +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0062-Add-message-for-outdated-clients-that-don-t-support-.patch b/BungeeCord-Patches/0062-Add-message-for-outdated-clients-that-don-t-support-.patch index 0f20ec68a..fac60a23c 100644 --- a/BungeeCord-Patches/0062-Add-message-for-outdated-clients-that-don-t-support-.patch +++ b/BungeeCord-Patches/0062-Add-message-for-outdated-clients-that-don-t-support-.patch @@ -1,4 +1,4 @@ -From 793b803787b1644c63d7505f2eb89b729a2e3606 Mon Sep 17 00:00:00 2001 +From e3f93f26ca1b3177cefe5f013bf8d6ec0b8c5416 Mon Sep 17 00:00:00 2001 From: Aurora Date: Mon, 18 Jul 2022 15:56:05 +0200 Subject: [PATCH] Add message for outdated clients that don't support secure @@ -8,10 +8,10 @@ Clients before 1.19 don't support secure profiles, but since secure profiles is things checked those outdated clients didn't get a useful message telling them to update. diff --git a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -index 37715ba9..31a7e109 100644 +index 93952044..b5cd0796 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -@@ -443,6 +443,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -440,6 +440,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection if ( BungeeCord.getInstance().config.isEnforceSecureProfile() && getVersion() < ProtocolConstants.MINECRAFT_1_19_3 ) { @@ -20,7 +20,7 @@ index 37715ba9..31a7e109 100644 if ( publicKey == null ) { diff --git a/proxy/src/main/resources/messages.properties b/proxy/src/main/resources/messages.properties -index 149c742f..8d5075f6 100644 +index c0a41fb0..94254c9a 100644 --- a/proxy/src/main/resources/messages.properties +++ b/proxy/src/main/resources/messages.properties @@ -25,6 +25,7 @@ offline_mode_player=\u00a7cNot authenticated with Minecraft.net @@ -32,5 +32,5 @@ index 149c742f..8d5075f6 100644 error_occurred_player=\u00a7cAn error occurred while parsing your message. (Hover for details) error_occurred_console=\u00a7cAn error occurred while parsing your message: {0} -- -2.47.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0063-Replace-reflection-inside-netty-with-ChannelFactory.patch b/BungeeCord-Patches/0063-Replace-reflection-inside-netty-with-ChannelFactory.patch index e2b8f6a39..702ee449d 100644 --- a/BungeeCord-Patches/0063-Replace-reflection-inside-netty-with-ChannelFactory.patch +++ b/BungeeCord-Patches/0063-Replace-reflection-inside-netty-with-ChannelFactory.patch @@ -1,4 +1,4 @@ -From 204a28fabe424bb120b2c9c46adb0760ab10e5cf Mon Sep 17 00:00:00 2001 +From a2c2ea6ec72b2dfd0dac26da6afabd28658b0c3b Mon Sep 17 00:00:00 2001 From: Janmm14 Date: Mon, 21 Jun 2021 23:43:39 +0200 Subject: [PATCH] Replace reflection inside netty with ChannelFactory. @@ -6,10 +6,10 @@ Subject: [PATCH] Replace reflection inside netty with ChannelFactory. Thanks for pointing it out @MrIvanPlays diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java -index b4e101ac..9b93d2c3 100644 +index 27988fd5..2222791d 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java -@@ -361,7 +361,7 @@ public class BungeeCord extends ProxyServer +@@ -377,7 +377,7 @@ public class BungeeCord extends ProxyServer } }; new ServerBootstrap() @@ -17,9 +17,9 @@ index b4e101ac..9b93d2c3 100644 + .channelFactory( PipelineUtils.getServerChannelFactory( info.getSocketAddress() ) ) // Waterfall - netty reflection -> factory .option( ChannelOption.SO_REUSEADDR, true ) // TODO: Move this elsewhere! .childAttr( PipelineUtils.LISTENER, info ) - .childHandler( PipelineUtils.SERVER_CHILD ) + .childHandler( unsafe().getFrontendChannelInitializer().getChannelInitializer() ) diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeServerInfo.java b/proxy/src/main/java/net/md_5/bungee/BungeeServerInfo.java -index 377df7ec..8f531f85 100644 +index 0d24f1eb..0ce7b343 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeServerInfo.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeServerInfo.java @@ -184,7 +184,7 @@ public class BungeeServerInfo implements ServerInfo @@ -29,20 +29,20 @@ index 377df7ec..8f531f85 100644 - .channel( PipelineUtils.getChannel( socketAddress ) ) + .channelFactory( PipelineUtils.getChannelFactory( socketAddress ) ) // Waterfall - netty reflection -> factory .group( BungeeCord.getInstance().workerEventLoopGroup ) - .handler( PipelineUtils.BASE_SERVERSIDE ) + .handler( ProxyServer.getInstance().unsafe().getServerInfoChannelInitializer().getChannelInitializer() ) .option( ChannelOption.CONNECT_TIMEOUT_MILLIS, BungeeCord.getInstance().getConfig().getRemotePingTimeout() ) diff --git a/proxy/src/main/java/net/md_5/bungee/UserConnection.java b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -index 7262a514..ecfce56e 100644 +index 8c8fc7a6..867c4d4d 100644 --- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java +++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java -@@ -429,7 +429,7 @@ public final class UserConnection implements ProxiedPlayer +@@ -417,7 +417,7 @@ public final class UserConnection implements ProxiedPlayer } }; Bootstrap b = new Bootstrap() - .channel( PipelineUtils.getChannel( target.getAddress() ) ) + .channelFactory( PipelineUtils.getChannelFactory( target.getAddress() ) ) // Waterfall - netty reflection -> factory .group( ch.getHandle().eventLoop() ) - .handler( initializer ) + .handler( bungee.unsafe().getBackendChannelInitializer().getChannelInitializer() ) .option( ChannelOption.CONNECT_TIMEOUT_MILLIS, request.getConnectTimeout() ) diff --git a/proxy/src/main/java/net/md_5/bungee/http/HttpClient.java b/proxy/src/main/java/net/md_5/bungee/http/HttpClient.java index 37337429..c3683c30 100644 @@ -69,18 +69,19 @@ index 37337429..c3683c30 100644 } // Waterfall End diff --git a/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java b/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java -index 75d2bd0e..37e37aaf 100644 +index 15f853a5..b318deab 100644 --- a/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java +++ b/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java -@@ -5,6 +5,7 @@ import io.github.waterfallmc.waterfall.event.ConnectionInitEvent; +@@ -5,6 +5,8 @@ import io.github.waterfallmc.waterfall.event.ConnectionInitEvent; import io.netty.buffer.PooledByteBufAllocator; import io.netty.channel.Channel; import io.netty.channel.ChannelException; +import io.netty.channel.ChannelFactory; - import io.netty.channel.ChannelInitializer; ++import io.netty.channel.ChannelInitializer; import io.netty.channel.ChannelOption; import io.netty.channel.EventLoopGroup; -@@ -124,6 +125,12 @@ public class PipelineUtils + import io.netty.channel.ServerChannel; +@@ -146,6 +148,12 @@ public class PipelineUtils private static boolean epoll; private static boolean io_uring; @@ -93,10 +94,10 @@ index 75d2bd0e..37e37aaf 100644 static { -@@ -154,6 +161,12 @@ public class PipelineUtils - } - } +@@ -178,6 +186,12 @@ public class PipelineUtils } + + setChannelInitializerHolders(); + // Waterfall start: netty reflection -> factory + serverChannelFactory = io_uring ? IOUringServerSocketChannel::new : epoll ? EpollServerSocketChannel::new : NioServerSocketChannel::new; + serverChannelDomainFactory = io_uring ? IOUringServerSocketChannel::new : epoll ? EpollServerDomainSocketChannel::new : null; @@ -106,7 +107,7 @@ index 75d2bd0e..37e37aaf 100644 } public static EventLoopGroup newEventLoopGroup(int threads, ThreadFactory factory) -@@ -185,6 +198,34 @@ public class PipelineUtils +@@ -209,6 +223,34 @@ public class PipelineUtils return io_uring ? IOUringSocketChannel.class : epoll ? EpollSocketChannel.class : NioSocketChannel.class; } @@ -142,5 +143,5 @@ index 75d2bd0e..37e37aaf 100644 { return io_uring ? IOUringDatagramChannel.class : epoll ? EpollDatagramChannel.class : NioDatagramChannel.class; -- -2.47.1 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0064-reduce-log-spam-from-clients-registeirng-too-many-ch.patch b/BungeeCord-Patches/0064-reduce-log-spam-from-clients-registeirng-too-many-ch.patch index 93fa41c2f..c4c9a90e3 100644 --- a/BungeeCord-Patches/0064-reduce-log-spam-from-clients-registeirng-too-many-ch.patch +++ b/BungeeCord-Patches/0064-reduce-log-spam-from-clients-registeirng-too-many-ch.patch @@ -1,14 +1,14 @@ -From 1c5154b28e2e752d104ad4bf9a02043d0b8c22ee Mon Sep 17 00:00:00 2001 +From 32c5ed1673b4a9615a77bdc5c806622d45a36d38 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Fri, 21 Apr 2023 15:32:33 +0100 Subject: [PATCH] reduce log spam from clients registeirng too many channels diff --git a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -index 31a7e109..185e63ad 100644 +index b5cd0796..220f035e 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java -@@ -194,7 +194,17 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -196,7 +196,17 @@ public class InitialHandler extends PacketHandler implements PendingConnection @Override public void handle(PluginMessage pluginMessage) throws Exception { @@ -28,5 +28,5 @@ index 31a7e109..185e63ad 100644 @Override -- -2.47.0 +2.47.1.windows.2 diff --git a/BungeeCord-Patches/0065-Prevent-proxy-commands-from-breaking-the-chat-chain-.patch b/BungeeCord-Patches/0065-Prevent-proxy-commands-from-breaking-the-chat-chain-.patch index 4c2514562..a5b37e2df 100644 --- a/BungeeCord-Patches/0065-Prevent-proxy-commands-from-breaking-the-chat-chain-.patch +++ b/BungeeCord-Patches/0065-Prevent-proxy-commands-from-breaking-the-chat-chain-.patch @@ -1,4 +1,4 @@ -From 7ca84aa25ab2893196de3618e12e381729564243 Mon Sep 17 00:00:00 2001 +From 66fd24d779f736f3bf164336db6f434bc3d6e5f9 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 15 Oct 2023 00:36:38 +0100 Subject: [PATCH] Prevent proxy commands from breaking the chat chain system @@ -19,10 +19,10 @@ index e2221010..4dde7257 100644 // Waterfall end } diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java b/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java -index f84bfab8..fb239f75 100644 +index b4b6f25e..dce064d7 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java -@@ -586,6 +586,13 @@ public enum Protocol +@@ -614,6 +614,13 @@ public enum Protocol map( ProtocolConstants.MINECRAFT_1_20_5, 0x06 ), map( ProtocolConstants.MINECRAFT_1_21_2, 0x07 ) ); @@ -90,7 +90,7 @@ index 33c838f9..f259ee91 100644 + } } diff --git a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java -index e61fcc88..e7f1be2f 100644 +index ba0ef69d..3aa97849 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java @@ -198,16 +198,22 @@ public class UpstreamBridge extends PacketHandler @@ -133,5 +133,5 @@ index e61fcc88..e7f1be2f 100644 throw CancelSendSignal.INSTANCE; } -- -2.47.1 +2.47.1.windows.2