From c685efa9b4c5fe2c6bc9cadc2ac09e52c083d6a6 Mon Sep 17 00:00:00 2001 From: onebeastchris Date: Wed, 7 Aug 2024 01:26:18 +0200 Subject: [PATCH 1/3] this is supposed to work on standalone aswell --- .../java/org/geysermc/geyser/GeyserImpl.java | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/core/src/main/java/org/geysermc/geyser/GeyserImpl.java b/core/src/main/java/org/geysermc/geyser/GeyserImpl.java index 5c08e34d7..1b768d16f 100644 --- a/core/src/main/java/org/geysermc/geyser/GeyserImpl.java +++ b/core/src/main/java/org/geysermc/geyser/GeyserImpl.java @@ -363,22 +363,6 @@ public class GeyserImpl implements GeyserApi, EventRegistrar { } } - String broadcastPort = System.getProperty("geyserBroadcastPort", ""); - if (!broadcastPort.isEmpty()) { - int parsedPort; - try { - parsedPort = Integer.parseInt(broadcastPort); - if (parsedPort < 1 || parsedPort > 65535) { - throw new NumberFormatException("The broadcast port must be between 1 and 65535 inclusive!"); - } - } catch (NumberFormatException e) { - logger.error(String.format("Invalid broadcast port: %s! Defaulting to configured port.", broadcastPort + " (" + e.getMessage() + ")")); - parsedPort = config.getBedrock().port(); - } - config.getBedrock().setBroadcastPort(parsedPort); - logger.info("Broadcast port set from system property: " + parsedPort); - } - if (platformType != PlatformType.VIAPROXY) { boolean floodgatePresent = bootstrap.testFloodgatePluginPresent(); if (config.getRemote().authType() == AuthType.FLOODGATE && !floodgatePresent) { @@ -393,6 +377,23 @@ public class GeyserImpl implements GeyserApi, EventRegistrar { } } + // Now that other platforms set the Bedrock port, also check the broadcast port + String broadcastPort = System.getProperty("geyserBroadcastPort", ""); + if (!broadcastPort.isEmpty()) { + int parsedPort; + try { + parsedPort = Integer.parseInt(broadcastPort); + if (parsedPort < 1 || parsedPort > 65535) { + throw new NumberFormatException("The broadcast port must be between 1 and 65535 inclusive!"); + } + } catch (NumberFormatException e) { + logger.error(String.format("Invalid broadcast port: %s! Defaulting to configured port.", broadcastPort + " (" + e.getMessage() + ")")); + parsedPort = config.getBedrock().port(); + } + config.getBedrock().setBroadcastPort(parsedPort); + logger.info("Broadcast port set from system property: " + parsedPort); + } + String remoteAddress = config.getRemote().address(); // Filters whether it is not an IP address or localhost, because otherwise it is not possible to find out an SRV entry. if (!remoteAddress.matches(IP_REGEX) && !remoteAddress.equalsIgnoreCase("localhost")) { From d8fa73ec8eb4dcc2b0ec5b541e64d84d8cfe8fec Mon Sep 17 00:00:00 2001 From: chris Date: Wed, 7 Aug 2024 12:37:30 +0200 Subject: [PATCH 2/3] Update core/src/main/java/org/geysermc/geyser/GeyserImpl.java Co-authored-by: Konicai <71294714+Konicai@users.noreply.github.com> --- core/src/main/java/org/geysermc/geyser/GeyserImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/java/org/geysermc/geyser/GeyserImpl.java b/core/src/main/java/org/geysermc/geyser/GeyserImpl.java index 1b768d16f..f5a3d1fea 100644 --- a/core/src/main/java/org/geysermc/geyser/GeyserImpl.java +++ b/core/src/main/java/org/geysermc/geyser/GeyserImpl.java @@ -377,7 +377,7 @@ public class GeyserImpl implements GeyserApi, EventRegistrar { } } - // Now that other platforms set the Bedrock port, also check the broadcast port + // Now that the Bedrock port may have been changed, also check the broadcast port (configurable on all platforms) String broadcastPort = System.getProperty("geyserBroadcastPort", ""); if (!broadcastPort.isEmpty()) { int parsedPort; From c7de3fd8a8f4fd7154280c5ab5cdb95dc327d099 Mon Sep 17 00:00:00 2001 From: chris Date: Thu, 8 Aug 2024 22:13:33 +0200 Subject: [PATCH 3/3] Update core/src/main/java/org/geysermc/geyser/GeyserImpl.java Co-authored-by: Konicai <71294714+Konicai@users.noreply.github.com> --- core/src/main/java/org/geysermc/geyser/GeyserImpl.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/core/src/main/java/org/geysermc/geyser/GeyserImpl.java b/core/src/main/java/org/geysermc/geyser/GeyserImpl.java index f5a3d1fea..82d3bd0b9 100644 --- a/core/src/main/java/org/geysermc/geyser/GeyserImpl.java +++ b/core/src/main/java/org/geysermc/geyser/GeyserImpl.java @@ -380,18 +380,16 @@ public class GeyserImpl implements GeyserApi, EventRegistrar { // Now that the Bedrock port may have been changed, also check the broadcast port (configurable on all platforms) String broadcastPort = System.getProperty("geyserBroadcastPort", ""); if (!broadcastPort.isEmpty()) { - int parsedPort; try { - parsedPort = Integer.parseInt(broadcastPort); + int parsedPort = Integer.parseInt(broadcastPort); if (parsedPort < 1 || parsedPort > 65535) { throw new NumberFormatException("The broadcast port must be between 1 and 65535 inclusive!"); } + config.getBedrock().setBroadcastPort(parsedPort); + logger.info("Broadcast port set from system property: " + parsedPort); } catch (NumberFormatException e) { - logger.error(String.format("Invalid broadcast port: %s! Defaulting to configured port.", broadcastPort + " (" + e.getMessage() + ")")); - parsedPort = config.getBedrock().port(); + logger.error(String.format("Invalid broadcast port from system property: %s! Defaulting to configured port.", broadcastPort + " (" + e.getMessage() + ")")); } - config.getBedrock().setBroadcastPort(parsedPort); - logger.info("Broadcast port set from system property: " + parsedPort); } String remoteAddress = config.getRemote().address();