diff --git a/Waterfall b/Waterfall index fb7c739..d6761d6 160000 --- a/Waterfall +++ b/Waterfall @@ -1 +1 @@ -Subproject commit fb7c7395669840cdfc6d7bc34bc24ead466091ec +Subproject commit d6761d60578c2eb923a9951a803809f90c955bc9 diff --git a/Waterfall-Proxy-Patches/0004-1.7.x-support.patch b/Waterfall-Proxy-Patches/0004-1.7.x-support.patch index 2bb7895..6bd0863 100644 --- a/Waterfall-Proxy-Patches/0004-1.7.x-support.patch +++ b/Waterfall-Proxy-Patches/0004-1.7.x-support.patch @@ -1,11 +1,11 @@ -From f6c2732d23405260984a660dda715f6f03fab6b6 Mon Sep 17 00:00:00 2001 +From 5e44201df8cb6a999b7b367ca5829e84347bec2f Mon Sep 17 00:00:00 2001 From: LinsaFTW <25271111+linsaftw@users.noreply.github.com> Date: Thu, 30 Sep 2021 19:54:33 -0300 Subject: [PATCH] 1.7.x support 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 59f2cb73d..f33ce913a 100644 +index 59f2cb73..f33ce913 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 @@ -415,4 +415,36 @@ public abstract class DefinedPacket @@ -46,7 +46,7 @@ index 59f2cb73d..f33ce913a 100644 + // FlameCord end - 1.7.x support } 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 8bf14d561..c433ac4ab 100644 +index 8bf14d56..c433ac4a 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 @@ -66,7 +66,7 @@ public enum Protocol @@ -324,7 +324,7 @@ index 8bf14d561..c433ac4ab 100644 TO_SERVER.registerPacket( LoginPayloadResponse.class, 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 fa625d964..34a90b85e 100644 +index fa625d96..34a90b85 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 @@ -7,6 +7,10 @@ public class ProtocolConstants @@ -358,7 +358,7 @@ index fa625d964..34a90b85e 100644 ProtocolConstants.MINECRAFT_1_9, ProtocolConstants.MINECRAFT_1_9_1, diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/Chat.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/Chat.java -index dc9866097..230018aea 100644 +index dc986609..230018ae 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/Chat.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/Chat.java @@ -41,6 +41,7 @@ public class Chat extends DefinedPacket @@ -378,7 +378,7 @@ index dc9866097..230018aea 100644 { buf.writeByte( position ); diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/ClientSettings.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/ClientSettings.java -index d7d4e6ab4..570a89f0a 100644 +index d7d4e6ab..570a89f0 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/ClientSettings.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/ClientSettings.java @@ -34,6 +34,12 @@ public class ClientSettings extends DefinedPacket @@ -415,7 +415,7 @@ index d7d4e6ab4..570a89f0a 100644 buf.writeByte( viewDistance ); if ( protocolVersion >= ProtocolConstants.MINECRAFT_1_9 ) diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/EncryptionRequest.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/EncryptionRequest.java -index a29524ca8..e78519964 100644 +index a29524ca..e7851996 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/EncryptionRequest.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/EncryptionRequest.java @@ -23,6 +23,16 @@ public class EncryptionRequest extends DefinedPacket @@ -453,7 +453,7 @@ index a29524ca8..e78519964 100644 writeArray( publicKey, buf ); writeArray( verifyToken, buf ); 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 545eec72f..eacdbe78a 100644 +index 545eec72..eacdbe78 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 @@ -22,6 +22,15 @@ public class EncryptionResponse extends DefinedPacket @@ -489,7 +489,7 @@ index 545eec72f..eacdbe78a 100644 if ( verifyToken != null ) { diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/EntityEffect.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/EntityEffect.java -index d11a9ea9d..0ed78a8c4 100644 +index d11a9ea9..0ed78a8c 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/EntityEffect.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/EntityEffect.java @@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode; @@ -550,7 +550,7 @@ index d11a9ea9d..0ed78a8c4 100644 } diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/EntityRemoveEffect.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/EntityRemoveEffect.java -index 7ed2dc3ab..435b85789 100644 +index 7ed2dc3a..435b8578 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/EntityRemoveEffect.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/EntityRemoveEffect.java @@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode; @@ -589,7 +589,7 @@ index 7ed2dc3ab..435b85789 100644 } diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/KeepAlive.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/KeepAlive.java -index b004bc416..a8c3e7736 100644 +index b004bc41..a8c3e773 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/KeepAlive.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/KeepAlive.java @@ -21,12 +21,28 @@ public class KeepAlive extends DefinedPacket @@ -622,7 +622,7 @@ index b004bc416..a8c3e7736 100644 { buf.writeLong( randomId ); diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/LoginSuccess.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/LoginSuccess.java -index 07fb3d79a..7d03cd10a 100644 +index 07fb3d79..7d03cd10 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/LoginSuccess.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/LoginSuccess.java @@ -25,6 +25,11 @@ public class LoginSuccess extends DefinedPacket @@ -665,7 +665,7 @@ index 07fb3d79a..7d03cd10a 100644 + // FlameCord end - 1.7.x support } diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/PlayerListItem.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/PlayerListItem.java -index 9b9c412da..4c50d2378 100644 +index 9b9c412d..4c50d237 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/PlayerListItem.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/PlayerListItem.java @@ -23,6 +23,18 @@ public class PlayerListItem extends DefinedPacket @@ -706,7 +706,7 @@ index 9b9c412da..4c50d2378 100644 DefinedPacket.writeVarInt( items.length, buf ); for ( Item item : items ) 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 91f71c095..57a82d29e 100644 +index 91f71c09..57a82d29 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 @@ -73,6 +73,15 @@ public class PluginMessage extends DefinedPacket @@ -742,7 +742,7 @@ index 91f71c095..57a82d29e 100644 buf.writeBytes( data ); } diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/ScoreboardObjective.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/ScoreboardObjective.java -index 3c7905d54..75b371e9c 100644 +index 3c7905d5..75b371e9 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/ScoreboardObjective.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/ScoreboardObjective.java @@ -28,6 +28,16 @@ public class ScoreboardObjective extends DefinedPacket @@ -780,7 +780,7 @@ index 3c7905d54..75b371e9c 100644 buf.writeByte( action ); if ( action == 0 || action == 2 ) diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/ScoreboardScore.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/ScoreboardScore.java -index 0b27fc86b..a812441d9 100644 +index 0b27fc86..a812441d 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/ScoreboardScore.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/ScoreboardScore.java @@ -27,6 +27,20 @@ public class ScoreboardScore extends DefinedPacket @@ -826,7 +826,7 @@ index 0b27fc86b..a812441d9 100644 buf.writeByte( action ); writeString( scoreName, buf ); diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/TabCompleteRequest.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/TabCompleteRequest.java -index 80e4f85af..cab28b999 100644 +index 80e4f85a..cab28b99 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/TabCompleteRequest.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/TabCompleteRequest.java @@ -43,6 +43,7 @@ public class TabCompleteRequest extends DefinedPacket @@ -846,7 +846,7 @@ index 80e4f85af..cab28b999 100644 { if ( protocolVersion >= ProtocolConstants.MINECRAFT_1_9 ) diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/Team.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/Team.java -index a5555f6af..1eb458b61 100644 +index a5555f6a..1eb458b6 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/Team.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/Team.java @@ -55,12 +55,22 @@ public class Team extends DefinedPacket @@ -915,7 +915,7 @@ index a5555f6af..1eb458b61 100644 buf.writeByte( mode ); if ( mode == 0 || mode == 2 ) 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 4568e9b0b..d2b28ebb6 100644 +index b61f5759..ff6e0b2b 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java @@ -171,6 +171,14 @@ public class BungeeCord extends ProxyServer @@ -934,7 +934,7 @@ index 4568e9b0b..d2b28ebb6 100644 private ConnectionThrottle connectionThrottle; private final ModuleManager moduleManager = new ModuleManager(); diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeTitle.java b/proxy/src/main/java/net/md_5/bungee/BungeeTitle.java -index 1d377a655..0ea5f90b4 100644 +index 1d377a65..0ea5f90b 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeTitle.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeTitle.java @@ -183,6 +183,7 @@ public class BungeeTitle implements Title @@ -946,7 +946,7 @@ index 1d377a655..0ea5f90b4 100644 sendPacket( player, reset ); sendPacket( player, times ); diff --git a/proxy/src/main/java/net/md_5/bungee/PlayerInfoSerializer.java b/proxy/src/main/java/net/md_5/bungee/PlayerInfoSerializer.java -index 491cf1a16..6cd8ec3b4 100644 +index 491cf1a1..6cd8ec3b 100644 --- a/proxy/src/main/java/net/md_5/bungee/PlayerInfoSerializer.java +++ b/proxy/src/main/java/net/md_5/bungee/PlayerInfoSerializer.java @@ -10,9 +10,23 @@ import com.google.gson.JsonSerializer; @@ -1000,7 +1000,7 @@ index 491cf1a16..6cd8ec3b4 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 8181d76bd..c23c7ff9b 100644 +index 8181d76b..c23c7ff9 100644 --- a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java +++ b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java @@ -280,10 +280,20 @@ public class ServerConnector extends PacketHandler @@ -1053,7 +1053,7 @@ index 8181d76bd..c23c7ff9b 100644 throw CancelSendSignal.INSTANCE; } 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 b44d13e59..2d72e26ea 100644 +index cf82c182..9fe97384 100644 --- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java +++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java @@ -194,6 +194,8 @@ public final class UserConnection implements ProxiedPlayer @@ -1099,7 +1099,7 @@ index b44d13e59..2d72e26ea 100644 { this.compressionThreshold = compressionThreshold; 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 e01f65ace..c532d7f4c 100644 +index e01f65ac..c532d7f4 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 @@ -18,6 +18,7 @@ import io.netty.buffer.Unpooled; @@ -1168,7 +1168,7 @@ index e01f65ace..c532d7f4c 100644 con.unsafe().sendPacket( pluginMessage ); throw CancelSendSignal.INSTANCE; 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 a19bbdd0f..de417ecae 100644 +index ca0e3764..2d3182b9 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 @@ -3,6 +3,9 @@ package net.md_5.bungee.connection; @@ -1181,7 +1181,7 @@ index a19bbdd0f..de417ecae 100644 import java.math.BigInteger; import java.net.InetSocketAddress; import java.net.SocketAddress; -@@ -280,8 +283,23 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -290,8 +293,23 @@ public class InitialHandler extends PacketHandler implements PendingConnection @Override public void done(ProxyPingEvent pingResult, Throwable error) { @@ -1208,7 +1208,7 @@ index a19bbdd0f..de417ecae 100644 { bungee.getConnectionThrottle().unthrottle( getSocketAddress() ); diff --git a/proxy/src/main/java/net/md_5/bungee/connection/PingHandler.java b/proxy/src/main/java/net/md_5/bungee/connection/PingHandler.java -index 6df3f3dd9..a409d440b 100644 +index 6df3f3dd..a409d440 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/PingHandler.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/PingHandler.java @@ -16,6 +16,7 @@ import net.md_5.bungee.protocol.MinecraftDecoder; @@ -1229,7 +1229,7 @@ index 6df3f3dd9..a409d440b 100644 ( (BungeeServerInfo) target ).cachePing( serverPing ); callback.done( serverPing, null ); 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 d72208e75..66332af4e 100644 +index 7fb79bfd..86c469ee 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 @@ -101,7 +101,12 @@ public class UpstreamBridge extends PacketHandler @@ -1247,7 +1247,7 @@ index d72208e75..66332af4e 100644 } con.getServer().disconnect( "Quitting" ); 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 28d2127f9..8fb6bf514 100644 +index 28d2127f..8fb6bf51 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 @@ -34,6 +34,12 @@ public abstract class EntityMap @@ -1265,7 +1265,7 @@ index 28d2127f9..8fb6bf514 100644 case ProtocolConstants.MINECRAFT_1_9: diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_7_2.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_7_2.java new file mode 100644 -index 000000000..cdc07dc45 +index 00000000..cdc07dc4 --- /dev/null +++ b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_7_2.java @@ -0,0 +1,102 @@ @@ -1374,7 +1374,7 @@ index 000000000..cdc07dc45 \ No newline at end of file diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_7_6.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_7_6.java new file mode 100644 -index 000000000..cb9174b35 +index 00000000..cb9174b3 --- /dev/null +++ b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_7_6.java @@ -0,0 +1,62 @@ @@ -1442,7 +1442,7 @@ index 000000000..cb9174b35 +// FlameCord end - 1.7.x support \ No newline at end of file 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 bea2bbff9..caed43849 100644 +index bea2bbff..caed4384 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 @@ -8,6 +8,7 @@ import lombok.Getter; @@ -1489,7 +1489,7 @@ index bea2bbff9..caed43849 100644 + // FlameCord end - 1.7.x support } 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 5e02f8c8a..85bc21b9f 100644 +index 5e02f8c8..85bc21b9 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 @@ -3,6 +3,7 @@ package net.md_5.bungee.forge; @@ -1524,7 +1524,7 @@ index 5e02f8c8a..85bc21b9f 100644 return WAITINGSERVERDATA; diff --git a/proxy/src/main/java/net/md_5/bungee/tab/ServerUnique.java b/proxy/src/main/java/net/md_5/bungee/tab/ServerUnique.java -index f70d357a3..df6a4b12c 100644 +index f70d357a..df6a4b12 100644 --- a/proxy/src/main/java/net/md_5/bungee/tab/ServerUnique.java +++ b/proxy/src/main/java/net/md_5/bungee/tab/ServerUnique.java @@ -13,6 +13,7 @@ public class ServerUnique extends TabList @@ -1616,5 +1616,5 @@ index f70d357a3..df6a4b12c 100644 @Override -- -2.37.3.windows.1 +2.40.1.windows.1 diff --git a/Waterfall-Proxy-Patches/0005-Make-PlayerHandshakeEvent-cancellable.patch b/Waterfall-Proxy-Patches/0005-Make-PlayerHandshakeEvent-cancellable.patch index 8e8d901..86ee1e3 100644 --- a/Waterfall-Proxy-Patches/0005-Make-PlayerHandshakeEvent-cancellable.patch +++ b/Waterfall-Proxy-Patches/0005-Make-PlayerHandshakeEvent-cancellable.patch @@ -1,11 +1,11 @@ -From 2a6878cb7a8c16bb76b79012db51d81f112636c9 Mon Sep 17 00:00:00 2001 +From ab954c61440b743371d5b235e016f099da3da176 Mon Sep 17 00:00:00 2001 From: foss-mc <69294560+foss-mc@users.noreply.github.com> Date: Wed, 16 Dec 2020 17:57:23 +0800 Subject: [PATCH] Make PlayerHandshakeEvent cancellable diff --git a/api/src/main/java/net/md_5/bungee/api/event/PlayerHandshakeEvent.java b/api/src/main/java/net/md_5/bungee/api/event/PlayerHandshakeEvent.java -index 2f7b38d9e..e29b0ed35 100644 +index 2f7b38d9..e29b0ed3 100644 --- a/api/src/main/java/net/md_5/bungee/api/event/PlayerHandshakeEvent.java +++ b/api/src/main/java/net/md_5/bungee/api/event/PlayerHandshakeEvent.java @@ -2,8 +2,11 @@ package net.md_5.bungee.api.event; @@ -35,10 +35,10 @@ index 2f7b38d9e..e29b0ed35 100644 /** * Connection attempting to login. 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 de417ecae..c3543a18d 100644 +index 2d3182b9..3d6bdf5c 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 -@@ -362,7 +362,11 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -372,7 +372,11 @@ public class InitialHandler extends PacketHandler implements PendingConnection this.virtualHost = InetSocketAddress.createUnresolved( handshake.getHost(), handshake.getPort() ); @@ -52,5 +52,5 @@ index de417ecae..c3543a18d 100644 switch ( handshake.getRequestedProtocol() ) { -- -2.37.3.windows.1 +2.40.1.windows.1 diff --git a/Waterfall-Proxy-Patches/0010-Close-connections-Don-t-flush-if-not-necessary.patch b/Waterfall-Proxy-Patches/0010-Close-connections-Don-t-flush-if-not-necessary.patch index 71c6ae5..5208660 100644 --- a/Waterfall-Proxy-Patches/0010-Close-connections-Don-t-flush-if-not-necessary.patch +++ b/Waterfall-Proxy-Patches/0010-Close-connections-Don-t-flush-if-not-necessary.patch @@ -1,14 +1,14 @@ -From e801d03bfaa70492f0ad246397b0875c8fec9668 Mon Sep 17 00:00:00 2001 +From c564761a0215ace19637a81e0cf21070f488c8dc Mon Sep 17 00:00:00 2001 From: foss-mc <69294560+foss-mc@users.noreply.github.com> Date: Wed, 16 Dec 2020 18:06:17 +0800 Subject: [PATCH] Close connections & Don't flush if not necessary 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 965a419f..99e2dafa 100644 +index 3d6bdf5c..ac20d5ad 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 -@@ -208,6 +208,13 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -218,6 +218,13 @@ public class InitialHandler extends PacketHandler implements PendingConnection } ServerPing legacy = result.getResponse(); @@ -22,7 +22,7 @@ index 965a419f..99e2dafa 100644 String kickMessage; if ( v1_5 ) -@@ -283,6 +290,17 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -293,6 +300,17 @@ public class InitialHandler extends PacketHandler implements PendingConnection @Override public void done(ProxyPingEvent pingResult, Throwable error) { @@ -40,7 +40,7 @@ index 965a419f..99e2dafa 100644 // FlameCord start - 1.7.x support Gson gson = handshake.getProtocolVersion() == ProtocolConstants.MINECRAFT_1_7_2 ? BungeeCord.getInstance().gsonLegacy : BungeeCord.getInstance().gson; if ( ProtocolConstants.isBeforeOrEq( handshake.getProtocolVersion() , ProtocolConstants.MINECRAFT_1_8 ) ) -@@ -327,11 +345,13 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -337,11 +355,13 @@ public class InitialHandler extends PacketHandler implements PendingConnection @Override public void handle(PingPacket ping) throws Exception { @@ -127,5 +127,5 @@ index 6a045d16..9227db06 100644 } } -- -2.37.3.windows.1 +2.40.1.windows.1 diff --git a/Waterfall-Proxy-Patches/0015-Allow-custom-uuids-even-if-onlineMode-is-true.patch b/Waterfall-Proxy-Patches/0015-Allow-custom-uuids-even-if-onlineMode-is-true.patch index 7bc2ea2..4afc6ec 100644 --- a/Waterfall-Proxy-Patches/0015-Allow-custom-uuids-even-if-onlineMode-is-true.patch +++ b/Waterfall-Proxy-Patches/0015-Allow-custom-uuids-even-if-onlineMode-is-true.patch @@ -1,14 +1,14 @@ -From 047ea04ae1cf8277e6c2eed87dc0d5fd901efe91 Mon Sep 17 00:00:00 2001 +From 799190416ca187a0f7021813a617a6031573710b Mon Sep 17 00:00:00 2001 From: foss-mc <69294560+foss-mc@users.noreply.github.com> Date: Wed, 16 Dec 2020 18:35:33 +0800 Subject: [PATCH] Allow custom uuids even if onlineMode is true 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 8ed26e5c..4242b9c8 100644 +index ac20d5ad..706fb321 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 -@@ -769,7 +769,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -779,7 +779,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection public void setUniqueId(UUID uuid) { Preconditions.checkState( thisState == State.USERNAME, "Can only set uuid while state is username" ); @@ -18,5 +18,5 @@ index 8ed26e5c..4242b9c8 100644 } -- -2.37.3.windows.1 +2.40.1.windows.1 diff --git a/Waterfall-Proxy-Patches/0017-Don-t-declare-uuid-unless-it-s-null.patch b/Waterfall-Proxy-Patches/0017-Don-t-declare-uuid-unless-it-s-null.patch index 9bc71fe..455cc79 100644 --- a/Waterfall-Proxy-Patches/0017-Don-t-declare-uuid-unless-it-s-null.patch +++ b/Waterfall-Proxy-Patches/0017-Don-t-declare-uuid-unless-it-s-null.patch @@ -1,14 +1,14 @@ -From ac09d06618510ed85aadc83a5a6bb812bf109218 Mon Sep 17 00:00:00 2001 +From 768e32b3c1fc55c2722830698ef016d026f72a2e Mon Sep 17 00:00:00 2001 From: foss-mc <69294560+foss-mc@users.noreply.github.com> Date: Wed, 16 Dec 2020 18:43:17 +0800 Subject: [PATCH] Don't declare uuid unless it's null 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 8715821fe..1c10b5a93 100644 +index 706fb321..32c57dad 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 -@@ -559,7 +559,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -569,7 +569,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection { loginProfile = obj; name = obj.getName(); @@ -21,5 +21,5 @@ index 8715821fe..1c10b5a93 100644 return; } -- -2.37.3.windows.1 +2.40.1.windows.1 diff --git a/Waterfall-Proxy-Patches/0019-FlameCord-module-system.patch b/Waterfall-Proxy-Patches/0019-FlameCord-module-system.patch index 5721771..9921c9a 100644 --- a/Waterfall-Proxy-Patches/0019-FlameCord-module-system.patch +++ b/Waterfall-Proxy-Patches/0019-FlameCord-module-system.patch @@ -1,11 +1,11 @@ -From 681805834a7f83cccb8de7878b8ffacbdb4b6d0d Mon Sep 17 00:00:00 2001 +From 5991a1c9046328c99d25d66ac5b82650b0646e85 Mon Sep 17 00:00:00 2001 From: linsaftw <25271111+linsaftw@users.noreply.github.com> Date: Sat, 1 May 2021 14:17:48 -0300 Subject: [PATCH] FlameCord module system diff --git a/flamecord/src/main/java/dev/_2lstudios/flamecord/FlameCord.java b/flamecord/src/main/java/dev/_2lstudios/flamecord/FlameCord.java -index f3d5c0290..fb3d8ca2e 100644 +index f3d5c029..fb3d8ca2 100644 --- a/flamecord/src/main/java/dev/_2lstudios/flamecord/FlameCord.java +++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/FlameCord.java @@ -4,6 +4,7 @@ import java.util.Collection; @@ -36,7 +36,7 @@ index f3d5c0290..fb3d8ca2e 100644 \ No newline at end of file diff --git a/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/ModulesConfiguration.java b/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/ModulesConfiguration.java new file mode 100644 -index 000000000..a6cb2638f +index 00000000..a6cb2638 --- /dev/null +++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/ModulesConfiguration.java @@ -0,0 +1,35 @@ @@ -76,7 +76,7 @@ index 000000000..a6cb2638f + } +} 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 0d8f02d25..d58227fd9 100644 +index d9195f43..2cb0f332 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java @@ -11,6 +11,8 @@ import com.google.gson.Gson; @@ -135,7 +135,7 @@ index 0d8f02d25..d58227fd9 100644 pluginManager.enablePlugins(); if ( config.getThrottle() > 0 ) -@@ -853,4 +859,53 @@ public class BungeeCord extends ProxyServer +@@ -857,4 +863,53 @@ public class BungeeCord extends ProxyServer { return new BungeeTitle(); } @@ -190,5 +190,5 @@ index 0d8f02d25..d58227fd9 100644 + } } -- -2.37.3.windows.1 +2.40.1.windows.1 diff --git a/Waterfall-Proxy-Patches/0023-FlameCord-logger-options.patch b/Waterfall-Proxy-Patches/0023-FlameCord-logger-options.patch index 6f49bf5..b23adf5 100644 --- a/Waterfall-Proxy-Patches/0023-FlameCord-logger-options.patch +++ b/Waterfall-Proxy-Patches/0023-FlameCord-logger-options.patch @@ -1,11 +1,11 @@ -From 1d9ee842e043c343a64b8fe7ef6962ee0fb53041 Mon Sep 17 00:00:00 2001 +From f9ddbbef3ff312d6f1ef6a5520f9479b587e911b Mon Sep 17 00:00:00 2001 From: linsaftw <25271111+linsaftw@users.noreply.github.com> Date: Fri, 30 Apr 2021 23:51:51 -0300 Subject: [PATCH] FlameCord logger options diff --git a/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/FlameCordConfiguration.java b/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/FlameCordConfiguration.java -index 241e8ed9c..b563cbced 100644 +index 241e8ed9..b563cbce 100644 --- a/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/FlameCordConfiguration.java +++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/FlameCordConfiguration.java @@ -11,10 +11,27 @@ import net.md_5.bungee.config.Configuration; @@ -37,7 +37,7 @@ index 241e8ed9c..b563cbced 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 e48f77131..909227970 100644 +index b8fb5a21..81ab6da0 100644 --- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java +++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java @@ -4,6 +4,7 @@ import com.google.common.base.Preconditions; @@ -61,10 +61,10 @@ index e48f77131..909227970 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 22688a045..66a347542 100644 +index ac004603..c2f4ede9 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,8 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -406,7 +406,8 @@ public class InitialHandler extends PacketHandler implements PendingConnection { case 1: // Ping @@ -74,7 +74,7 @@ index 22688a045..66a347542 100644 { bungee.getLogger().log( Level.INFO, "{0} has pinged", this ); } -@@ -405,7 +406,8 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -415,7 +416,8 @@ public class InitialHandler extends PacketHandler implements PendingConnection break; case 2: // Login @@ -85,7 +85,7 @@ index 22688a045..66a347542 100644 bungee.getLogger().log( Level.INFO, "{0} has connected", this ); } 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 694ecdb01..14e3004fc 100644 +index 694ecdb0..14e3004f 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 @@ -46,7 +46,8 @@ public class HandlerBoss extends ChannelInboundHandlerAdapter @@ -136,5 +136,5 @@ index 694ecdb01..14e3004fc 100644 { if ( cause instanceof ReadTimeoutException ) -- -2.37.3.windows.1 +2.40.1.windows.1 diff --git a/Waterfall-Proxy-Patches/0026-Custom-motd-system.patch b/Waterfall-Proxy-Patches/0026-Custom-motd-system.patch index 2ecfe04..e0e9d13 100644 --- a/Waterfall-Proxy-Patches/0026-Custom-motd-system.patch +++ b/Waterfall-Proxy-Patches/0026-Custom-motd-system.patch @@ -1,11 +1,11 @@ -From 2072d8d33f059abfdb95c16158792887f3f701d3 Mon Sep 17 00:00:00 2001 +From 5d9b83db52a2a5f2431ed2b30da64e6119594011 Mon Sep 17 00:00:00 2001 From: LinsaFTW <25271111+linsaftw@users.noreply.github.com> Date: Thu, 7 Oct 2021 21:37:24 -0300 Subject: [PATCH] Custom motd system diff --git a/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/FlameCordConfiguration.java b/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/FlameCordConfiguration.java -index b563cbced..b41ee92cc 100644 +index b563cbce..b41ee92c 100644 --- a/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/FlameCordConfiguration.java +++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/FlameCordConfiguration.java @@ -2,15 +2,94 @@ package dev._2lstudios.flamecord.configuration; @@ -128,7 +128,7 @@ index b563cbced..b41ee92cc 100644 } diff --git a/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/ColorUtil.java b/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/ColorUtil.java new file mode 100644 -index 000000000..9587bccda +index 00000000..9587bccd --- /dev/null +++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/ColorUtil.java @@ -0,0 +1,48 @@ @@ -182,7 +182,7 @@ index 000000000..9587bccda +} diff --git a/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/iridiumcolorapi/IridiumColorAPI.java b/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/iridiumcolorapi/IridiumColorAPI.java new file mode 100644 -index 000000000..6c386e16f +index 00000000..6c386e16 --- /dev/null +++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/iridiumcolorapi/IridiumColorAPI.java @@ -0,0 +1,275 @@ @@ -463,7 +463,7 @@ index 000000000..6c386e16f +} diff --git a/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/iridiumcolorapi/patterns/GradientPattern.java b/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/iridiumcolorapi/patterns/GradientPattern.java new file mode 100644 -index 000000000..c1f05cd0a +index 00000000..c1f05cd0 --- /dev/null +++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/iridiumcolorapi/patterns/GradientPattern.java @@ -0,0 +1,33 @@ @@ -502,7 +502,7 @@ index 000000000..c1f05cd0a +} diff --git a/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/iridiumcolorapi/patterns/Pattern.java b/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/iridiumcolorapi/patterns/Pattern.java new file mode 100644 -index 000000000..5457ead64 +index 00000000..5457ead6 --- /dev/null +++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/iridiumcolorapi/patterns/Pattern.java @@ -0,0 +1,17 @@ @@ -525,7 +525,7 @@ index 000000000..5457ead64 +} diff --git a/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/iridiumcolorapi/patterns/RainbowPattern.java b/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/iridiumcolorapi/patterns/RainbowPattern.java new file mode 100644 -index 000000000..792e9f987 +index 00000000..792e9f98 --- /dev/null +++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/iridiumcolorapi/patterns/RainbowPattern.java @@ -0,0 +1,28 @@ @@ -559,7 +559,7 @@ index 000000000..792e9f987 +} diff --git a/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/iridiumcolorapi/patterns/SolidPattern.java b/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/iridiumcolorapi/patterns/SolidPattern.java new file mode 100644 -index 000000000..0b039c797 +index 00000000..0b039c79 --- /dev/null +++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/iridiumcolorapi/patterns/SolidPattern.java @@ -0,0 +1,29 @@ @@ -593,7 +593,7 @@ index 000000000..0b039c797 + +} 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 66a347542..58be68b02 100644 +index c2f4ede9..5396029c 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.spec.SecretKeySpec; @@ -605,7 +605,7 @@ index 66a347542..58be68b02 100644 import lombok.Getter; import lombok.RequiredArgsConstructor; import net.md_5.bungee.BungeeCord; -@@ -275,7 +277,6 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -285,7 +287,6 @@ public class InitialHandler extends PacketHandler implements PendingConnection Preconditions.checkState( thisState == State.STATUS, "Not expecting STATUS" ); ServerInfo forced = AbstractReconnectHandler.getForcedHost( this ); @@ -613,7 +613,7 @@ index 66a347542..58be68b02 100644 final int protocol = ( ProtocolConstants.SUPPORTED_VERSION_IDS.contains( handshake.getProtocolVersion() ) ) ? handshake.getProtocolVersion() : bungee.getProtocolVersion(); Callback pingBack = new Callback() -@@ -338,7 +339,56 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -348,7 +349,56 @@ public class InitialHandler extends PacketHandler implements PendingConnection ( (BungeeServerInfo) forced ).ping( pingBack, handshake.getProtocolVersion() ); } else { @@ -672,5 +672,5 @@ index 66a347542..58be68b02 100644 thisState = State.PING; -- -2.37.3.windows.1 +2.40.1.windows.1 diff --git a/Waterfall-Proxy-Patches/0028-Antibot-System.patch b/Waterfall-Proxy-Patches/0028-Antibot-System.patch index 2e7be7a..3cd125b 100644 --- a/Waterfall-Proxy-Patches/0028-Antibot-System.patch +++ b/Waterfall-Proxy-Patches/0028-Antibot-System.patch @@ -1,4 +1,4 @@ -From ced4f783a28958480837fc046cdb37c93690b855 Mon Sep 17 00:00:00 2001 +From 086231f86b1e31c3915679124c5b358dd406f2c7 Mon Sep 17 00:00:00 2001 From: LinsaFTW <25271111+linsaftw@users.noreply.github.com> Date: Fri, 4 Mar 2022 13:35:53 -0300 Subject: [PATCH] Antibot System @@ -26,7 +26,7 @@ index 20edd900..95bdf348 100644 diff --git a/flamecord/src/main/java/dev/_2lstudios/flamecord/FlameCord.java b/flamecord/src/main/java/dev/_2lstudios/flamecord/FlameCord.java -index 676ba95b..a58110b3 100644 +index 676ba95b..677b4a8e 100644 --- a/flamecord/src/main/java/dev/_2lstudios/flamecord/FlameCord.java +++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/FlameCord.java @@ -1,8 +1,16 @@ @@ -100,10 +100,10 @@ index 676ba95b..a58110b3 100644 + // Thread to run queued firewall linux commands + new Thread(() -> { + FlameCord flameCord = FlameCord.getInstance(); -+ ++ + while (!flameCord.isShuttingDown()) { + flameCord.runQueuedLinuxCommands(); -+ ++ + try { + Thread.sleep(1000); + } catch (InterruptedException e) { @@ -187,7 +187,7 @@ index 676ba95b..a58110b3 100644 \ No newline at end of file diff --git a/flamecord/src/main/java/dev/_2lstudios/flamecord/antibot/AccountsCheck.java b/flamecord/src/main/java/dev/_2lstudios/flamecord/antibot/AccountsCheck.java new file mode 100644 -index 00000000..0295ea89 +index 00000000..5cd9782a --- /dev/null +++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/antibot/AccountsCheck.java @@ -0,0 +1,48 @@ @@ -222,7 +222,7 @@ index 00000000..0295ea89 + + if (nicknames.size() > config.getAntibotAccountsLimit()) { + nicknames.remove(nickname); -+ ++ + if ( config.isAntibotAccountsLog() ) + { + logger.log( Level.INFO, "[FlameCord] [{0}] has too many accounts", remoteAddress ); @@ -1090,7 +1090,7 @@ index 00000000..68555de3 +} diff --git a/flamecord/src/main/java/dev/_2lstudios/flamecord/antibot/ProxyCheck.java b/flamecord/src/main/java/dev/_2lstudios/flamecord/antibot/ProxyCheck.java new file mode 100644 -index 00000000..6b3ee3d0 +index 00000000..3b3d4d2f --- /dev/null +++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/antibot/ProxyCheck.java @@ -0,0 +1,180 @@ @@ -1147,7 +1147,7 @@ index 00000000..6b3ee3d0 + + // set timeouts + con.setConnectTimeout (5000); -+ con.setReadTimeout (5000); ++ con.setReadTimeout (5000); + + // set the request method to GET + con.setRequestMethod("GET"); @@ -1473,7 +1473,7 @@ index 00000000..44d773ab + } +} diff --git a/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/FlameCordConfiguration.java b/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/FlameCordConfiguration.java -index 14665b1f..950a189d 100644 +index 14665b1f..241f5a0e 100644 --- a/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/FlameCordConfiguration.java +++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/FlameCordConfiguration.java @@ -15,6 +15,223 @@ import net.md_5.bungee.config.Configuration; @@ -1700,18 +1700,18 @@ index 14665b1f..950a189d 100644 // FlameCord - TCP Fast Open @Getter private int tcpFastOpen = 3; -@@ -132,6 +349,9 @@ public class FlameCordConfiguration extends FlameConfig { - this.fakePlayersMode = setIfUnexistant("custom-motd.fakeplayers.mode", this.fakePlayersMode, configuration); +@@ -133,6 +350,9 @@ public class FlameCordConfiguration extends FlameConfig { this.tcpFastOpen = setIfUnexistant("tcp-fast-open", this.tcpFastOpen, configuration); -+ + + // FlameCord - Antibot System + loadAntibot(configuration, whitelistedAddresses); - ++ save(configuration, configurationFile); } + } diff --git a/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/MessagesConfiguration.java b/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/MessagesConfiguration.java -index ae179438..276e57ac 100644 +index ae179438..820b012b 100644 --- a/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/MessagesConfiguration.java +++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/MessagesConfiguration.java @@ -80,6 +80,23 @@ public class MessagesConfiguration extends FlameConfig { @@ -1729,7 +1729,7 @@ index ae179438..276e57ac 100644 + setIfUnexistant("antibot_country", "&c&lFlameCord\n\n&cYour country {0} is blacklisted!\n\n&cError? Contact us on discord.gg/gF36AT3", configuration); + setIfUnexistant("antibot_proxy", "&c&lFlameCord\n\n&cYou are using a Proxy/VPN! ({0})\n\n&cError? Contact us on discord.gg/gF36AT3", configuration); + setIfUnexistant("antibot_stats", "&c&lFlameCord Antibot Stats\n &7■ Total Pings: &a{0}\n &7■ Total Connections: &b{1}\n\n &7■ Current Pings: &a{2}\n &7■ Current Connections: &b{3}", configuration); -+ ++ + setIfUnexistant("flamecord_firewall_help", "&c/flamecord firewall ", configuration); + setIfUnexistant("flamecord_firewall_add", "&cThe ip {0} was added to the firewall!", configuration); + setIfUnexistant("flamecord_firewall_remove", "&cThe ip {0} was removed from the firewall!", configuration); @@ -1762,7 +1762,7 @@ index 00000000..c19c4965 +} diff --git a/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/ProtocolUtil.java b/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/ProtocolUtil.java new file mode 100644 -index 00000000..7f26e7a0 +index 00000000..901ab453 --- /dev/null +++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/utils/ProtocolUtil.java @@ -0,0 +1,27 @@ @@ -1778,31 +1778,30 @@ index 00000000..7f26e7a0 + int value = 0; + int position = 0; + byte currentByte; -+ ++ + while (byteBuf.isReadable()) { + currentByte = byteBuf.readByte(); + value |= (currentByte & SEGMENT_BITS) << position; -+ ++ + if ((currentByte & CONTINUE_BIT) == 0) break; -+ ++ + position += 7; -+ ++ + if (position >= 32) throw new RuntimeException("VarInt is too big"); + } -+ ++ + return value; + } +} \ No newline at end of file diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/MinecraftDecoder.java b/protocol/src/main/java/net/md_5/bungee/protocol/MinecraftDecoder.java -index 6316143f..aa538f74 100644 +index 6316143f..f2c8c58b 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/MinecraftDecoder.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/MinecraftDecoder.java -@@ -51,12 +51,38 @@ public class MinecraftDecoder extends MessageToMessageDecoder - throw new FastDecoderException("Error decoding packet with too big capacity: " + capacity); +@@ -52,11 +52,37 @@ public class MinecraftDecoder extends MessageToMessageDecoder } } -+ + + // FlameCord start - Antibot Packet Check + if (prot == protocol.TO_SERVER) { + dev._2lstudios.flamecord.antibot.PacketsCheck packetsCheck = FlameCord.getInstance().getCheckManager().getPacketsCheck(); @@ -1825,7 +1824,7 @@ index 6316143f..aa538f74 100644 + } + } + // FlameCord end - Antibot Packet Check - ++ ByteBuf slice = in.duplicate(); // FlameCord - Duplicate buf instead of Copy Object packetTypeInfo = null; @@ -1868,7 +1867,7 @@ index 3a802ca4..c23e6856 100644 @Override diff --git a/proxy/src/main/java/dev/_2lstudios/flamecord/commands/FlameCordCommand.java b/proxy/src/main/java/dev/_2lstudios/flamecord/commands/FlameCordCommand.java -index fb81adee..173b47f3 100644 +index fb81adee..56bc46eb 100644 --- a/proxy/src/main/java/dev/_2lstudios/flamecord/commands/FlameCordCommand.java +++ b/proxy/src/main/java/dev/_2lstudios/flamecord/commands/FlameCordCommand.java @@ -4,6 +4,7 @@ import java.util.Collection; @@ -1900,14 +1899,14 @@ index fb81adee..173b47f3 100644 + int totalConnections = statsData.getTotalConnections(); + int lastPings = statsData.getLastPings(); + int lastConnections = statsData.getLastConnections(); -+ ++ + sender.sendMessage(TextComponent.fromLegacyText(messagesConfiguration.getTranslation("antibot_stats", totalPings, totalConnections, lastPings, lastConnections))); + break; + } + case "firewall": { + if (args.length > 2) { + String ip = args[2]; -+ ++ + switch (args[1]) { + case "add": { + FlameCord.getInstance().getAddressDataManager().getAddressData(ip).firewall("Blacklisted by command"); @@ -1938,7 +1937,7 @@ index fb81adee..173b47f3 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 ca093303..2d0ebc0f 100644 +index d4e3ec6f..0d3bed74 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java @@ -533,6 +533,11 @@ public class BungeeCord extends ProxyServer @@ -1954,7 +1953,7 @@ index ca093303..2d0ebc0f 100644 // Need to close loggers after last message! org.apache.logging.log4j.LogManager.shutdown(); // Waterfall 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 d65884ae..04744574 100644 +index 5396029c..443e2718 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 @@ -22,8 +22,8 @@ import javax.crypto.SecretKey; @@ -1968,11 +1967,11 @@ index d65884ae..04744574 100644 import dev._2lstudios.flamecord.configuration.FlameCordConfiguration; import lombok.Getter; import lombok.RequiredArgsConstructor; -@@ -412,6 +412,22 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -422,6 +422,22 @@ public class InitialHandler extends PacketHandler implements PendingConnection public void handle(Handshake handshake) throws Exception { Preconditions.checkState( thisState == State.HANDSHAKE, "Not expecting HANDSHAKE" ); -+ ++ + // FlameCord start - Antibot System + // Close and firewall on invalid protocol + int protocol = handshake.getRequestedProtocol(); @@ -1991,7 +1990,7 @@ index d65884ae..04744574 100644 this.handshake = handshake; ch.setVersion( handshake.getProtocolVersion() ); ch.getHandle().pipeline().remove( PipelineUtils.LEGACY_KICKER ); -@@ -436,6 +452,48 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -446,6 +462,48 @@ public class InitialHandler extends PacketHandler implements PendingConnection this.virtualHost = InetSocketAddress.createUnresolved( handshake.getHost(), handshake.getPort() ); @@ -2012,7 +2011,7 @@ index d65884ae..04744574 100644 + disconnect( bungee.getTranslation( "antibot_ratelimit", addressData.getConnectionsSecond() ) ); + return; + } -+ ++ + if ( checkManager.getProxyCheck().check( remoteAddress ) ) + { + disconnect( bungee.getTranslation( "antibot_proxy" ) ); @@ -2024,7 +2023,7 @@ index d65884ae..04744574 100644 + disconnect( bungee.getTranslation( "antibot_reconnect", Math.max(0, FlameCord.getInstance().getFlameCordConfiguration().getAntibotReconnectAttempts() - addressData.getTotalConnections() ), Math.max(0, FlameCord.getInstance().getFlameCordConfiguration().getAntibotReconnectPings() - addressData.getTotalPings() ) ) ); + return; + } -+ ++ + if ( checkManager.getCountryCheck().check( remoteAddress ) ) + { + disconnect( bungee.getTranslation( "antibot_country", addressData.getCountry() ) ); @@ -2040,7 +2039,7 @@ index d65884ae..04744574 100644 // FlameCord - Make PlayerHandshakeEvent cancellable if (bungee.getPluginManager().callEvent(new PlayerHandshakeEvent(InitialHandler.this, handshake)).isCancelled()) { ch.close(); -@@ -453,6 +511,17 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -463,6 +521,17 @@ public class InitialHandler extends PacketHandler implements PendingConnection } thisState = State.STATUS; ch.setProtocol( Protocol.STATUS ); @@ -2058,7 +2057,7 @@ index d65884ae..04744574 100644 break; case 2: // Login -@@ -461,6 +530,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -471,6 +540,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection { bungee.getLogger().log( Level.INFO, "{0} has connected", this ); } @@ -2066,7 +2065,7 @@ index d65884ae..04744574 100644 thisState = State.USERNAME; ch.setProtocol( Protocol.LOGIN ); -@@ -527,6 +597,26 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -537,6 +607,26 @@ public class InitialHandler extends PacketHandler implements PendingConnection return; } @@ -2094,7 +2093,7 @@ index d65884ae..04744574 100644 // We can just check by UUID here as names are based on UUID if ( !isOnlineMode() && bungee.getPlayer( getUniqueId() ) != null ) 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 66332af4..c16e28c8 100644 +index 86c469ee..a472535a 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 @@ -4,11 +4,15 @@ import com.google.common.base.Preconditions; @@ -2113,20 +2112,21 @@ index 66332af4..c16e28c8 100644 import net.md_5.bungee.BungeeCord; import net.md_5.bungee.ServerConnection.KeepAliveData; import net.md_5.bungee.UserConnection; -@@ -207,6 +211,22 @@ public class UpstreamBridge extends PacketHandler +@@ -210,6 +214,23 @@ public class UpstreamBridge extends PacketHandler + throw CancelSendSignal.INSTANCE; } - Preconditions.checkArgument(!empty, "Chat message is empty"); + // FlameCord start - Antibot System -+ final CheckManager checkManager = FlameCord.getInstance().getCheckManager(); ++ CheckManager checkManager = FlameCord.getInstance().getCheckManager(); ++ java.net.SocketAddress socketAddress = con.getCh().getRemoteAddress(); + -+ if ( checkManager.getFastChatCheck().check( con.getCh().getRemoteAddress() ) ) ++ if ( checkManager.getFastChatCheck().check( socketAddress ) ) + { + con.disconnect( bungee.getTranslation( "antibot_fastchat" ) ); + throw CancelSendSignal.INSTANCE; + } + -+ if ( checkManager.getPasswordCheck().check( con.getCh().getRemoteAddress(), message ) ) ++ if ( checkManager.getPasswordCheck().check( socketAddress, message ) ) + { + con.disconnect( bungee.getTranslation( "antibot_password", checkManager.getPasswordCheck().getRepeatCount() ) ); + throw CancelSendSignal.INSTANCE; @@ -2234,5 +2234,5 @@ index 1a5a0e08..9266ba8f 100644 { ch.close(); -- -2.37.3.windows.1 +2.40.1.windows.1 diff --git a/Waterfall-Proxy-Patches/0029-Allow-Invalid-Names.patch b/Waterfall-Proxy-Patches/0029-Allow-Invalid-Names.patch index 79b4621..ce35ab2 100644 --- a/Waterfall-Proxy-Patches/0029-Allow-Invalid-Names.patch +++ b/Waterfall-Proxy-Patches/0029-Allow-Invalid-Names.patch @@ -1,11 +1,11 @@ -From aaeb99f3105cfd5d5ee8721fa1a57e4eb3c72066 Mon Sep 17 00:00:00 2001 +From 4bf82b588cad66b7da4c19dc47c367e6ebe8118c Mon Sep 17 00:00:00 2001 From: LinsaFTW <25271111+linsaftw@users.noreply.github.com> Date: Fri, 4 Mar 2022 14:09:35 -0300 Subject: [PATCH] Allow Invalid Names diff --git a/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/FlameCordConfiguration.java b/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/FlameCordConfiguration.java -index 950a189d..ad7f8c8e 100644 +index 241f5a0e..59b2d94f 100644 --- a/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/FlameCordConfiguration.java +++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/FlameCordConfiguration.java @@ -15,6 +15,10 @@ import net.md_5.bungee.config.Configuration; @@ -30,10 +30,10 @@ index 950a189d..ad7f8c8e 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 04744574..9ad5f520 100644 +index 443e2718..6f336346 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 -@@ -556,7 +556,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -566,7 +566,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection { Preconditions.checkState( thisState == State.USERNAME, "Not expecting USERNAME" ); @@ -43,5 +43,5 @@ index 04744574..9ad5f520 100644 disconnect( bungee.getTranslation( "name_invalid" ) ); return; -- -2.37.3.windows.1 +2.40.1.windows.1 diff --git a/Waterfall-Proxy-Patches/0035-Dont-Process-Links-For-Kick-Messages.patch b/Waterfall-Proxy-Patches/0035-Dont-Process-Links-For-Kick-Messages.patch index 1f74e30..f9d0d2a 100644 --- a/Waterfall-Proxy-Patches/0035-Dont-Process-Links-For-Kick-Messages.patch +++ b/Waterfall-Proxy-Patches/0035-Dont-Process-Links-For-Kick-Messages.patch @@ -1,11 +1,11 @@ -From e74e3f56e2fdf688c56eab9f29ee8878a021d118 Mon Sep 17 00:00:00 2001 +From 848eb1a30908c8d8b77197994412cfc01a3fd5db Mon Sep 17 00:00:00 2001 From: LinsaFTW <25271111+linsaftw@users.noreply.github.com> Date: Tue, 10 Jan 2023 16:37:13 -0300 Subject: [PATCH] Dont Process Links For Kick Messages diff --git a/chat/src/main/java/net/md_5/bungee/api/chat/TextComponent.java b/chat/src/main/java/net/md_5/bungee/api/chat/TextComponent.java -index 4371374a9..2bb27e670 100644 +index 4371374a..2bb27e67 100644 --- a/chat/src/main/java/net/md_5/bungee/api/chat/TextComponent.java +++ b/chat/src/main/java/net/md_5/bungee/api/chat/TextComponent.java @@ -160,6 +160,107 @@ public final class TextComponent extends BaseComponent @@ -117,10 +117,10 @@ index 4371374a9..2bb27e670 100644 * The text of the component that will be displayed to the client */ 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 9ad5f5205..d237a711d 100644 +index 6f336346..a72b7520 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 -@@ -849,7 +849,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -859,7 +859,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection { if ( canSendKickMessage() ) { @@ -130,5 +130,5 @@ index 9ad5f5205..d237a711d 100644 { ch.close(); -- -2.37.3.windows.1 +2.40.1.windows.1 diff --git a/Waterfall-Proxy-Patches/0036-Bungee-Plugins-Command.patch b/Waterfall-Proxy-Patches/0036-Bungee-Plugins-Command.patch index 54048b5..1c7b3c0 100644 --- a/Waterfall-Proxy-Patches/0036-Bungee-Plugins-Command.patch +++ b/Waterfall-Proxy-Patches/0036-Bungee-Plugins-Command.patch @@ -1,11 +1,11 @@ -From 0923414d9063d29b476aaba8c1d2dc0c32f7d518 Mon Sep 17 00:00:00 2001 +From bff382375e15745ed1976d87ea88ed220a5826a8 Mon Sep 17 00:00:00 2001 From: LinsaFTW <25271111+linsaftw@users.noreply.github.com> Date: Wed, 11 Jan 2023 10:14:12 -0300 Subject: [PATCH] Bungee Plugins Command diff --git a/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/MessagesConfiguration.java b/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/MessagesConfiguration.java -index 35277c4c..e385aaab 100644 +index 820b012b..9269a6ec 100644 --- a/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/MessagesConfiguration.java +++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/MessagesConfiguration.java @@ -97,6 +97,11 @@ public class MessagesConfiguration extends FlameConfig { @@ -72,7 +72,7 @@ index 00000000..2e20e9dc + } +} 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 23d89781..e03c7877 100644 +index 0d3bed74..ee1fc481 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java @@ -11,6 +11,7 @@ import com.google.gson.Gson; @@ -83,7 +83,7 @@ index 23d89781..e03c7877 100644 import dev._2lstudios.flamecord.commands.FlameCordCommand; import dev._2lstudios.flamecord.configuration.ModulesConfiguration; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -@@ -912,5 +913,8 @@ public class BungeeCord extends ProxyServer +@@ -916,5 +917,8 @@ public class BungeeCord extends ProxyServer // Flamecord Command pluginManager.registerCommand(null, new FlameCordCommand(this)); @@ -93,5 +93,5 @@ index 23d89781..e03c7877 100644 } } -- -2.37.3.windows.1 +2.40.1.windows.1 diff --git a/Waterfall-Proxy-Patches/0037-Bungee-IP-Command.patch b/Waterfall-Proxy-Patches/0037-Bungee-IP-Command.patch index 62148df..0bb6bf3 100644 --- a/Waterfall-Proxy-Patches/0037-Bungee-IP-Command.patch +++ b/Waterfall-Proxy-Patches/0037-Bungee-IP-Command.patch @@ -1,11 +1,11 @@ -From 15952aaaac9f80d0bf3f1d7adbd42e947572d78f Mon Sep 17 00:00:00 2001 +From 16dfe71d77ddbc0e57a8319efc208f930dedbb94 Mon Sep 17 00:00:00 2001 From: LinsaFTW <25271111+linsaftw@users.noreply.github.com> Date: Sun, 15 Jan 2023 10:12:45 -0300 Subject: [PATCH] Bungee IP Command diff --git a/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/MessagesConfiguration.java b/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/MessagesConfiguration.java -index e385aaab..4d9ed0c7 100644 +index 9269a6ec..bb5f1f1f 100644 --- a/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/MessagesConfiguration.java +++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/MessagesConfiguration.java @@ -102,6 +102,12 @@ public class MessagesConfiguration extends FlameConfig { @@ -73,7 +73,7 @@ index 00000000..85313491 + } +} 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 e03c7877..63ba56f4 100644 +index ee1fc481..0fd585e2 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java @@ -11,6 +11,7 @@ import com.google.gson.Gson; @@ -84,7 +84,7 @@ index e03c7877..63ba56f4 100644 import dev._2lstudios.flamecord.commands.BungeePluginsCommand; import dev._2lstudios.flamecord.commands.FlameCordCommand; import dev._2lstudios.flamecord.configuration.ModulesConfiguration; -@@ -916,5 +917,8 @@ public class BungeeCord extends ProxyServer +@@ -920,5 +921,8 @@ public class BungeeCord extends ProxyServer // FlameCord - Bungee Plugins Command pluginManager.registerCommand(null, new BungeePluginsCommand()); @@ -94,5 +94,5 @@ index e03c7877..63ba56f4 100644 } } -- -2.37.3.windows.1 +2.40.1.windows.1 diff --git a/Waterfall-Proxy-Patches/0039-InitialHandler-Processing-State.patch b/Waterfall-Proxy-Patches/0039-InitialHandler-Processing-State.patch index 976eae8..a78aa08 100644 --- a/Waterfall-Proxy-Patches/0039-InitialHandler-Processing-State.patch +++ b/Waterfall-Proxy-Patches/0039-InitialHandler-Processing-State.patch @@ -1,11 +1,11 @@ -From e6eb41f0e91bc6eb3b8f894530a0481dd8c2d7aa Mon Sep 17 00:00:00 2001 +From 5e278d2226c7e96c8ba384af1b3627108f97fa9c Mon Sep 17 00:00:00 2001 From: LinsaFTW <25271111+linsaftw@users.noreply.github.com> Date: Sun, 22 Jan 2023 09:41:36 -0300 Subject: [PATCH] InitialHandler Processing State 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 d237a711d..bb397a22c 100644 +index a72b7520..a4860814 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 @@ -135,6 +135,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection @@ -19,7 +19,7 @@ index d237a711d..bb397a22c 100644 private boolean canSendKickMessage() { return thisState == State.USERNAME || thisState == State.ENCRYPT || thisState == State.FINISHING; -@@ -275,6 +279,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -285,6 +289,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection public void handle(StatusRequest statusRequest) throws Exception { Preconditions.checkState( thisState == State.STATUS, "Not expecting STATUS" ); @@ -30,7 +30,7 @@ index d237a711d..bb397a22c 100644 ServerInfo forced = AbstractReconnectHandler.getForcedHost( this ); final int protocol = ( ProtocolConstants.SUPPORTED_VERSION_IDS.contains( handshake.getProtocolVersion() ) ) ? handshake.getProtocolVersion() : bungee.getProtocolVersion(); -@@ -392,6 +400,9 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -402,6 +410,9 @@ public class InitialHandler extends PacketHandler implements PendingConnection } thisState = State.PING; @@ -40,7 +40,7 @@ index d237a711d..bb397a22c 100644 } private static final boolean ACCEPT_INVALID_PACKETS = Boolean.parseBoolean(System.getProperty("waterfall.acceptInvalidPackets", "false")); -@@ -401,6 +412,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -411,6 +422,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection { // FlameCord - Never accept invalid packets Preconditions.checkState( thisState == State.PING, "Not expecting PING" ); @@ -51,20 +51,18 @@ index d237a711d..bb397a22c 100644 unsafe.sendPacket( ping ); -@@ -412,7 +427,11 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -422,6 +437,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection public void handle(Handshake handshake) throws Exception { Preconditions.checkState( thisState == State.HANDSHAKE, "Not expecting HANDSHAKE" ); -- + // FlameCord start - InitialHandler Processing State + Preconditions.checkState( !processing, "Cannot request HANDSHAKE while processing another packet"); + this.processing = true; + // FlameCord end - InitialHandler Processing State -+ + // FlameCord start - Antibot System // Close and firewall on invalid protocol - int protocol = handshake.getRequestedProtocol(); -@@ -521,6 +540,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -531,6 +550,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection return; } // FlameCord end - Antibot System @@ -75,7 +73,7 @@ index d237a711d..bb397a22c 100644 break; case 2: -@@ -545,6 +568,11 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -555,6 +578,11 @@ public class InitialHandler extends PacketHandler implements PendingConnection } return; } @@ -87,7 +85,7 @@ index d237a711d..bb397a22c 100644 break; default: throw new QuietException( "Cannot request protocol " + handshake.getRequestedProtocol() ); -@@ -555,6 +583,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -565,6 +593,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection public void handle(LoginRequest loginRequest) throws Exception { Preconditions.checkState( thisState == State.USERNAME, "Not expecting USERNAME" ); @@ -98,7 +96,7 @@ index d237a711d..bb397a22c 100644 if ( !FlameCord.getInstance().getFlameCordConfiguration().isAllowInvalidNames() && !AllowedCharacters.isValidName( loginRequest.getData(), onlineMode ) ) { -@@ -650,6 +682,9 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -660,6 +692,9 @@ public class InitialHandler extends PacketHandler implements PendingConnection thisState = State.FINISHING; finish(); } @@ -108,7 +106,7 @@ index d237a711d..bb397a22c 100644 } }; -@@ -663,6 +698,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection +@@ -673,6 +708,10 @@ 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" ); thisState = State.FINISHING; // Waterfall - move earlier - There is no verification of this later (and this is not API) @@ -120,5 +118,5 @@ index d237a711d..bb397a22c 100644 SecretKey sharedKey = EncryptionUtil.getSecret( encryptResponse, request ); // Waterfall start -- -2.37.3.windows.1 +2.40.1.windows.1