mirror of
https://github.com/PaperMC/Waterfall.git
synced 2024-09-28 22:47:49 +02:00
25ecd402f3
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing BungeeCord Changes: 1a807731 #3567: Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.2 to 3.6.3 772ad995 #3566: Bump actions/setup-java from 3 to 4 2431c40a #3562: Bump io.netty:netty-bom from 4.1.100.Final to 4.1.101.Final 8144ae8d #3555: Bump com.mysql:mysql-connector-j from 8.1.0 to 8.2.0 0757c39a Attempt upgrade of resolver libraries
60 lines
2.8 KiB
Diff
60 lines
2.8 KiB
Diff
From d6f4754d7bbbc92d84ccce081c3a62318a445ae4 Mon Sep 17 00:00:00 2001
|
|
From: Daniel Naylor <git@drnaylor.co.uk>
|
|
Date: Mon, 17 Jul 2017 20:24:17 +0100
|
|
Subject: [PATCH] Fix some forge plugin message packets not being forwarded
|
|
correctly
|
|
|
|
This fixes #155, see SpongePowered/SpongeForge#1507
|
|
|
|
diff --git a/proxy/src/main/java/net/md_5/bungee/forge/ForgeClientHandshakeState.java b/proxy/src/main/java/net/md_5/bungee/forge/ForgeClientHandshakeState.java
|
|
index 52429265..5e02f8c8 100644
|
|
--- a/proxy/src/main/java/net/md_5/bungee/forge/ForgeClientHandshakeState.java
|
|
+++ b/proxy/src/main/java/net/md_5/bungee/forge/ForgeClientHandshakeState.java
|
|
@@ -171,7 +171,8 @@ enum ForgeClientHandshakeState implements IForgeClientPacketHandler<ForgeClientH
|
|
public ForgeClientHandshakeState handle(PluginMessage message, UserConnection con)
|
|
{
|
|
// Ack.
|
|
- if ( message.getData()[0] == -1 )
|
|
+ if (( message.getTag().equals( ForgeConstants.FML_HANDSHAKE_TAG ) && message.getData()[0] == -1 )
|
|
+ || message.getTag().equals( ForgeConstants.FORGE_REGISTER ))
|
|
{
|
|
ForgeLogger.logClient( ForgeLogger.LogDirection.RECEIVED, this.name(), message );
|
|
con.unsafe().sendPacket( message );
|
|
@@ -187,7 +188,7 @@ enum ForgeClientHandshakeState implements IForgeClientPacketHandler<ForgeClientH
|
|
}
|
|
},
|
|
/**
|
|
- * Handshake has been completed. Ignores any future handshake packets.
|
|
+ * Handshake has been completed. Ignores any future handshake packets, but not any FORGE packets.
|
|
*/
|
|
DONE
|
|
{
|
|
@@ -196,6 +197,11 @@ enum ForgeClientHandshakeState implements IForgeClientPacketHandler<ForgeClientH
|
|
public ForgeClientHandshakeState handle(PluginMessage message, UserConnection con)
|
|
{
|
|
ForgeLogger.logClient( ForgeLogger.LogDirection.RECEIVED, this.name(), message );
|
|
+ if ( message.getTag().equals( ForgeConstants.FORGE_REGISTER ))
|
|
+ {
|
|
+ con.unsafe().sendPacket( message );
|
|
+ }
|
|
+
|
|
return this;
|
|
}
|
|
|
|
diff --git a/proxy/src/main/java/net/md_5/bungee/forge/ForgeServerHandler.java b/proxy/src/main/java/net/md_5/bungee/forge/ForgeServerHandler.java
|
|
index 77d18e6d..d254b84e 100644
|
|
--- a/proxy/src/main/java/net/md_5/bungee/forge/ForgeServerHandler.java
|
|
+++ b/proxy/src/main/java/net/md_5/bungee/forge/ForgeServerHandler.java
|
|
@@ -50,7 +50,7 @@ public class ForgeServerHandler
|
|
ForgeServerHandshakeState prevState = state;
|
|
packetQueue.add( message );
|
|
state = state.send( message, con );
|
|
- if ( state != prevState ) // send packets
|
|
+ if ( state == ForgeServerHandshakeState.DONE || state != prevState ) // send packets
|
|
{
|
|
synchronized ( packetQueue )
|
|
{
|
|
--
|
|
2.43.0
|
|
|