1- From e93d1d953537ca4884d59d3e784ade9e98a7689d Mon Sep 17 00:00:00 2001
1+ From e693425cf93d8be267b6aa459330ca4c4905216d Mon Sep 17 00:00:00 2001
22From: Daniel Naylor <git@drnaylor.co.uk>
33Date: Tue, 25 Oct 2016 12:23:07 -0400
44Subject: [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
1212No breaking changes occur due to this patch.
1313
1414diff --git a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java
15- index db54342a..6ed9e8b3 100644
15+ index db54342a..7bcb585d 100644
1616--- a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java
1717+++ b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java
1818@@ -7,6 +7,7 @@ import io.netty.buffer.ByteBufAllocator;
@@ -30,7 +30,7 @@ index db54342a..6ed9e8b3 100644
3030+
3131+ // Waterfall start - properties
3232+ // Handle properties.
33- + net.md_5.bungee.protocol.Property[] properties = new net.md_5.bungee.protocol.Property[0];
33+ + net.md_5.bungee.protocol.data. Property[] properties = new net.md_5.bungee.protocol.data .Property[0];
3434+
3535 if ( profile != null && profile.getProperties() != null && profile.getProperties().length > 0 )
3636 {
@@ -41,13 +41,13 @@ index db54342a..6ed9e8b3 100644
4141+ if ( user.getForgeClientHandler().isFmlTokenInHandshake() )
4242+ {
4343+ // Get the current properties and copy them into a slightly bigger array.
44- + net.md_5.bungee.protocol.Property[] newp = Arrays.copyOf( properties, properties.length + 2 );
44+ + net.md_5.bungee.protocol.data. Property[] newp = Arrays.copyOf( properties, properties.length + 2 );
4545+
4646+ // Add a new profile property that specifies that this user is a Forge user.
47- + newp[newp.length - 2] = new net.md_5.bungee.protocol.Property( ForgeConstants.FML_LOGIN_PROFILE, "true", null );
47+ + newp[newp.length - 2] = new net.md_5.bungee.protocol.data. Property( ForgeConstants.FML_LOGIN_PROFILE, "true", null );
4848+
4949+ // If we do not perform the replacement, then the IP Forwarding code in Spigot et. al. will try to split on this prematurely.
50- + newp[newp.length - 1] = new net.md_5.bungee.protocol.Property( ForgeConstants.EXTRA_DATA, user.getExtraDataInHandshake().replaceAll( "\0", "\1"), "" );
50+ + newp[newp.length - 1] = new net.md_5.bungee.protocol.data. Property( ForgeConstants.EXTRA_DATA, user.getExtraDataInHandshake().replaceAll( "\0", "\1"), "" );
5151+
5252+ // All done.
5353+ properties = newp;
0 commit comments