Skip to content

Commit a40af99

Browse files
committed
Fix player reconnection to servers after quit. Mark server as obsolete earlier to avoid unnecessary packets from backend while switching servers
1 parent e181683 commit a40af99

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

proxy/src/main/java/net/md_5/bungee/ServerConnection.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ public void disconnect(BaseComponent... reason)
8181
{
8282
Preconditions.checkArgument( reason.length == 0, "Server cannot have disconnect reason" );
8383

84+
isObsolete = true;
8485
ch.close();
8586
}
8687

proxy/src/main/java/net/md_5/bungee/ServerConnector.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,11 @@ public static void handleLogin(ProxyServer bungee, ChannelWrapper ch, UserConnec
246246
user.getForgeClientHandler().setHandshakeComplete();
247247
}
248248

249+
if ( user.getServer() != null && user.getPendingConnection().getVersion() < ProtocolConstants.MINECRAFT_1_20_2 ) //BotFilter
250+
{
251+
user.getServer().setObsolete( true ); //BotFilter
252+
}
253+
249254
if ( user.isNeedLogin() || user.getPendingConnection().getVersion() >= ProtocolConstants.MINECRAFT_1_16 ) //BotFilter
250255
{
251256
// Once again, first connection
@@ -287,10 +292,6 @@ public static void handleLogin(ProxyServer bungee, ChannelWrapper ch, UserConnec
287292
user.setDimension( login.getDimension() );
288293
} else
289294
{
290-
if ( user.getServer() != null ) //BotFilter
291-
{
292-
user.getServer().setObsolete( true ); //BotFilter
293-
}
294295
user.getTabListHandler().onServerChange();
295296

296297
Scoreboard serverScoreboard = user.getServerSentScoreboard();

0 commit comments

Comments
 (0)