Skip to content

Commit b19e51c

Browse files
committed
Fixed infinite queue of data to fake servers
1 parent 124ebae commit b19e51c

File tree

2 files changed

+56
-2
lines changed

2 files changed

+56
-2
lines changed

Main Plugin/pom.xml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
<name>PlayerBalancer Plugin</name>
1313
<artifactId>playerbalancer-plugin</artifactId>
14-
<version>2.1.5.3</version>
14+
<version>2.1.5.4</version>
1515

1616
<build>
1717
<finalName>PlayerBalancer</finalName>
@@ -65,13 +65,17 @@
6565
<id>bstats-repo</id>
6666
<url>http://repo.bstats.org/content/repositories/releases/</url>
6767
</repository>
68+
<repository>
69+
<id>codemc-repo</id>
70+
<url>https://repo.codemc.org/repository/maven-public/</url>
71+
</repository>
6872
</repositories>
6973

7074
<dependencies>
7175
<dependency>
7276
<groupId>net.md-5</groupId>
7377
<artifactId>bungeecord-proxy</artifactId>
74-
<version>local</version>
78+
<version>LATEST</version>
7579
<scope>provided</scope>
7680
</dependency>
7781
<dependency>

Main Plugin/src/main/java/com/jaimemartz/playerbalancer/section/SectionServer.java

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,21 @@
22

33
import com.jaimemartz.playerbalancer.settings.props.features.BalancerProps;
44
import net.md_5.bungee.BungeeServerInfo;
5+
import net.md_5.bungee.api.Callback;
6+
import net.md_5.bungee.api.ProxyServer;
7+
import net.md_5.bungee.api.ServerPing;
8+
import net.md_5.bungee.api.chat.ComponentBuilder;
9+
import net.md_5.bungee.api.chat.TextComponent;
510
import net.md_5.bungee.api.config.ServerInfo;
611
import net.md_5.bungee.api.connection.ProxiedPlayer;
712

13+
import javax.xml.soap.Text;
14+
import java.awt.*;
815
import java.net.InetSocketAddress;
916
import java.util.Collection;
1017
import java.util.Collections;
18+
import java.util.Queue;
19+
import java.util.function.IntFunction;
1120
import java.util.stream.Collectors;
1221

1322
public class SectionServer extends BungeeServerInfo {
@@ -35,4 +44,45 @@ public Collection<ProxiedPlayer> getPlayers() {
3544
.collect(Collectors.toList());
3645
} else return Collections.emptyList();
3746
}
47+
48+
@Override
49+
public void sendData(String channel, byte[] data) {
50+
this.sendData(channel, data, true);
51+
}
52+
53+
@Override
54+
public boolean sendData(String channel, byte[] data, boolean queue) {
55+
//Nothing to do
56+
return true;
57+
}
58+
59+
@Override
60+
public void ping(Callback<ServerPing> callback) {
61+
this.ping(callback, ProxyServer.getInstance().getProtocolVersion());
62+
}
63+
64+
@Override
65+
public void ping(Callback<ServerPing> callback, int protocolVersion) {
66+
ServerPing ping = new ServerPing();
67+
68+
ping.setDescriptionComponent(new TextComponent(
69+
TextComponent.fromLegacyText(this.getMotd())
70+
));
71+
72+
ping.setVersion(new ServerPing.Protocol(
73+
ProxyServer.getInstance().getName(),
74+
protocolVersion
75+
));
76+
77+
Collection<ProxiedPlayer> players = getPlayers();
78+
ping.setPlayers(new ServerPing.Players(
79+
Integer.MAX_VALUE,
80+
players.size(),
81+
players.stream().map(
82+
player -> new ServerPing.PlayerInfo(player.getName(), player.getUniqueId())
83+
).toArray(ServerPing.PlayerInfo[]::new)
84+
));
85+
86+
callback.done(ping, null);
87+
}
3888
}

0 commit comments

Comments
 (0)