Improvements to processing state

This commit is contained in:
LinsaFTW 2023-01-22 10:08:57 -03:00
parent 6d15d6dc3b
commit 33805e43fe
13 changed files with 227 additions and 131 deletions

View File

@ -1,4 +1,4 @@
From 52f2f75fe7a9da5fef08f526301f33acfdd996ab Mon Sep 17 00:00:00 2001
From ebaf26bfedd5d3b94dd0a5d68a6b49653fd6265d 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
@ -1651,7 +1651,7 @@ index c9f1acac..44e28adc 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 97928f32..e0546840 100644
index 11496f05..58afe04f 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,7 +22,8 @@ import javax.crypto.SecretKey;
@ -1664,7 +1664,30 @@ index 97928f32..e0546840 100644
import dev._2lstudios.flamecord.configuration.FlameConfig;
import dev._2lstudios.flamecord.configuration.FlameCordConfiguration;
import lombok.Getter;
@@ -442,6 +443,11 @@ public class InitialHandler extends PacketHandler implements PendingConnection
@@ -409,6 +410,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();
+
+ if (protocol != 1 && protocol != 2) {
+ if ( FlameCord.getInstance().getFlameCordConfiguration().isAntibotRatelimitFirewall() )
+ {
+ FlameCord.getInstance().getAddressDataManager().getAddressData(ch.getChannel().remoteAddress()).firewall("Invalid handshake protocol");
+ }
+
+ ch.close();
+ return;
+ }
+ // FlameCord end - Antibot System
+
this.handshake = handshake;
ch.setVersion( handshake.getProtocolVersion() );
ch.getHandle().pipeline().remove( PipelineUtils.LEGACY_KICKER );
@@ -439,6 +456,11 @@ public class InitialHandler extends PacketHandler implements PendingConnection
return;
}
@ -1676,7 +1699,7 @@ index 97928f32..e0546840 100644
switch ( handshake.getRequestedProtocol() )
{
case 1:
@@ -453,6 +459,22 @@ public class InitialHandler extends PacketHandler implements PendingConnection
@@ -450,6 +472,27 @@ public class InitialHandler extends PacketHandler implements PendingConnection
}
thisState = State.STATUS;
ch.setProtocol( Protocol.STATUS );
@ -1691,6 +1714,11 @@ index 97928f32..e0546840 100644
+ FlameCord.getInstance().getLoggerWrapper().log( Level.INFO, "[FlameCord] [{0}] is pinging too fast", ch.getRemoteAddress() );
+ }
+
+ if ( FlameCord.getInstance().getFlameCordConfiguration().isAntibotRatelimitFirewall() )
+ {
+ FlameCord.getInstance().getAddressDataManager().getAddressData(ch.getChannel().remoteAddress()).firewall("Too many pings");
+ }
+
+ disconnect( bungee.getTranslation( "antibot_ratelimit", addressData.getPingsSecond() ) );
+ return;
+ }
@ -1699,7 +1727,7 @@ index 97928f32..e0546840 100644
break;
case 2:
// Login
@@ -464,6 +486,21 @@ public class InitialHandler extends PacketHandler implements PendingConnection
@@ -461,6 +504,26 @@ public class InitialHandler extends PacketHandler implements PendingConnection
thisState = State.USERNAME;
ch.setProtocol( Protocol.LOGIN );
@ -1713,6 +1741,11 @@ index 97928f32..e0546840 100644
+ FlameCord.getInstance().getLoggerWrapper().log( Level.INFO, "[FlameCord] [{0}] is connecting too fast", ch.getRemoteAddress() );
+ }
+
+ if ( FlameCord.getInstance().getFlameCordConfiguration().isAntibotRatelimitFirewall() )
+ {
+ FlameCord.getInstance().getAddressDataManager().getAddressData(ch.getChannel().remoteAddress()).firewall("Too many connections");
+ }
+
+ disconnect( bungee.getTranslation( "antibot_ratelimit", addressData.getConnectionsSecond() ) );
+ return;
+ }
@ -1721,7 +1754,7 @@ index 97928f32..e0546840 100644
if ( !ProtocolConstants.SUPPORTED_VERSION_IDS.contains( handshake.getProtocolVersion() ) )
{
if ( handshake.getProtocolVersion() > bungee.getProtocolVersion() )
@@ -528,6 +565,58 @@ public class InitialHandler extends PacketHandler implements PendingConnection
@@ -524,6 +587,58 @@ public class InitialHandler extends PacketHandler implements PendingConnection
return;
}
@ -1866,6 +1899,22 @@ index e2911d5e..1e3608fa 100644
try
{
callback.done( null, cause );
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 b3fa4835..6f1d8336 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
@@ -154,4 +154,11 @@ public class ChannelWrapper
pipeline.remove( "decompress" );
}
}
+
+ // FlameCord start - Antibot System
+ // Make the channel accessible
+ public Channel getChannel() {
+ return ch;
+ }
+ // FlameCord end - Antibot System
}
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 14e3004f..3fce5ff1 100644
--- a/proxy/src/main/java/net/md_5/bungee/netty/HandlerBoss.java

