Updated upstream. Moved our Disconnection patches to the fire-pit as there is some duplicate features from BungeeCord provided now.

This commit is contained in:
Troy Frew 2016-10-25 12:57:11 -04:00
parent 44f56d895b
commit a1e3ee4799
No known key found for this signature in database
GPG Key ID: 2B07581071A3CA7D
33 changed files with 431 additions and 212 deletions

@ -1 +1 @@
Subproject commit 24a65d8fa9febce88030c933966770cac33caad3
Subproject commit 75b7fdac582d904307b9aa5f1994d88eefa571b4

View File

@ -1,4 +1,4 @@
From 22e693910307942ab8c324265daca16231ecb8e6 Mon Sep 17 00:00:00 2001
From b184d9c318f57c05d28cca0ce8724be2c3dd8187 Mon Sep 17 00:00:00 2001
From: Tux <write@imaginarycode.com>
Date: Thu, 19 May 2016 11:28:45 -0700
Subject: [PATCH] Rename references from BungeeCord to Waterfall
@ -53,10 +53,10 @@ index 9d51608..446dfe2 100644
while ( bungee.isRunning )
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 9825b99..bed662d 100644
index 159dab6..5b01030 100644
--- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
+++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
@@ -172,7 +172,7 @@ public class BungeeCord extends ProxyServer
@@ -177,7 +177,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.
@ -65,7 +65,7 @@ index 9825b99..bed662d 100644
System.setSecurityManager( new BungeeSecurityManager() );
@@ -457,7 +457,7 @@ public class BungeeCord extends ProxyServer
@@ -462,7 +462,7 @@ public class BungeeCord extends ProxyServer
@Override
public String getName()
{

View File

@ -1,6 +1,6 @@
From b790b1d946c66a57af7550795bf63fad398bb137 Mon Sep 17 00:00:00 2001
From b8a481fec8d1606361e8aa557ae22d32dd0a486a Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@techcable.net>
Date: Thu, 19 May 2016 10:46:46 -0700
Date: Tue, 25 Oct 2016 11:58:37 -0400
Subject: [PATCH] Add Waterfall configuration files
@ -20,11 +20,10 @@ index edd82c1..b30541b 100644
}
diff --git a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
new file mode 100644
index 0000000..03160da
index 0000000..12c5859
--- /dev/null
+++ b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
@@ -0,0 +1,19 @@
+
@@ -0,0 +1,18 @@
+package io.github.waterfallmc.waterfall.conf;
+
+import lombok.*;
@ -43,19 +42,20 @@ index 0000000..03160da
+ config.load(false); // Load, but no permissions
+ }
+}
\ No newline at end of file
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 8ce4ced..3dceb6e 100644
index 5b01030..7bb0862 100644
--- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
+++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
@@ -23,6 +23,7 @@ import net.md_5.bungee.scheduler.BungeeScheduler;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
@@ -11,6 +11,7 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+import io.github.waterfallmc.waterfall.conf.WaterfallConfiguration;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.Channel;
import io.netty.channel.ChannelException;
@@ -98,7 +99,7 @@ public class BungeeCord extends ProxyServer
@@ -103,7 +104,7 @@ public class BungeeCord extends ProxyServer
* Configuration.
*/
@Getter
@ -120,5 +120,5 @@ index 82ff91a..4ec9782 100644
if ( permissions.isEmpty() )
{
--
2.8.3
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From ffbfeb13e1e15f5cbc13839cef04bd407d43e8c1 Mon Sep 17 00:00:00 2001
From 84c2a7140f99bb3a77027e8c845772f021f7b7b7 Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@techcable.net>
Date: Thu, 19 May 2016 10:55:20 -0700
Subject: [PATCH] Configurable Waterfall Metrics
@ -17,51 +17,148 @@ index b30541b..293ec4e 100644
+ */
+ boolean isMetrics();
}
diff --git a/proxy/src/main/java/net/md_5/bungee/Metrics.java b/proxy/src/main/java/io/github/waterfallmc/waterfall/Metrics.java
similarity index 96%
rename from proxy/src/main/java/net/md_5/bungee/Metrics.java
rename to proxy/src/main/java/io/github/waterfallmc/waterfall/Metrics.java
index 9523987..ae5a2a9 100644
--- a/proxy/src/main/java/net/md_5/bungee/Metrics.java
diff --git a/proxy/src/main/java/io/github/waterfallmc/waterfall/Metrics.java b/proxy/src/main/java/io/github/waterfallmc/waterfall/Metrics.java
new file mode 100644
index 0000000..ae5a2a9
--- /dev/null
+++ b/proxy/src/main/java/io/github/waterfallmc/waterfall/Metrics.java
@@ -1,4 +1,4 @@
-package net.md_5.bungee;
@@ -0,0 +1,131 @@
+package io.github.waterfallmc.waterfall;
import java.io.BufferedReader;
import java.io.IOException;
@@ -9,6 +9,8 @@ import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.util.TimerTask;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.UnsupportedEncodingException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.net.URLEncoder;
+import java.util.TimerTask;
+
+import net.md_5.bungee.BungeeCord;
import net.md_5.bungee.api.ProxyServer;
public class Metrics extends TimerTask
@@ -29,7 +31,7 @@ public class Metrics extends TimerTask
/**
* Interval of time to ping (in minutes)
*/
- final static int PING_INTERVAL = 10;
+import net.md_5.bungee.api.ProxyServer;
+
+public class Metrics extends TimerTask
+{
+
+ /**
+ * The current revision number
+ */
+ private final static int REVISION = 5;
+ /**
+ * The base url of the metrics domain
+ */
+ private static final String BASE_URL = "http://mcstats.org";
+ /**
+ * The url used to report a server's status
+ */
+ private static final String REPORT_URL = "/report/%s";
+ /**
+ * Interval of time to ping (in minutes)
+ */
+ public final static int PING_INTERVAL = 10;
boolean firstPost = true;
@Override
@@ -71,7 +73,7 @@ public class Metrics extends TimerTask
}
// Create the url
- URL url = new URL( BASE_URL + String.format( REPORT_URL, encode( "BungeeCord" ) ) );
+ boolean firstPost = true;
+
+ @Override
+ public void run()
+ {
+ try
+ {
+ // We use the inverse of firstPost because if it is the first time we are posting,
+ // it is not a interval ping, so it evaluates to FALSE
+ // Each time thereafter it will evaluate to TRUE, i.e PING!
+ postPlugin( !firstPost );
+
+ // After the first post we set firstPost to false
+ // Each post thereafter will be a ping
+ firstPost = false;
+ } catch ( IOException ex )
+ {
+ // ProxyServer.getInstance().getLogger().info( "[Metrics] " + ex.getMessage() );
+ }
+ }
+
+ /**
+ * Generic method that posts a plugin to the metrics website
+ */
+ private void postPlugin(boolean isPing) throws IOException
+ {
+ // Construct the post data
+ final StringBuilder data = new StringBuilder();
+ data.append( encode( "guid" ) ).append( '=' ).append( encode( BungeeCord.getInstance().config.getUuid() ) );
+ encodeDataPair( data, "version", ProxyServer.getInstance().getVersion() );
+ encodeDataPair( data, "server", "0" );
+ encodeDataPair( data, "players", Integer.toString( ProxyServer.getInstance().getOnlineCount() ) );
+ encodeDataPair( data, "revision", String.valueOf( REVISION ) );
+
+ // If we're pinging, append it
+ if ( isPing )
+ {
+ encodeDataPair( data, "ping", "true" );
+ }
+
+ // Create the url
+ URL url = new URL( BASE_URL + String.format( REPORT_URL, encode( "Waterfall" ) ) );
// Connect to the website
URLConnection connection;
+
+ // Connect to the website
+ URLConnection connection;
+
+ connection = url.openConnection();
+
+ connection.setDoOutput( true );
+ final BufferedReader reader;
+ final String response;
+ try ( OutputStreamWriter writer = new OutputStreamWriter( connection.getOutputStream() ) )
+ {
+ writer.write( data.toString() );
+ writer.flush();
+ reader = new BufferedReader( new InputStreamReader( connection.getInputStream() ) );
+ response = reader.readLine();
+ }
+ reader.close();
+
+ if ( response == null || response.startsWith( "ERR" ) )
+ {
+ throw new IOException( response ); //Throw the exception
+ }
+ }
+
+ /**
+ * <p>
+ * Encode a key/value data pair to be used in a HTTP post request. This
+ * INCLUDES a & so the first key/value pair MUST be included manually,
+ * e.g:</p>
+ * <code>
+ * StringBuffer data = new StringBuffer();
+ * data.append(encode("guid")).append('=').append(encode(guid));
+ * encodeDataPair(data, "version", description.getVersion());
+ * </code>
+ *
+ * @param buffer the StringBuilder to append the data pair onto
+ * @param key the key value
+ * @param value the value
+ */
+ private static void encodeDataPair(final StringBuilder buffer, final String key, final String value) throws UnsupportedEncodingException
+ {
+ buffer.append( '&' ).append( encode( key ) ).append( '=' ).append( encode( value ) );
+ }
+
+ /**
+ * Encode text as UTF-8
+ *
+ * @param text the text to encode
+ * @return the encoded text, as UTF-8
+ */
+ private static String encode(final String text) throws UnsupportedEncodingException
+ {
+ return URLEncoder.encode( text, "UTF-8" );
+ }
+}
diff --git a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
index 03160da..1fa3ecd 100644
index 12c5859..692b83e 100644
--- a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
+++ b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
@@ -10,10 +10,23 @@ import net.md_5.bungee.conf.YamlConfig;
@@ -9,10 +9,23 @@ import net.md_5.bungee.conf.YamlConfig;
public class WaterfallConfiguration extends Configuration {
@ -85,19 +182,20 @@ index 03160da..1fa3ecd 100644
+ return metrics;
}
}
\ No newline at end of file
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 33c646a..8fd256c 100644
index 7bb0862..304a794 100644
--- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
+++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
@@ -23,6 +23,7 @@ import net.md_5.bungee.scheduler.BungeeScheduler;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
@@ -11,6 +11,7 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+import io.github.waterfallmc.waterfall.Metrics;
import io.github.waterfallmc.waterfall.conf.WaterfallConfiguration;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.Channel;
@@ -284,7 +285,9 @@ public class BungeeCord extends ProxyServer
@@ -289,7 +290,9 @@ public class BungeeCord extends ProxyServer
}
}
}, 0, TimeUnit.MINUTES.toMillis( 5 ) );
@ -108,6 +206,141 @@ index 33c646a..8fd256c 100644
}
public void startListeners()
diff --git a/proxy/src/main/java/net/md_5/bungee/Metrics.java b/proxy/src/main/java/net/md_5/bungee/Metrics.java
deleted file mode 100644
index 9523987..0000000
--- a/proxy/src/main/java/net/md_5/bungee/Metrics.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package net.md_5.bungee;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.net.URLEncoder;
-import java.util.TimerTask;
-import net.md_5.bungee.api.ProxyServer;
-
-public class Metrics extends TimerTask
-{
-
- /**
- * The current revision number
- */
- private final static int REVISION = 5;
- /**
- * The base url of the metrics domain
- */
- private static final String BASE_URL = "http://mcstats.org";
- /**
- * The url used to report a server's status
- */
- private static final String REPORT_URL = "/report/%s";
- /**
- * Interval of time to ping (in minutes)
- */
- final static int PING_INTERVAL = 10;
- boolean firstPost = true;
-
- @Override
- public void run()
- {
- try
- {
- // We use the inverse of firstPost because if it is the first time we are posting,
- // it is not a interval ping, so it evaluates to FALSE
- // Each time thereafter it will evaluate to TRUE, i.e PING!
- postPlugin( !firstPost );
-
- // After the first post we set firstPost to false
- // Each post thereafter will be a ping
- firstPost = false;
- } catch ( IOException ex )
- {
- // ProxyServer.getInstance().getLogger().info( "[Metrics] " + ex.getMessage() );
- }
- }
-
- /**
- * Generic method that posts a plugin to the metrics website
- */
- private void postPlugin(boolean isPing) throws IOException
- {
- // Construct the post data
- final StringBuilder data = new StringBuilder();
- data.append( encode( "guid" ) ).append( '=' ).append( encode( BungeeCord.getInstance().config.getUuid() ) );
- encodeDataPair( data, "version", ProxyServer.getInstance().getVersion() );
- encodeDataPair( data, "server", "0" );
- encodeDataPair( data, "players", Integer.toString( ProxyServer.getInstance().getOnlineCount() ) );
- encodeDataPair( data, "revision", String.valueOf( REVISION ) );
-
- // If we're pinging, append it
- if ( isPing )
- {
- encodeDataPair( data, "ping", "true" );
- }
-
- // Create the url
- URL url = new URL( BASE_URL + String.format( REPORT_URL, encode( "BungeeCord" ) ) );
-
- // Connect to the website
- URLConnection connection;
-
- connection = url.openConnection();
-
- connection.setDoOutput( true );
- final BufferedReader reader;
- final String response;
- try ( OutputStreamWriter writer = new OutputStreamWriter( connection.getOutputStream() ) )
- {
- writer.write( data.toString() );
- writer.flush();
- reader = new BufferedReader( new InputStreamReader( connection.getInputStream() ) );
- response = reader.readLine();
- }
- reader.close();
-
- if ( response == null || response.startsWith( "ERR" ) )
- {
- throw new IOException( response ); //Throw the exception
- }
- }
-
- /**
- * <p>
- * Encode a key/value data pair to be used in a HTTP post request. This
- * INCLUDES a & so the first key/value pair MUST be included manually,
- * e.g:</p>
- * <code>
- * StringBuffer data = new StringBuffer();
- * data.append(encode("guid")).append('=').append(encode(guid));
- * encodeDataPair(data, "version", description.getVersion());
- * </code>
- *
- * @param buffer the StringBuilder to append the data pair onto
- * @param key the key value
- * @param value the value
- */
- private static void encodeDataPair(final StringBuilder buffer, final String key, final String value) throws UnsupportedEncodingException
- {
- buffer.append( '&' ).append( encode( key ) ).append( '=' ).append( encode( value ) );
- }
-
- /**
- * Encode text as UTF-8
- *
- * @param text the text to encode
- * @return the encoded text, as UTF-8
- */
- private static String encode(final String text) throws UnsupportedEncodingException
- {
- return URLEncoder.encode( text, "UTF-8" );
- }
-}
--
2.10.0
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From 4229c32ccf8c2f9db70fa2155bd9f46f816a4c3f Mon Sep 17 00:00:00 2001
From d0ab8a29d1bbf86ab4d40d57957b516a43f9e3b7 Mon Sep 17 00:00:00 2001
From: Tux <write@imaginarycode.com>
Date: Mon, 25 Jan 2016 01:19:07 -0500
Subject: [PATCH] Get rid of the security manager.
@ -6,10 +6,10 @@ Subject: [PATCH] Get rid of the security manager.
There's a lot of opinions running on both sides of the debate, but we overwhelmingly feel that the security manager does not help the vast majority of BungeeCord users or plugin developers create correct code.
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 3578aa4..3cef2cf 100644
index 304a794..e0512f2 100644
--- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
+++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
@@ -176,8 +176,6 @@ public class BungeeCord extends ProxyServer
@@ -181,8 +181,6 @@ public class BungeeCord extends ProxyServer
// 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.
Preconditions.checkState( new File( "." ).getAbsolutePath().indexOf( '!' ) == -1, "Cannot use Waterfall in directory with ! in path." );
@ -103,5 +103,5 @@ index 53c8192..0000000
- }
-}
--
2.8.3
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From 0dca51fa9962c98e713a2fb428c0f699fd4d805f Mon Sep 17 00:00:00 2001
From bbf3f3f058aae495d60e2e270c0d3474fd687f26 Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@techcable.net>
Date: Tue, 3 May 2016 20:31:52 -0700
Subject: [PATCH] Improve Netty update
@ -46,10 +46,10 @@ index 6dcdece..e67773d 100644
* 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 e599e7e..ccdcf82 100644
index 72ca169..37460e8 100644
--- a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java
+++ b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java
@@ -198,7 +198,7 @@ public class ServerConnector extends PacketHandler
@@ -197,7 +197,7 @@ public class ServerConnector extends PacketHandler
ByteBuf brand = ByteBufAllocator.DEFAULT.heapBuffer();
DefinedPacket.writeString( bungee.getName() + " (" + bungee.getVersion() + ")", brand );
@ -72,10 +72,10 @@ index 288d602..c7e75bf 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 a274dde..0ec3f81 100644
index 7fd2ff7..a70a215 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
@@ -41,9 +41,9 @@ import net.md_5.bungee.protocol.Varint21LengthFieldPrepender;
@@ -40,9 +40,9 @@ import net.md_5.bungee.protocol.Varint21LengthFieldPrepender;
public class PipelineUtils
{
@ -89,5 +89,5 @@ index a274dde..0ec3f81 100644
{
@Override
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,14 +1,14 @@
From 150ebe200bbed2b5822168b258f8b6443c8c6e89 Mon Sep 17 00:00:00 2001
From d6ed22b02af33b339cf82b3005061132f26216b9 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 11 Sep 2015 23:50:52 -0400
Subject: [PATCH] Allow configuration of the log file path/filename
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 177f4d7..4e7702bd 100644
index e0512f2..b729ff1 100644
--- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
+++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
@@ -206,7 +206,7 @@ public class BungeeCord extends ProxyServer
@@ -211,7 +211,7 @@ public class BungeeCord extends ProxyServer
consoleReader = new ConsoleReader();
consoleReader.setExpandEvents( false );

View File

@ -1,6 +1,6 @@
From 071a0ae93a30c559b6eb8fbd878b083d3b9e609a Mon Sep 17 00:00:00 2001
From 5fa5bef562941c371337749fc82958b451a15ba7 Mon Sep 17 00:00:00 2001
From: Daniel Naylor <git@drnaylor.co.uk>
Date: Sun, 9 Aug 2015 13:43:57 +0100
Date: Tue, 25 Oct 2016 12:23:07 -0400
Subject: [PATCH] Add support for FML with IP Forwarding enabled
FML adds a \00FML\00 marker to the host field, so Forge can determine whether or not to start a Forge handshake, making way to allow vanilla clients to connect to Forge servers that don't need a client modification. However, Bungee also uses the field, and the two implementations collide when using Spigot.
@ -12,18 +12,18 @@ 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 ccdcf82..08ee400 100644
index 37460e8..a09f34d 100644
--- a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java
+++ b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java
@@ -4,6 +4,7 @@ import com.google.common.base.Preconditions;
@@ -3,6 +3,7 @@ package net.md_5.bungee;
import com.google.common.base.Preconditions;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufAllocator;
+import java.util.Arrays;
import java.util.Queue;
import java.util.Set;
import java.util.UUID;
@@ -91,15 +92,39 @@ public class ServerConnector extends PacketHandler
@@ -90,15 +91,39 @@ public class ServerConnector extends PacketHandler
String newHost = copiedHandshake.getHost() + "\00" + user.getAddress().getHostString() + "\00" + user.getUUID();
LoginResult profile = user.getPendingConnection().getLoginProfile();
@ -67,27 +67,10 @@ index ccdcf82..08ee400 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 a5010f3..018c02e 100644
index 0e621c2..6c64e97 100644
--- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java
+++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java
@@ -12,6 +12,7 @@ import io.netty.channel.ChannelOption;
import io.netty.util.internal.PlatformDependent;
import java.net.InetSocketAddress;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
@@ -40,6 +41,8 @@ import net.md_5.bungee.api.event.ServerConnectEvent;
import net.md_5.bungee.api.score.Scoreboard;
import net.md_5.bungee.chat.ComponentSerializer;
import net.md_5.bungee.connection.InitialHandler;
+import net.md_5.bungee.connection.LoginResult;
+import net.md_5.bungee.connection.LoginResult.Property;
import net.md_5.bungee.entitymap.EntityMap;
import net.md_5.bungee.forge.ForgeClientHandler;
import net.md_5.bungee.forge.ForgeConstants;
@@ -181,8 +184,12 @@ public final class UserConnection implements ProxiedPlayer
@@ -176,8 +176,12 @@ public final class UserConnection implements ProxiedPlayer
forgeClientHandler = new ForgeClientHandler( this );
@ -117,5 +100,5 @@ index 6dca204..f5253b8 100644
* The FML 1.8 handshake token.
*/
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,14 +1,14 @@
From d6ebca34bef06b75eaa3133df4e57c02a0a34904 Mon Sep 17 00:00:00 2001
From bfd5eff414369a0b249edc9d41603493eab3eef6 Mon Sep 17 00:00:00 2001
From: Iceee <andrew@optic.tv>
Date: Mon, 6 Jul 2015 18:59:29 -0500
Subject: [PATCH] Don't allow channel buffers to grow beyond a reasonable limit
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 3cef2cf..fd8d9b0 100644
index b729ff1..195d606 100644
--- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
+++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
@@ -310,6 +310,8 @@ public class BungeeCord extends ProxyServer
@@ -315,6 +315,8 @@ public class BungeeCord extends ProxyServer
new ServerBootstrap()
.channel( PipelineUtils.getServerChannel() )
.option( ChannelOption.SO_REUSEADDR, true ) // TODO: Move this elsewhere!
@ -18,5 +18,5 @@ index 3cef2cf..fd8d9b0 100644
.childHandler( PipelineUtils.SERVER_CHILD )
.group( eventLoops )
--
2.8.3
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From 4449be9b2eaa7d658987bf8e9f9ee410aab86072 Mon Sep 17 00:00:00 2001
From bcc815e0187479c61481452bfbd63e344f9961d5 Mon Sep 17 00:00:00 2001
From: Harry <me@harry5573.uk>
Date: Wed, 24 Feb 2016 17:16:23 +0000
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 0ec3f81..c3833f4 100644
index a70a215..5ba31a4 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
@@ -121,6 +121,7 @@ public class PipelineUtils
@@ -120,6 +120,7 @@ public class PipelineUtils
{
// IP_TOS is not supported (Windows XP / Windows Server 2003)
}
@ -18,5 +18,5 @@ index 0ec3f81..c3833f4 100644
ch.pipeline().addLast( TIMEOUT_HANDLER, new ReadTimeoutHandler( BungeeCord.getInstance().config.getTimeout(), TimeUnit.MILLISECONDS ) );
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From 45a89cd463d62c74cf093a6ed3261b20027ac3fa Mon Sep 17 00:00:00 2001
From 3bb92a7100bcaf993c919a1b47b56beead8dc11e Mon Sep 17 00:00:00 2001
From: Tux <write@imaginarycode.com>
Date: Thu, 19 May 2016 18:05:33 -0600
Subject: [PATCH] Micro-optimizations
@ -28,10 +28,10 @@ index 71a5a15..520ee31 100644
if ( split.length == 0 )
{
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 018c02e..9881b75 100644
index 6c64e97..1a63888 100644
--- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java
+++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java
@@ -567,7 +567,7 @@ public final class UserConnection implements ProxiedPlayer
@@ -554,7 +554,7 @@ public final class UserConnection implements ProxiedPlayer
@Override
public Locale getLocale()
{
@ -41,5 +41,5 @@ index 018c02e..9881b75 100644
@Override
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From e534ca052b2a9d620b1356a32546768ef774212c Mon Sep 17 00:00:00 2001
From 5e8a6f6f0cd7986640fd084a4582509d9996f6df Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@techcable.net>
Date: Thu, 19 May 2016 17:09:22 -0600
Subject: [PATCH] Allow invalid packet ids for forge servers
@ -62,10 +62,10 @@ index d15d4ed..db2843f 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 08ee400..11953bb 100644
index a09f34d..25329e0 100644
--- a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java
+++ b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java
@@ -29,7 +29,9 @@ import net.md_5.bungee.forge.ForgeUtils;
@@ -28,7 +28,9 @@ import net.md_5.bungee.forge.ForgeUtils;
import net.md_5.bungee.netty.ChannelWrapper;
import net.md_5.bungee.netty.HandlerBoss;
import net.md_5.bungee.netty.PacketHandler;
@ -75,7 +75,7 @@ index 08ee400..11953bb 100644
import net.md_5.bungee.protocol.Protocol;
import net.md_5.bungee.protocol.packet.EncryptionRequest;
import net.md_5.bungee.protocol.packet.Handshake;
@@ -182,6 +184,12 @@ public class ServerConnector extends PacketHandler
@@ -181,6 +183,12 @@ public class ServerConnector extends PacketHandler
ServerConnection server = new ServerConnection( ch, target );
ServerConnectedEvent event = new ServerConnectedEvent( user, server );
@ -89,10 +89,10 @@ index 08ee400..11953bb 100644
ch.write( BungeeCord.getInstance().registerChannels() );
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 9881b75..c88ab49 100644
index 1a63888..473bdec 100644
--- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java
+++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java
@@ -76,6 +76,7 @@ public final class UserConnection implements ProxiedPlayer
@@ -68,6 +68,7 @@ public final class UserConnection implements ProxiedPlayer
@NonNull
private final ProxyServer bungee;
@NonNull
@ -118,5 +118,5 @@ index 7eb48e0..f3c886a 100644
{
rewriteInt( packet, oldId, newId, readerIndex + packetIdLength );
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From a5ae528bedb519aba7e373c675b257b1a5cff98f Mon Sep 17 00:00:00 2001
From a3bbfd1ad1fd98f0c26630c14b9f56e6c1593b81 Mon Sep 17 00:00:00 2001
From: Johannes Donath <johannesd@torchmind.com>
Date: Sat, 4 Jul 2015 06:31:33 +0200
Subject: [PATCH] Add basic support for configurable tab-complete throttling
@ -23,10 +23,10 @@ index 293ec4e..66d0b8a 100644
+ int getTabThrottle();
}
diff --git a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
index 1fa3ecd..23a5c94 100644
index 692b83e..c3ae52f 100644
--- a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
+++ b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
@@ -17,16 +17,36 @@ public class WaterfallConfiguration extends Configuration {
@@ -16,16 +16,36 @@ public class WaterfallConfiguration extends Configuration {
*/
private boolean metrics = true;
@ -63,8 +63,9 @@ index 1fa3ecd..23a5c94 100644
+ return tabThrottle;
+ }
}
\ No newline at end of file
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 88b179d..b30fc3f 100644
index 8ccc7c5..4669dee 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
@@ -30,6 +30,8 @@ public class UpstreamBridge extends PacketHandler
@ -94,5 +95,5 @@ index 88b179d..b30fc3f 100644
if ( tabComplete.getCursor().startsWith( "/" ) )
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From 654b0313717a8d0f87a25fb6a0742c97da8360ec Mon Sep 17 00:00:00 2001
From 140b09bb77d5b6a404e0207aa876f21662ca1639 Mon Sep 17 00:00:00 2001
From: Harry <me@harry5573.uk>
Date: Tue, 26 Jan 2016 01:01:57 +0000
Subject: [PATCH] Don't create a new KickStringWriter for each new connection.
@ -21,10 +21,10 @@ index eda9571..e5275c7 100644
{
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 c3833f4..aec8251 100644
index 5ba31a4..f6a10e7 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
@@ -53,7 +53,7 @@ public class PipelineUtils
@@ -52,7 +52,7 @@ public class PipelineUtils
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() ) );
@ -33,7 +33,7 @@ index c3833f4..aec8251 100644
ch.pipeline().get( HandlerBoss.class ).setHandler( new InitialHandler( BungeeCord.getInstance(), ch.attr( LISTENER ).get() ) );
}
};
@@ -69,6 +69,7 @@ public class PipelineUtils
@@ -68,6 +68,7 @@ public class PipelineUtils
public static final String FRAME_PREPENDER = "frame-prepender";
public static final String LEGACY_DECODER = "legacy-decoder";
public static final String LEGACY_KICKER = "legacy-kick";
@ -42,5 +42,5 @@ index c3833f4..aec8251 100644
private static boolean epoll;
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From 7961c01acf03ae869b04fb1e2b410dce9d65d3d7 Mon Sep 17 00:00:00 2001
From c8f628f712b843459f852d3cbb19fb0a74c99a26 Mon Sep 17 00:00:00 2001
From: Janmm14 <computerjanimaus@yahoo.de>
Date: Sat, 12 Dec 2015 23:43:30 +0100
Subject: [PATCH] Optional server list ping logging.
@ -25,10 +25,10 @@ index 66d0b8a..5a49050 100644
/**
diff --git a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
index 23a5c94..114961d 100644
index c3ae52f..c53851b 100644
--- a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
+++ b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
@@ -17,6 +17,13 @@ public class WaterfallConfiguration extends Configuration {
@@ -16,6 +16,13 @@ public class WaterfallConfiguration extends Configuration {
*/
private boolean metrics = true;
@ -42,7 +42,7 @@ index 23a5c94..114961d 100644
/*
* Throttling options
* Helps prevent players from overloading the servers behind us
@@ -36,6 +43,7 @@ public class WaterfallConfiguration extends Configuration {
@@ -35,6 +42,7 @@ public class WaterfallConfiguration extends Configuration {
YamlConfig config = new YamlConfig(new File("waterfall.yml"));
config.load(false); // Load, but no permissions
metrics = config.getBoolean("metrics", metrics);
@ -50,7 +50,7 @@ index 23a5c94..114961d 100644
// Throttling options
tabThrottle = config.getInt("throttling.tab_complete", tabThrottle);
}
@@ -49,4 +57,9 @@ public class WaterfallConfiguration extends Configuration {
@@ -48,4 +56,9 @@ public class WaterfallConfiguration extends Configuration {
public int getTabThrottle() {
return tabThrottle;
}
@ -60,11 +60,12 @@ index 23a5c94..114961d 100644
+ return logServerListPing;
+ }
}
\ No newline at end of file
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 11953bb..fc627cb 100644
index 25329e0..b93e6c8 100644
--- a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java
+++ b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java
@@ -376,6 +376,6 @@ public class ServerConnector extends PacketHandler
@@ -375,6 +375,6 @@ public class ServerConnector extends PacketHandler
@Override
public String toString()
{
@ -85,10 +86,10 @@ index c7e75bf..a8e65fa 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 068374a..177eefa 100644
index bdcbdb7..d14d893 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
@@ -277,19 +277,22 @@ public class InitialHandler extends PacketHandler implements PendingConnection
@@ -281,19 +281,22 @@ public class InitialHandler extends PacketHandler implements PendingConnection
}
this.virtualHost = InetSocketAddress.createUnresolved( handshake.getHost(), handshake.getPort() );
@ -112,7 +113,7 @@ index 068374a..177eefa 100644
thisState = State.USERNAME;
ch.setProtocol( Protocol.LOGIN );
@@ -615,7 +618,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection
@@ -609,7 +612,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection
@Override
public String toString()
{
@ -122,7 +123,7 @@ index 068374a..177eefa 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 b30fc3f..9e912d2 100644
index 4669dee..417b2f7 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
@@ -211,6 +211,6 @@ public class UpstreamBridge extends PacketHandler
@ -134,5 +135,5 @@ index b30fc3f..9e912d2 100644
}
}
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From 38bdf07b0c0a32f7a60586b866bbdd40bc90b5ff Mon Sep 17 00:00:00 2001
From f20d4b5a44265e1ded78a203333870e962075975 Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@outlook.com>
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 177eefa..323428b 100644
index d14d893..61158d5 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
@@ -243,10 +243,14 @@ public class InitialHandler extends PacketHandler implements PendingConnection
@@ -247,10 +247,14 @@ public class InitialHandler extends PacketHandler implements PendingConnection
thisState = State.PING;
}
@ -29,5 +29,5 @@ index 177eefa..323428b 100644
disconnect( "" );
}
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From 83671352d2e5739d6506f7a03f111858246eaa89 Mon Sep 17 00:00:00 2001
From 79cbc4bd219b90f7a8691004cd42760f7a9d0234 Mon Sep 17 00:00:00 2001
From: Jonas Konrad <me@yawk.at>
Date: Tue, 23 Jun 2015 21:56:13 +0200
Subject: [PATCH] Ignore incoming chat messages before connecting to the
@ -7,12 +7,12 @@ Subject: [PATCH] Ignore incoming chat messages before connecting to the
Merges SpigotMC/BungeeCord#1515
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 9e912d2..7439bbc 100644
index 417b2f7..1abeb63 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
@@ -2,6 +2,7 @@ package net.md_5.bungee.connection;
import com.google.common.base.Preconditions;
@@ -4,6 +4,7 @@ import com.google.common.base.Preconditions;
import java.util.ArrayList;
import java.util.List;
import net.md_5.bungee.BungeeCord;
+import net.md_5.bungee.ServerConnection;
import net.md_5.bungee.UserConnection;
@ -43,5 +43,5 @@ index 9e912d2..7439bbc 100644
}
throw CancelSendSignal.INSTANCE;
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From aec40bbdcf92554932e3021e15d3c46fa80a787b Mon Sep 17 00:00:00 2001
From 3fd91a969622f74e00c86a689c3e406ada51d245 Mon Sep 17 00:00:00 2001
From: kamcio96 <k.nadworski@icloud.com>
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 ee62b7b..f676f0e 100644
index 195d606..c803735 100644
--- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
+++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
@@ -106,7 +106,7 @@ public class BungeeCord extends ProxyServer
@@ -111,7 +111,7 @@ public class BungeeCord extends ProxyServer
*/
private ResourceBundle baseBundle;
private ResourceBundle customBundle;
@ -20,7 +20,7 @@ index ee62b7b..f676f0e 100644
/**
* locations.yml save thread.
*/
@@ -246,7 +246,8 @@ public class BungeeCord extends ProxyServer
@@ -251,7 +251,8 @@ public class BungeeCord extends ProxyServer
ResourceLeakDetector.setLevel( ResourceLeakDetector.Level.DISABLED ); // Eats performance
}
@ -30,7 +30,7 @@ index ee62b7b..f676f0e 100644
File moduleDirectory = new File( "modules" );
moduleManager.load( this, moduleDirectory );
@@ -314,7 +315,7 @@ public class BungeeCord extends ProxyServer
@@ -319,7 +320,7 @@ public class BungeeCord extends ProxyServer
.childOption( ChannelOption.WRITE_BUFFER_LOW_WATER_MARK, 1024 * 1024 * 1 )
.childAttr( PipelineUtils.LISTENER, info )
.childHandler( PipelineUtils.SERVER_CHILD )
@ -39,7 +39,7 @@ index ee62b7b..f676f0e 100644
.localAddress( info.getHost() )
.bind().addListener( listener );
@@ -335,7 +336,7 @@ public class BungeeCord extends ProxyServer
@@ -340,7 +341,7 @@ public class BungeeCord extends ProxyServer
}
}
};
@ -48,7 +48,7 @@ index ee62b7b..f676f0e 100644
}
}
}
@@ -391,12 +392,14 @@ public class BungeeCord extends ProxyServer
@@ -396,12 +397,14 @@ public class BungeeCord extends ProxyServer
}
getLogger().info( "Closing IO threads" );
@ -83,5 +83,5 @@ index bc56d4f..efcba31 100644
.option( ChannelOption.CONNECT_TIMEOUT_MILLIS, 5000 ) // TODO: Configurable
.remoteAddress( getAddress() )
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From 8d620bc662cc24b386c1b371b94c35242b4d4288 Mon Sep 17 00:00:00 2001
From 86a346c6b32e63edaa4fcb3898f80477adfb9ef3 Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@techcable.net>
Date: Fri, 18 Mar 2016 10:53:24 -0700
Subject: [PATCH] Better Decompression Sanity
@ -45,10 +45,10 @@ index 21b3ea2..37fe6ac 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 76bdff2..f5c8f0a 100644
index 0b0dd73..ba8f940 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
@@ -105,7 +105,7 @@ public class ChannelWrapper
@@ -122,7 +122,7 @@ public class ChannelWrapper
if ( ch.pipeline().get( PacketDecompressor.class ) == null && compressionThreshold != -1 )
{
@ -58,5 +58,5 @@ index 76bdff2..f5c8f0a 100644
if ( compressionThreshold == -1 )
{
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From 87fab161fe33f3609d9080c39eef16b0a6983994 Mon Sep 17 00:00:00 2001
From 7a70a7366cbd3f62178205d7317867739d5940ac Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@techcable.net>
Date: Tue, 5 Apr 2016 11:00:16 -0700
Subject: [PATCH] Print stack trace when the ByteBuf is not direct.
@ -19,5 +19,5 @@ index 29e54db..6da27fc 100644
// See https://github.com/SpigotMC/BungeeCord/issues/1717
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,12 +1,12 @@
From 146c739b7c4024cc57897412d61728f6b239f6e1 Mon Sep 17 00:00:00 2001
From 8ac165b0615288e4bf40a56278e5d66481ca6d2f Mon Sep 17 00:00:00 2001
From: Tux <write@imaginarycode.com>
Date: Wed, 13 Apr 2016 14:00:40 -0400
Date: Tue, 25 Oct 2016 12:34:41 -0400
Subject: [PATCH] Validate that chat messages are non-blank
diff --git a/proxy/src/main/java/io/github/waterfallmc/waterfall/StringUtil.java b/proxy/src/main/java/io/github/waterfallmc/waterfall/StringUtil.java
new file mode 100644
index 0000000..940ad80
index 0000000..d294dda
--- /dev/null
+++ b/proxy/src/main/java/io/github/waterfallmc/waterfall/StringUtil.java
@@ -0,0 +1,22 @@
@ -32,8 +32,9 @@ index 0000000..940ad80
+ return true;
+ }
+}
\ No newline at end of file
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 61be441..3849446 100644
index 1abeb63..9dbcfd1 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
@@ -1,6 +1,7 @@
@ -41,10 +42,10 @@ index 61be441..3849446 100644
import com.google.common.base.Preconditions;
+import io.github.waterfallmc.waterfall.StringUtil;
import java.util.ArrayList;
import java.util.List;
import net.md_5.bungee.BungeeCord;
import net.md_5.bungee.ServerConnection;
import net.md_5.bungee.UserConnection;
@@ -114,6 +115,7 @@ public class UpstreamBridge extends PacketHandler
@@ -113,6 +114,7 @@ public class UpstreamBridge extends PacketHandler
public void handle(Chat chat) throws Exception
{
Preconditions.checkArgument( chat.getMessage().length() <= 100, "Chat message too long" ); // Mojang limit, check on updates
@ -53,5 +54,5 @@ index 61be441..3849446 100644
ServerConnection server = con.getServer();
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From 2a55bd0394cf90d74f540e9fb6674e40cabbfa85 Mon Sep 17 00:00:00 2001
From 775f2851f8552cf918192df5ec3516083d3cc4e3 Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@techcable.net>
Date: Mon, 25 Apr 2016 23:46:00 -0700
Subject: [PATCH] Reduce the overhead of lots and lots of teams with the same
@ -293,5 +293,5 @@ index 0000000..5aa306a
+
+}
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From 254da67ac1c75ad82d4ca1cd2e3708168752625a Mon Sep 17 00:00:00 2001
From 21308e824570f0f9f43eb2837a03c8ed241a7e94 Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@techcable.net>
Date: Wed, 6 Apr 2016 23:46:00 -0700
Subject: [PATCH] Better debug checks
@ -18,5 +18,5 @@ index db2843f..4decbb2 100644
return protocolData.packetMap.get( packet );
}
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,14 +1,14 @@
From 3de72c025c91dbe7afcd4d39d32d6ea89eae7bae Mon Sep 17 00:00:00 2001
From 150064853eeda8e6991722c254a272e1f1cca0a8 Mon Sep 17 00:00:00 2001
From: DoctorDark <doctordark11@gmail.com>
Date: Sun, 14 Feb 2016 15:54:40 +0000
Subject: [PATCH] Allow the console to tab complete commands
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 f676f0e..5600b70 100644
index c803735..f3625e5 100644
--- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
+++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
@@ -205,6 +205,7 @@ public class BungeeCord extends ProxyServer
@@ -210,6 +210,7 @@ public class BungeeCord extends ProxyServer
AnsiConsole.systemInstall();
consoleReader = new ConsoleReader();
consoleReader.setExpandEvents( false );
@ -95,5 +95,5 @@ index 0000000..455b078
+ }
+}
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From b4fc2b60b905273209619c189b2ba15da1fa3135 Mon Sep 17 00:00:00 2001
From b89db05da1e90b978c7138cf60c68fb229dd93cb Mon Sep 17 00:00:00 2001
From: Troy Frew <fuzzy_bot@arenaga.me>
Date: Wed, 29 Jun 2016 04:29:25 +0200
Subject: [PATCH] Add dynamic server addition/removal api.
@ -144,10 +144,10 @@ index 967a1b2..08aa698 100644
{
int index = path.indexOf( SEPARATOR );
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 5600b70..63e1cd9 100644
index f3625e5..df618d3 100644
--- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
+++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
@@ -559,10 +559,18 @@ public class BungeeCord extends ProxyServer
@@ -564,10 +564,18 @@ public class BungeeCord extends ProxyServer
return config.getServers();
}
@ -285,5 +285,5 @@ index db9ebbd..4d16fa3 100644
+ // Waterfall end
}
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From 7e024a412331dd6cc3548a7e7209959019fb707c Mon Sep 17 00:00:00 2001
From fe5753923983263a540fe191d0ce1bc0e8384af9 Mon Sep 17 00:00:00 2001
From: Troy Frew <fuzzy_bot@arenaga.me>
Date: Tue, 28 Jun 2016 23:00:49 -0500
Subject: [PATCH] Improve ServerKickEvent
@ -62,10 +62,10 @@ index 0e1ef5c..ee63732 100644
@Deprecated
public String getKickReason()
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 fc627cb..1af7071 100644
index b93e6c8..f6823c4 100644
--- a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java
+++ b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java
@@ -301,7 +301,7 @@ public class ServerConnector extends PacketHandler
@@ -300,7 +300,7 @@ public class ServerConnector extends PacketHandler
public void handle(Kick kick) throws Exception
{
ServerInfo def = user.updateAndGetNextServer( target );
@ -135,5 +135,5 @@ index a8e65fa..4177ef5 100644
{
con.connectNow( event.getCancelServer() );
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From 09aa421d98d08da5f10dd916ebd55a0ae078b47c Mon Sep 17 00:00:00 2001
From d5cff331d038f7297355594818cb90ff8a7fae96 Mon Sep 17 00:00:00 2001
From: Troy Frew <fuzzy_bot@arenaga.me>
Date: Wed, 29 Jun 2016 13:56:57 -0500
Subject: [PATCH] Configurable server version in ping response
@ -21,10 +21,10 @@ index f04e2bf..a443614 100644
/**
diff --git a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
index 114961d..32f7b99 100644
index c53851b..0f48c6a 100644
--- a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
+++ b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java
@@ -5,8 +5,11 @@ import lombok.*;
@@ -4,8 +4,11 @@ import lombok.*;
import java.io.File;
@ -36,7 +36,7 @@ index 114961d..32f7b99 100644
public class WaterfallConfiguration extends Configuration {
@@ -24,6 +27,13 @@ public class WaterfallConfiguration extends Configuration {
@@ -23,6 +26,13 @@ public class WaterfallConfiguration extends Configuration {
*/
private boolean logServerListPing = false;
@ -50,7 +50,7 @@ index 114961d..32f7b99 100644
/*
* Throttling options
* Helps prevent players from overloading the servers behind us
@@ -46,6 +56,7 @@ public class WaterfallConfiguration extends Configuration {
@@ -45,6 +55,7 @@ public class WaterfallConfiguration extends Configuration {
logServerListPing = config.getBoolean( "log_server_list_ping", logServerListPing );
// Throttling options
tabThrottle = config.getInt("throttling.tab_complete", tabThrottle);
@ -59,10 +59,10 @@ index 114961d..32f7b99 100644
@Override
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 63e1cd9..1d6e535 100644
index df618d3..910bb02 100644
--- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
+++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java
@@ -608,7 +608,7 @@ public class BungeeCord extends ProxyServer
@@ -613,7 +613,7 @@ public class BungeeCord extends ProxyServer
@Override
public String getGameVersion()
{
@ -72,5 +72,5 @@ index 63e1cd9..1d6e535 100644
@Override
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From 91ef80137010aac7c0f3ae98813fe0f82bafff2f Mon Sep 17 00:00:00 2001
From 6c0093a50b71114399de49ac002b1d0b24fc5e10 Mon Sep 17 00:00:00 2001
From: Ichbinjoe <joe@ibj.io>
Date: Sat, 16 Jul 2016 20:44:01 -0400
Subject: [PATCH] Add timeout variant to connect methods
@ -49,10 +49,10 @@ index 375815c..c49e900 100644
* Gets the server this player is connected to.
*
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 9a13f5c..fead216 100644
index 473bdec..7e9bd1e 100644
--- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java
+++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java
@@ -259,6 +259,12 @@ public final class UserConnection implements ProxiedPlayer
@@ -251,6 +251,12 @@ public final class UserConnection implements ProxiedPlayer
public void connect(ServerInfo info, final Callback<Boolean> callback, final boolean retry)
{
@ -65,7 +65,7 @@ index 9a13f5c..fead216 100644
Preconditions.checkNotNull( info, "info" );
ServerConnectEvent event = new ServerConnectEvent( this, info );
@@ -327,7 +333,7 @@ public final class UserConnection implements ProxiedPlayer
@@ -319,7 +325,7 @@ public final class UserConnection implements ProxiedPlayer
if ( retry && def != null && ( getServer() == null || def != getServer().getInfo() ) )
{
sendMessage( bungee.getTranslation( "fallback_lobby" ) );
@ -74,7 +74,7 @@ index 9a13f5c..fead216 100644
} else if ( dimensionChange )
{
disconnect( bungee.getTranslation( "fallback_kick", future.cause().getClass().getName() ) );
@@ -342,7 +348,7 @@ public final class UserConnection implements ProxiedPlayer
@@ -334,7 +340,7 @@ public final class UserConnection implements ProxiedPlayer
.channel( PipelineUtils.getChannel() )
.group( ch.getHandle().eventLoop() )
.handler( initializer )
@ -84,5 +84,5 @@ index 9a13f5c..fead216 100644
// Windows is bugged, multi homed users will just have to live with random connecting IPs
if ( getPendingConnection().getListener().isSetLocalAddress() && !PlatformDependent.isWindows() )
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From 064116f3f75a99954563fcc49595272809dfd2e5 Mon Sep 17 00:00:00 2001
From 5dc9a07ab2a5e4a0af1917faff3e804ed19fa517 Mon Sep 17 00:00:00 2001
From: minecrafter <unknown@unknown>
Date: Sun, 3 Jul 2016 04:03:21 -0400
Subject: [PATCH] Proxy query event
@ -215,5 +215,5 @@ index 0be915c..e577b3f 100644
} else
{
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From 8cfd3fbb4bc7ee1f51cc6b65cf3ddec43c16ed44 Mon Sep 17 00:00:00 2001
From fc7d2aa80f1913deef8e6dd15b743526c2ca758e Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@techcable.net>
Date: Thu, 4 Aug 2016 19:30:49 -0700
Subject: [PATCH] Dump the raw hex of a packet on a decoding error
@ -53,5 +53,5 @@ index 447eaae..17d8444 100644
{
if ( slice != null )
--
2.7.4
2.7.4 (Apple Git-66)

View File

@ -1,4 +1,4 @@
From 6dcb9f21b8ce9bfc1cd93c1f4e62ba690dcb6084 Mon Sep 17 00:00:00 2001
From ad2abc39f2497d0ab7acae3f029a90ae32670b55 Mon Sep 17 00:00:00 2001
From: Aaron Hill <aa1ronham@gmail.com>
Date: Thu, 15 Sep 2016 16:38:37 -0400
Subject: [PATCH] Fix potion race condition on Forge 1.8.9
@ -160,7 +160,7 @@ index 0000000..7ed2dc3
+ }
+}
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 fead216..f26d20c 100644
index 7e9bd1e..79d776e 100644
--- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java
+++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java
@@ -2,7 +2,9 @@ package net.md_5.bungee;
@ -173,7 +173,7 @@ index fead216..f26d20c 100644
import io.netty.bootstrap.Bootstrap;
import io.netty.channel.Channel;
import io.netty.channel.ChannelFuture;
@@ -131,6 +133,10 @@ public final class UserConnection implements ProxiedPlayer
@@ -123,6 +125,10 @@ public final class UserConnection implements ProxiedPlayer
private final Scoreboard serverSentScoreboard = new Scoreboard();
@Getter
private final Collection<UUID> sentBossBars = new HashSet<>();
@ -231,19 +231,19 @@ index 4177ef5..9618d10 100644
public String toString()
{
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 314fd43..3367349 100644
index 673497e..17e250d 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.RequiredArgsConstructor;
@@ -8,6 +8,8 @@ import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import net.md_5.bungee.BungeeCord;
import net.md_5.bungee.UserConnection;
+import net.md_5.bungee.protocol.ProtocolConstants;
+import net.md_5.bungee.protocol.packet.EntityRemoveEffect;
import net.md_5.bungee.protocol.packet.PluginMessage;
/**
@@ -91,9 +93,23 @@ public class ForgeClientHandler
@@ -90,9 +92,23 @@ public class ForgeClientHandler
public void resetHandshake()
{
state = ForgeClientHandshakeState.HELLO;
@ -268,5 +268,5 @@ index 314fd43..3367349 100644
* Sends the server mod list to the client, or stores it for sending later.
*
--
2.9.3
2.7.4 (Apple Git-66)