diff --git a/Main Plugin/pom.xml b/Main Plugin/pom.xml
index f6de4e2..ffdf6d2 100644
--- a/Main Plugin/pom.xml
+++ b/Main Plugin/pom.xml
@@ -11,7 +11,7 @@
PlayerBalancer Plugin
playerbalancer-plugin
- 2.1.3
+ 2.1.4
PlayerBalancer
diff --git a/Main Plugin/src/main/java/com/jaimemartz/playerbalancer/commands/ManageCommand.java b/Main Plugin/src/main/java/com/jaimemartz/playerbalancer/commands/ManageCommand.java
index 5d9c8e0..ba7fecd 100644
--- a/Main Plugin/src/main/java/com/jaimemartz/playerbalancer/commands/ManageCommand.java
+++ b/Main Plugin/src/main/java/com/jaimemartz/playerbalancer/commands/ManageCommand.java
@@ -174,6 +174,7 @@ public class ManageCommand extends Command {
section.getServers().forEach(server -> {
ServerStatus status = plugin.getStatusManager().getStatus(server);
+ boolean accessible = plugin.getStatusManager().isAccessible(server);
sender.sendMessage(new ComponentBuilder("\u2022 Server: ")
.color(ChatColor.GRAY)
.append(server.getName())
@@ -182,6 +183,10 @@ public class ManageCommand extends Command {
.color(ChatColor.GRAY)
.append(status.isOnline() ? "yes" : "no")
.color(status.isOnline() ? ChatColor.GREEN : ChatColor.RED)
+ .append("\nAccessible: ")
+ .color(ChatColor.GRAY)
+ .append(accessible ? "yes" : "no")
+ .color(accessible ? ChatColor.GREEN : ChatColor.RED)
.append("\nDescription: ")
.color(ChatColor.GRAY)
.append("\"")
diff --git a/Main Plugin/src/main/java/com/jaimemartz/playerbalancer/ping/ServerStatus.java b/Main Plugin/src/main/java/com/jaimemartz/playerbalancer/ping/ServerStatus.java
index 5ee41d6..303d6eb 100644
--- a/Main Plugin/src/main/java/com/jaimemartz/playerbalancer/ping/ServerStatus.java
+++ b/Main Plugin/src/main/java/com/jaimemartz/playerbalancer/ping/ServerStatus.java
@@ -1,5 +1,6 @@
package com.jaimemartz.playerbalancer.ping;
+import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.config.ServerInfo;
public class ServerStatus {
@@ -26,7 +27,7 @@ public class ServerStatus {
* @param server the server for providing basic info about itself
*/
public ServerStatus(ServerInfo server) {
- this.description = server.getMotd();
+ this.description = revertColor(server.getMotd());
this.players = server.getPlayers().size();
this.maximum = Integer.MAX_VALUE;
this.online = true;
@@ -40,7 +41,7 @@ public class ServerStatus {
* @param maximum the maximum amount of players possible from the ping result
*/
public ServerStatus(String description, int players, int maximum) {
- this.description = description;
+ this.description = revertColor(description);
this.players = players;
this.maximum = maximum;
this.online = maximum != 0 && players < maximum;
@@ -74,4 +75,8 @@ public class ServerStatus {
public void setOutdated(boolean outdated) {
this.outdated = outdated;
}
+
+ private static String revertColor(String string) {
+ return string.replace(ChatColor.COLOR_CHAR, '&');
+ }
}
\ No newline at end of file
diff --git a/Main Plugin/src/main/java/com/jaimemartz/playerbalancer/ping/StatusManager.java b/Main Plugin/src/main/java/com/jaimemartz/playerbalancer/ping/StatusManager.java
index 98dd9ed..162c245 100644
--- a/Main Plugin/src/main/java/com/jaimemartz/playerbalancer/ping/StatusManager.java
+++ b/Main Plugin/src/main/java/com/jaimemartz/playerbalancer/ping/StatusManager.java
@@ -5,7 +5,6 @@ import com.google.common.io.ByteStreams;
import com.jaimemartz.playerbalancer.PlayerBalancer;
import com.jaimemartz.playerbalancer.section.ServerSection;
import com.jaimemartz.playerbalancer.settings.props.features.ServerCheckerProps;
-import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.config.ServerInfo;
import net.md_5.bungee.api.connection.Server;
import net.md_5.bungee.api.event.PluginMessageEvent;
@@ -77,8 +76,8 @@ public class StatusManager implements Listener {
if (props.isDebug()) {
plugin.getLogger().info(String.format(
- "Updated server %s, status: [Description: \"%s\", Players: %s, Maximum Players: %s, Accessible: %s]",
- server.getName(), ChatColor.stripColor(status.getDescription()), status.getPlayers(), status.getMaximum(), isAccessible(server)
+ "Updated server %s, status: [Description: \"%s\", Players: %s, Maximum Players: %s, Online: %s]",
+ server.getName(), status.getDescription(), status.getPlayers(), status.getMaximum(), status.isOnline()
));
}
@@ -98,18 +97,23 @@ public class StatusManager implements Listener {
}
public boolean isAccessible(ServerInfo server) {
- if (overriders.containsKey(server))
+ if (overriders.containsKey(server)) {
return overriders.get(server);
+ }
ServerStatus status = getStatus(server);
+ if (!status.isOnline()) {
+ return false;
+ }
+
for (String pattern : props.getMarkerDescs()) {
if (status.getDescription().matches(pattern)) {
return false;
}
}
- return status.isOnline();
+ return true;
}
@EventHandler
diff --git a/Main Plugin/src/main/resources/default.conf b/Main Plugin/src/main/resources/default.conf
index eb6fef2..e9cf85f 100644
--- a/Main Plugin/src/main/resources/default.conf
+++ b/Main Plugin/src/main/resources/default.conf
@@ -139,6 +139,7 @@ features {
debug-info=false
# When the description of a server matches these, it will be set as non accessible
+ # Be aware of colors, it is recommended to use the "contains" rule below or some others
marker-descs=[
"(?i).*maintenance*" # match if contains (regex)
"Game in progress", # match if exactly equal
diff --git a/Spigot Addon/pom.xml b/Spigot Addon/pom.xml
index 9401be5..71fea06 100644
--- a/Spigot Addon/pom.xml
+++ b/Spigot Addon/pom.xml
@@ -11,7 +11,7 @@
PlayerBalancer Addon
playerbalancer-addon
- 1.2 for 2.1.2.0+
+ 1.3 for 2.1.3+
PlayerBalancerAddon