View File

@ -1,77 +0,0 @@
From 71ecdb3b03100bce3909c27fe835458e252d8ee0 Mon Sep 17 00:00:00 2001
From: LinsaFTW <25271111+linsaftw@users.noreply.github.com>
Date: Fri, 25 Feb 2022 12:28:31 -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 11496f05..97928f32 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
@@ -132,12 +132,12 @@ public class InitialHandler extends PacketHandler implements PendingConnection
private enum State
{
- HANDSHAKE, STATUS, PING, USERNAME, ENCRYPT, FINISHING;
+ PROCESSING, PROCESSING_USERNAME, HANDSHAKE, STATUS, PING, USERNAME, ENCRYPT, FINISHING;
}
private boolean canSendKickMessage()
{
- return thisState == State.USERNAME || thisState == State.ENCRYPT || thisState == State.FINISHING;
+ return thisState == State.PROCESSING_USERNAME || thisState == State.USERNAME || thisState == State.ENCRYPT || thisState == State.FINISHING;
}
@Override
@@ -275,6 +275,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection
public void handle(StatusRequest statusRequest) throws Exception
{
Preconditions.checkState( thisState == State.STATUS, "Not expecting STATUS" );
+ thisState = State.PROCESSING;
ServerInfo forced = AbstractReconnectHandler.getForcedHost( this );
final int protocol = ( ProtocolConstants.SUPPORTED_VERSION_IDS.contains( handshake.getProtocolVersion() ) ) ? handshake.getProtocolVersion() : bungee.getProtocolVersion();
@@ -398,6 +399,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection
{
// FlameCord - Never accept invalid packets
Preconditions.checkState( thisState == State.PING, "Not expecting PING" );
+ thisState = State.PROCESSING;
unsafe.sendPacket( ping );
@@ -409,6 +411,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection
public void handle(Handshake handshake) throws Exception
{
Preconditions.checkState( thisState == State.HANDSHAKE, "Not expecting HANDSHAKE" );
+ thisState = State.PROCESSING;
this.handshake = handshake;
ch.setVersion( handshake.getProtocolVersion() );
ch.getHandle().pipeline().remove( PipelineUtils.LEGACY_KICKER );
@@ -482,6 +485,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection
public void handle(LoginRequest loginRequest) throws Exception
{
Preconditions.checkState( thisState == State.USERNAME, "Not expecting USERNAME" );
+ thisState = State.PROCESSING_USERNAME;
if ( !AllowedCharacters.isValidName( loginRequest.getData(), onlineMode ) )
{
@@ -817,14 +821,14 @@ public class InitialHandler extends PacketHandler implements PendingConnection
@Override
public void setOnlineMode(boolean onlineMode)
{
- Preconditions.checkState( thisState == State.USERNAME, "Can only set online mode status whilst state is username" );
+ Preconditions.checkState( thisState == State.USERNAME || thisState == State.PROCESSING_USERNAME, "Can only set online mode status whilst state is username" );
this.onlineMode = onlineMode;
}
@Override
public void setUniqueId(UUID uuid)
{
- Preconditions.checkState( thisState == State.USERNAME, "Can only set uuid while state is username" );
+ Preconditions.checkState( thisState == State.USERNAME || thisState == State.PROCESSING_USERNAME, "Can only set uuid while state is username" );
// FlameCord - Allow custom uuids even if onlineMode is true
this.uniqueId = uuid;
}
--
2.37.3.windows.1

View File

@ -1,4 +1,4 @@
From 54cee231a4b229c684159e1d3ad28e00ae8a0468 Mon Sep 17 00:00:00 2001
From 2e875b7b56563eca73b62d90ac4b008d5ef894d4 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
@ -30,12 +30,12 @@ index 53cd4386..378372ec 100644
loadAntibot(configuration, whitelistedAddresses);
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 e0546840..c4d962f3 100644
index 58afe04f..86bbe3f4 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
@@ -524,7 +524,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection
@@ -546,7 +546,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection
{
Preconditions.checkState( thisState == State.USERNAME, "Not expecting USERNAME" );
thisState = State.PROCESSING_USERNAME;
- if ( !AllowedCharacters.isValidName( loginRequest.getData(), onlineMode ) )
+ if ( !FlameCord.getInstance().getFlameCordConfiguration().isAllowInvalidNames() && !AllowedCharacters.isValidName( loginRequest.getData(), onlineMode ) )

View File

@ -1,11 +1,11 @@
From f293b6e489e70340e1f7fd46146bfa75e468a2d1 Mon Sep 17 00:00:00 2001
From ac8c95238cb74349f3a464b0c5545122d1537878 Mon Sep 17 00:00:00 2001
From: LinsaFTW <25271111+linsaftw@users.noreply.github.com>
Date: Thu, 10 Mar 2022 20:23:55 -0300
Subject: [PATCH] Disable entity Metadata Rewrite
diff --git a/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java b/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java
index 469fe0e12..97bd384b2 100644
index 469fe0e1..97bd384b 100644
--- a/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java
+++ b/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java
@@ -251,11 +251,6 @@ public interface ProxyConfig
@ -21,7 +21,7 @@ index 469fe0e12..97bd384b2 100644
* Whether tablist rewriting should be disabled or not
* @return {@code true} if tablist rewriting is disabled, {@code false} otherwise
diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/AbstractPacketHandler.java b/protocol/src/main/java/net/md_5/bungee/protocol/AbstractPacketHandler.java
index 0c334afcf..88865b851 100644
index 0c334afc..88865b85 100644
--- a/protocol/src/main/java/net/md_5/bungee/protocol/AbstractPacketHandler.java
+++ b/protocol/src/main/java/net/md_5/bungee/protocol/AbstractPacketHandler.java
@@ -10,8 +10,6 @@ import net.md_5.bungee.protocol.packet.ClientStatus;
@ -49,7 +49,7 @@ index 0c334afcf..88865b851 100644
- // Waterfall end
}
diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java b/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java
index 022f94b2d..970011e8f 100644
index 022f94b2..970011e8 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
@@ -22,8 +22,6 @@ import net.md_5.bungee.protocol.packet.EncryptionRequest;
@ -84,7 +84,7 @@ index 022f94b2d..970011e8f 100644
PlayerListItem::new,
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
deleted file mode 100644
index 0ed78a8c4..000000000
index 0ed78a8c..00000000
--- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/EntityEffect.java
+++ /dev/null
@@ -1,67 +0,0 @@
@ -157,7 +157,7 @@ index 0ed78a8c4..000000000
-}
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
deleted file mode 100644
index 435b85789..000000000
index 435b8578..00000000
--- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/EntityRemoveEffect.java
+++ /dev/null
@@ -1,45 +0,0 @@
@ -207,7 +207,7 @@ index 435b85789..000000000
- }
-}
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 966d2442b..be337a680 100644
index 966d2442..be337a68 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
@@ -42,7 +42,6 @@ public class WaterfallConfiguration extends Configuration {
@ -239,7 +239,7 @@ index 966d2442b..be337a680 100644
public boolean isDisableTabListRewrite() {
return disableTabListRewrite;
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 3a07c7c8a..f51c668d7 100644
index 3a07c7c8..f51c668d 100644
--- a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java
+++ b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java
@@ -245,11 +245,6 @@ public class ServerConnector extends PacketHandler
@ -324,7 +324,7 @@ index 3a07c7c8a..f51c668d7 100644
// Waterfall end
user.unsafe().sendPacket( new Respawn( login.getDimension(), login.getWorldName(), login.getSeed(), login.getDifficulty(), login.getGameMode(), login.getPreviousGameMode(), login.getLevelType(), login.isDebug(), login.isFlat(), false, login.getDeathLocation() ) );
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 909227970..f3d60253f 100644
index 90922797..f3d60253 100644
--- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java
+++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java
@@ -44,7 +44,6 @@ import net.md_5.bungee.api.event.ServerConnectEvent;
@ -365,7 +365,7 @@ index 909227970..f3d60253f 100644
- // Waterfall end
}
diff --git a/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java b/proxy/src/main/java/net/md_5/bungee/connection/DownstreamBridge.java
index 0ac22ad38..6e425764b 100644
index 0ac22ad3..6e425764 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
@@ -46,7 +46,6 @@ import net.md_5.bungee.api.score.Score;
@ -433,7 +433,7 @@ index 0ac22ad38..6e425764b 100644
public void handle(Respawn respawn)
{
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 667364aea..10e46779f 100644
index 667364ae..10e46779 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
@@ -25,7 +25,6 @@ import net.md_5.bungee.api.event.PlayerDisconnectEvent;
@ -458,7 +458,7 @@ index 667364aea..10e46779f 100644
}
diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap.java
deleted file mode 100644
index 688ff72d2..000000000
index 688ff72d..00000000
--- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap.java
+++ /dev/null
@@ -1,372 +0,0 @@
@ -836,7 +836,7 @@ index 688ff72d2..000000000
-}
diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_10.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_10.java
deleted file mode 100644
index 6db530c3a..000000000
index 6db530c3..00000000
--- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_10.java
+++ /dev/null
@@ -1,182 +0,0 @@
@ -1024,7 +1024,7 @@ index 6db530c3a..000000000
-}
diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_11.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_11.java
deleted file mode 100644
index 368221275..000000000
index 36822127..00000000
--- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_11.java
+++ /dev/null
@@ -1,183 +0,0 @@
@ -1213,7 +1213,7 @@ index 368221275..000000000
-}
diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_12.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_12.java
deleted file mode 100644
index 38e12ce40..000000000
index 38e12ce4..00000000
--- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_12.java
+++ /dev/null
@@ -1,183 +0,0 @@
@ -1402,7 +1402,7 @@ index 38e12ce40..000000000
-}
diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_12_1.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_12_1.java
deleted file mode 100644
index 5f2968394..000000000
index 5f296839..00000000
--- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_12_1.java
+++ /dev/null
@@ -1,183 +0,0 @@
@ -1591,7 +1591,7 @@ index 5f2968394..000000000
-}
diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_13.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_13.java
deleted file mode 100644
index f3372f088..000000000
index f3372f08..00000000
--- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_13.java
+++ /dev/null
@@ -1,183 +0,0 @@
@ -1780,7 +1780,7 @@ index f3372f088..000000000
-}
diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_14.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_14.java
deleted file mode 100644
index 8210b0a7e..000000000
index 8210b0a7..00000000
--- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_14.java
+++ /dev/null
@@ -1,187 +0,0 @@
@ -1973,7 +1973,7 @@ index 8210b0a7e..000000000
-}
diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_15.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_15.java
deleted file mode 100644
index c2cf810f3..000000000
index c2cf810f..00000000
--- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_15.java
+++ /dev/null
@@ -1,187 +0,0 @@
@ -2166,7 +2166,7 @@ index c2cf810f3..000000000
-}
diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_16.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_16.java
deleted file mode 100644
index c8b067071..000000000
index c8b06707..00000000
--- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_16.java
+++ /dev/null
@@ -1,187 +0,0 @@
@ -2359,7 +2359,7 @@ index c8b067071..000000000
-}
diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_16_2.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_16_2.java
deleted file mode 100644
index 7241dc56b..000000000
index 7241dc56..00000000
--- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_16_2.java
+++ /dev/null
@@ -1,76 +0,0 @@
@ -2441,7 +2441,7 @@ index 7241dc56b..000000000
-}
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
deleted file mode 100644
index cdc07dc45..000000000
index cdc07dc4..00000000
--- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_7_2.java
+++ /dev/null
@@ -1,102 +0,0 @@
@ -2550,7 +2550,7 @@ index cdc07dc45..000000000
\ 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
deleted file mode 100644
index cb9174b35..000000000
index cb9174b3..00000000
--- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_7_6.java
+++ /dev/null
@@ -1,62 +0,0 @@
@ -2619,7 +2619,7 @@ index cb9174b35..000000000
\ No newline at end of file
diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_8.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_8.java
deleted file mode 100644
index 8e2dbe699..000000000
index 8e2dbe69..00000000
--- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_8.java
+++ /dev/null
@@ -1,176 +0,0 @@
@ -2801,7 +2801,7 @@ index 8e2dbe699..000000000
-}
diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_9.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_9.java
deleted file mode 100644
index d61dc0cba..000000000
index d61dc0cb..00000000
--- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_9.java
+++ /dev/null
@@ -1,182 +0,0 @@
@ -2989,7 +2989,7 @@ index d61dc0cba..000000000
-}
diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_9_4.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_9_4.java
deleted file mode 100644
index bfbc84327..000000000
index bfbc8432..00000000
--- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_1_9_4.java
+++ /dev/null
@@ -1,182 +0,0 @@
@ -3177,7 +3177,7 @@ index bfbc84327..000000000
-}
diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_Dummy.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_Dummy.java
deleted file mode 100644
index cb81d1dd8..000000000
index cb81d1dd..00000000
--- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap_Dummy.java
+++ /dev/null
@@ -1,30 +0,0 @@
@ -3213,7 +3213,7 @@ index cb81d1dd8..000000000
-// Waterfall end
\ 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 caed43849..af4280904 100644
index caed4384..af428090 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
@@ -11,7 +11,6 @@ import lombok.Setter;

