diff --git a/src/main/java/net/viper/status/StatusAPI.java b/src/main/java/net/viper/status/StatusAPI.java index e09f9ca..db5db39 100644 --- a/src/main/java/net/viper/status/StatusAPI.java +++ b/src/main/java/net/viper/status/StatusAPI.java @@ -678,7 +678,19 @@ public class StatusAPI extends Plugin implements Runnable { String versionRaw = ProxyServer.getInstance().getVersion(); String versionClean = (versionRaw != null && versionRaw.contains(":")) ? versionRaw.split(":")[2].trim() : versionRaw; data.put("version", versionClean); - data.put("max_players", String.valueOf(ProxyServer.getInstance().getConfig().getPlayerLimit())); + + // getPlayerLimit() = -1 wenn kein globales Limit. Dann Listener-Wert (Server-Ping-Anzeige) nutzen. + int globalLimit = ProxyServer.getInstance().getConfig().getPlayerLimit(); + if (globalLimit <= 0) { + try { + Iterator limIt = ProxyServer.getInstance().getConfig().getListeners().iterator(); + if (limIt.hasNext()) { + int listenerMax = limIt.next().getMaxPlayers(); + if (listenerMax > 0) globalLimit = listenerMax; + } + } catch (Exception ignored) {} + } + data.put("max_players", String.valueOf(globalLimit)); String motd = "BungeeCord"; try { @@ -944,7 +956,7 @@ public class StatusAPI extends Plugin implements Runnable { return map; } - String[] segments = line.split("\\\\s*\\\\|\\\\s*"); + String[] segments = line.split("\\s*\\|\\s*"); if (segments.length > 0) { map.put("datetime", segments[0].trim()); } diff --git a/src/main/java/net/viper/status/modules/network/NetworkInfoModule.java b/src/main/java/net/viper/status/modules/network/NetworkInfoModule.java index 1b80105..dcf8e17 100644 --- a/src/main/java/net/viper/status/modules/network/NetworkInfoModule.java +++ b/src/main/java/net/viper/status/modules/network/NetworkInfoModule.java @@ -60,7 +60,7 @@ public class NetworkInfoModule implements Module { private double alertTpsThreshold = 18.0D; private boolean attackNotificationsEnabled = true; private String attackApiKey = ""; - private String attackDefaultSource = "BetterBungee"; + private String attackDefaultSource = "Viper-Network"; private long lastMemoryAlertAt = 0L; private long lastPlayerAlertAt = 0L; private long lastTpsAlertAt = 0L; @@ -263,6 +263,21 @@ public class NetworkInfoModule implements Module { int onlinePlayers = ProxyServer.getInstance().getPlayers().size(); int maxPlayers = ProxyServer.getInstance().getConfig().getPlayerLimit(); + // getPlayerLimit() liefert -1 wenn kein globales Limit gesetzt ist. + // In diesem Fall den Listener-Wert (angezeigte Max-Spielerzahl im Server-Ping) nutzen. + if (maxPlayers <= 0) { + try { + java.util.Iterator listenerIt = + ProxyServer.getInstance().getConfig().getListeners().iterator(); + if (listenerIt.hasNext()) { + int listenerMax = listenerIt.next().getMaxPlayers(); + if (listenerMax > 0) { + maxPlayers = listenerMax; + } + } + } catch (Exception ignored) {} + } + Map ping = buildPingSummary(ProxyServer.getInstance().getPlayers()); Map players = new LinkedHashMap(); @@ -833,4 +848,4 @@ public class NetworkInfoModule implements Module { sender.sendMessage(ChatColor.YELLOW + "Backends: " + ChatColor.WHITE + ((List) snapshot.get("backend_servers")).size()); } } -} +} \ No newline at end of file diff --git a/src/main/resources/network-guard.properties b/src/main/resources/network-guard.properties index a040f73..d4c5754 100644 --- a/src/main/resources/network-guard.properties +++ b/src/main/resources/network-guard.properties @@ -58,7 +58,7 @@ antibot.ip.block_seconds=600 antibot.kick_message=Zu viele Verbindungen von deiner IP. Bitte warte kurz. # Optionaler VPN/Proxy/Hosting Check (ip-api) -antibot.vpn_check.enabled=true +antibot.vpn_check.enabled=false antibot.vpn_check.block_proxy=true antibot.vpn_check.block_hosting=true antibot.vpn_check.cache_minutes=30