View File

@ -1,11 +1,11 @@
From b35a4719080e02355b7e5651ac302d38ba093f19 Mon Sep 17 00:00:00 2001
From c3a0de08b9d4d728fe488f5d3b83e19e2766f6ae Mon Sep 17 00:00:00 2001
From: xIsm4 <minelatinsoporte@gmail.com>
Date: Thu, 4 Aug 2022 23:27:43 +0200
Subject: [PATCH] Dont frame unreadable connections
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 a1af4e09e..c06e506a6 100644
index aa538f74..99d203c7 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
@@ -33,7 +33,7 @@ public class MinecraftDecoder extends MessageToMessageDecoder<ByteBuf>

View File

@ -1,11 +1,11 @@
From b529f3bea516105b004b0f408a542309bdf6d157 Mon Sep 17 00:00:00 2001
From 8a2c6364c6c2e36eaa918195ca370382a37debee Mon Sep 17 00:00:00 2001
From: LinsaFTW <25271111+linsaftw@users.noreply.github.com>
Date: Tue, 13 Sep 2022 20:41:48 -0300
Subject: [PATCH] Avoid throwing IOOB on login
diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/LoginRequest.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/LoginRequest.java
index 763d34c2f..57e50a8b6 100644
index 763d34c2..57e50a8b 100644
--- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/LoginRequest.java
+++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/LoginRequest.java
@@ -32,7 +32,8 @@ public class LoginRequest extends DefinedPacket

View File

@ -1,4 +1,4 @@
From 8bfc6056ed2800af6d48d1a1a8c8a2c532578a7d Mon Sep 17 00:00:00 2001
From 981d25c1f3b03e1c2f10427811c7690c64c2e967 Mon Sep 17 00:00:00 2001
From: LinsaFTW <25271111+linsaftw@users.noreply.github.com>
Date: Tue, 15 Nov 2022 18:07:27 +0100
Subject: [PATCH] Only show connection fail reason when detailed logger is
@ -6,7 +6,7 @@ Subject: [PATCH] Only show connection fail reason when detailed logger is
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 f3d60253f..021fe8398 100644
index f3d60253..021fe839 100644
--- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java
+++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java
@@ -405,8 +405,10 @@ public final class UserConnection implements ProxiedPlayer

View File

@ -1,11 +1,11 @@
From 26e41d9fe50272a8da3ab5ee4b2579f445ec9780 Mon Sep 17 00:00:00 2001
From 69f3e68d5a12bcaf0423d2c18da6b51a8d38d998 Mon Sep 17 00:00:00 2001
From: LinsaFTW <25271111+linsaftw@users.noreply.github.com>
Date: Wed, 28 Dec 2022 14:23:54 -0300
Subject: [PATCH] Optimize Decoder/Encoder Getter
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 606866a52..497ca8559 100644
index 6f1d8336..b98ee6a7 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
@@ -31,26 +31,42 @@ public class ChannelWrapper

View File

@ -1,4 +1,4 @@
From 2a2888ef82e36588d5b507ff0c2bd7542fead254 Mon Sep 17 00:00:00 2001
From 683c324fe88f0888354197969cf5ae3b866ee5aa 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
@ -117,10 +117,10 @@ index 4371374a..2bb27e67 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 e7d9615b..b26015da 100644
index 86bbe3f4..f6ee8962 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
@@ -871,7 +871,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection
{
if ( canSendKickMessage() )
{

View File

@ -1,4 +1,4 @@
From 0b23f1413bc1a65fd96bdbae435039ab59b30b0d Mon Sep 17 00:00:00 2001
From 67d06f64115453c920b0a596c59301a6167a93aa 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

View File

@ -1,4 +1,4 @@
From c4d231e86a3042c7e116ab273826237619e7cadb Mon Sep 17 00:00:00 2001
From 7c646bd7d69fcef97ee37642bc4ea3269a53eff5 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

View File

@ -1,11 +1,11 @@
From 2554e3976ae6b01337b4a65785d257f91a30947d Mon Sep 17 00:00:00 2001
From f217a96188ebda80c60e8d83e1bf4795cedc6ad2 Mon Sep 17 00:00:00 2001
From: LinsaFTW <25271111+linsaftw@users.noreply.github.com>
Date: Sun, 15 Jan 2023 19:03:34 -0300
Subject: [PATCH] List Command Format
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 5af35f897..3f261ca69 100644
index 34b4a630..febf19b4 100644
--- a/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/MessagesConfiguration.java
+++ b/flamecord/src/main/java/dev/_2lstudios/flamecord/configuration/MessagesConfiguration.java
@@ -118,6 +118,9 @@ public class MessagesConfiguration extends FlameConfig {
@ -19,7 +19,7 @@ index 5af35f897..3f261ca69 100644
for (final String key : configuration.getKeys()) {
diff --git a/module/cmd-list/src/main/java/net/md_5/bungee/module/cmd/list/CommandList.java b/module/cmd-list/src/main/java/net/md_5/bungee/module/cmd/list/CommandList.java
index c22271105..0a5899319 100644
index c2227110..0a589931 100644
--- a/module/cmd-list/src/main/java/net/md_5/bungee/module/cmd/list/CommandList.java
+++ b/module/cmd-list/src/main/java/net/md_5/bungee/module/cmd/list/CommandList.java
@@ -25,6 +25,9 @@ public class CommandList extends Command

View File

@ -0,0 +1,124 @@
From dcc971086c035a9a81d1e0a1fdaa3372b7734e0c 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 f6ee8962..ea1a120b 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
@@ -136,6 +136,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection
HANDSHAKE, STATUS, PING, USERNAME, ENCRYPT, FINISHING;
}
+ // FlameCord start - InitialHandler Processing State
+ private boolean processing = false;
+ // FlameCord end - InitialHandler Processing State
+
private boolean canSendKickMessage()
{
return thisState == State.USERNAME || thisState == State.ENCRYPT || thisState == State.FINISHING;
@@ -276,6 +280,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection
public void handle(StatusRequest statusRequest) throws Exception
{
Preconditions.checkState( thisState == State.STATUS, "Not expecting STATUS" );
+ // FlameCord start - InitialHandler Processing State
+ Preconditions.checkState( !processing, "Cannot request STATUS while processing another packet");
+ this.processing = true;
+ // FlameCord end - InitialHandler Processing State
ServerInfo forced = AbstractReconnectHandler.getForcedHost( this );
final int protocol = ( ProtocolConstants.SUPPORTED_VERSION_IDS.contains( handshake.getProtocolVersion() ) ) ? handshake.getProtocolVersion() : bungee.getProtocolVersion();
@@ -390,6 +398,9 @@ public class InitialHandler extends PacketHandler implements PendingConnection
}
thisState = State.PING;
+ // FlameCord start - InitialHandler Processing State
+ processing = false;
+ // FlameCord end - InitialHandler Processing State
}
private static final boolean ACCEPT_INVALID_PACKETS = Boolean.parseBoolean(System.getProperty("waterfall.acceptInvalidPackets", "false"));
@@ -399,6 +410,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection
{
// FlameCord - Never accept invalid packets
Preconditions.checkState( thisState == State.PING, "Not expecting PING" );
+ // FlameCord start - InitialHandler Processing State
+ Preconditions.checkState( !processing, "Cannot request PING while processing another packet");
+ this.processing = true;
+ // FlameCord end - InitialHandler Processing State
unsafe.sendPacket( ping );
@@ -410,7 +425,11 @@ 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();
@@ -493,6 +512,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection
}
// FlameCord end - Antibot System
+ // FlameCord start - InitialHandler Processing State
+ processing = false;
+ // FlameCord end - InitialHandler Processing State
+
break;
case 2:
// Login
@@ -535,6 +558,11 @@ public class InitialHandler extends PacketHandler implements PendingConnection
}
return;
}
+
+ // FlameCord start - InitialHandler Processing State
+ processing = false;
+ // FlameCord end - InitialHandler Processing State
+
break;
default:
throw new QuietException( "Cannot request protocol " + handshake.getRequestedProtocol() );
@@ -545,6 +573,10 @@ public class InitialHandler extends PacketHandler implements PendingConnection
public void handle(LoginRequest loginRequest) throws Exception
{
Preconditions.checkState( thisState == State.USERNAME, "Not expecting USERNAME" );
+ // FlameCord start - InitialHandler Processing State
+ Preconditions.checkState( !processing, "Cannot request USERNAME while processing another packet");
+ this.processing = true;
+ // FlameCord end - InitialHandler Processing State
if ( !FlameCord.getInstance().getFlameCordConfiguration().isAllowInvalidNames() && !AllowedCharacters.isValidName( loginRequest.getData(), onlineMode ) )
{
@@ -672,6 +704,9 @@ public class InitialHandler extends PacketHandler implements PendingConnection
thisState = State.FINISHING;
finish();
}
+ // FlameCord start - InitialHandler Processing State
+ processing = false;
+ // FlameCord end - InitialHandler Processing State
}
};
@@ -685,6 +720,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)
+ // FlameCord start - InitialHandler Processing State
+ Preconditions.checkState( !processing, "Cannot request ENCRYPT while processing another packet");
+ this.processing = true;
+ // FlameCord end - InitialHandler Processing State
SecretKey sharedKey = EncryptionUtil.getSecret( encryptResponse, request );
// Waterfall start
--
2.37.3.windows.1