From a44edb3b62392cb5016fee9aa5981b08242ab48f Mon Sep 17 00:00:00 2001 From: onebeastchris Date: Tue, 24 Sep 2024 21:37:25 +0800 Subject: [PATCH] Fix: disable bstats relocation on platforms where it is not needed --- bootstrap/mod/fabric/build.gradle.kts | 4 +--- .../geyser/platform/mod/GeyserModBootstrap.java | 1 - .../mod/mixin/client/IntegratedServerMixin.java | 4 ++-- .../platform/standalone/GeyserStandaloneBootstrap.java | 2 -- .../src/main/kotlin/geyser.base-conventions.gradle.kts | 3 +++ .../geysermc/geyser/util/metrics/MetricsPlatform.java | 10 ++++++++++ gradle/libs.versions.toml | 2 +- 7 files changed, 17 insertions(+), 9 deletions(-) diff --git a/bootstrap/mod/fabric/build.gradle.kts b/bootstrap/mod/fabric/build.gradle.kts index 734b0622f..fc18d0e74 100644 --- a/bootstrap/mod/fabric/build.gradle.kts +++ b/bootstrap/mod/fabric/build.gradle.kts @@ -21,7 +21,7 @@ dependencies { shadow(projects.core) { isTransitive = false } includeTransitive(projects.core) - // These are NOT transitively included, and instead shadowed + relocated. + // These are NOT transitively included, and instead shadowed (+ relocated, if not under the org.geyser namespace). // Avoids fabric complaining about non-SemVer versioning shadow(libs.protocol.connection) { isTransitive = false } shadow(libs.protocol.common) { isTransitive = false } @@ -46,8 +46,6 @@ tasks.withType { relocate("org.cloudburstmc.netty") relocate("org.cloudburstmc.protocol") -relocate("com.github.steveice10.mc.auth") -platformRelocate("org.bstats") tasks { remapJar { diff --git a/bootstrap/mod/src/main/java/org/geysermc/geyser/platform/mod/GeyserModBootstrap.java b/bootstrap/mod/src/main/java/org/geysermc/geyser/platform/mod/GeyserModBootstrap.java index f229c4974..879ecc76f 100644 --- a/bootstrap/mod/src/main/java/org/geysermc/geyser/platform/mod/GeyserModBootstrap.java +++ b/bootstrap/mod/src/main/java/org/geysermc/geyser/platform/mod/GeyserModBootstrap.java @@ -199,7 +199,6 @@ public abstract class GeyserModBootstrap implements GeyserBootstrap { @Override public int getServerPort() { - // TODO test return ((GeyserServerPortGetter) server).geyser$getServerPort(); } diff --git a/bootstrap/mod/src/main/java/org/geysermc/geyser/platform/mod/mixin/client/IntegratedServerMixin.java b/bootstrap/mod/src/main/java/org/geysermc/geyser/platform/mod/mixin/client/IntegratedServerMixin.java index 7a4abd50e..8f218105f 100644 --- a/bootstrap/mod/src/main/java/org/geysermc/geyser/platform/mod/mixin/client/IntegratedServerMixin.java +++ b/bootstrap/mod/src/main/java/org/geysermc/geyser/platform/mod/mixin/client/IntegratedServerMixin.java @@ -61,8 +61,8 @@ public class IntegratedServerMixin implements GeyserServerPortGetter { GeyserLocale.loadGeyserLocale(this.minecraft.options.languageCode); // Give indication that Geyser is loaded Objects.requireNonNull(this.minecraft.player); - this.minecraft.player.displayClientMessage(Component.literal(GeyserLocale.getPlayerLocaleString("geyser.core.start", - this.minecraft.options.languageCode, "localhost", String.valueOf(GeyserImpl.getInstance().bedrockListener().port()))), false); + this.minecraft.player.displayClientMessage(Component.literal(GeyserLocale.getPlayerLocaleString("geyser.core.start.ip_suppressed", + this.minecraft.options.languageCode, String.valueOf(GeyserImpl.getInstance().bedrockListener().port()))), false); } } diff --git a/bootstrap/standalone/src/main/java/org/geysermc/geyser/platform/standalone/GeyserStandaloneBootstrap.java b/bootstrap/standalone/src/main/java/org/geysermc/geyser/platform/standalone/GeyserStandaloneBootstrap.java index a3a17bb99..9a55d5fff 100644 --- a/bootstrap/standalone/src/main/java/org/geysermc/geyser/platform/standalone/GeyserStandaloneBootstrap.java +++ b/bootstrap/standalone/src/main/java/org/geysermc/geyser/platform/standalone/GeyserStandaloneBootstrap.java @@ -82,8 +82,6 @@ public class GeyserStandaloneBootstrap implements GeyserBootstrap { ResourceLeakDetector.setLevel(ResourceLeakDetector.Level.DISABLED); // Can eat performance } - System.setProperty("bstats.relocatecheck", "false"); - GeyserStandaloneBootstrap bootstrap = new GeyserStandaloneBootstrap(); // Set defaults boolean useGuiOpts = bootstrap.useGui; diff --git a/build-logic/src/main/kotlin/geyser.base-conventions.gradle.kts b/build-logic/src/main/kotlin/geyser.base-conventions.gradle.kts index 093f0a8c0..04803753b 100644 --- a/build-logic/src/main/kotlin/geyser.base-conventions.gradle.kts +++ b/build-logic/src/main/kotlin/geyser.base-conventions.gradle.kts @@ -62,6 +62,9 @@ repositories { name = "viaversion" } + // MinecraftAuth + maven("https://maven.lenni0451.net/snapshots") + // Jitpack for e.g. MCPL maven("https://jitpack.io") { content { includeGroupByRegex("com\\.github\\..*") } diff --git a/core/src/main/java/org/geysermc/geyser/util/metrics/MetricsPlatform.java b/core/src/main/java/org/geysermc/geyser/util/metrics/MetricsPlatform.java index c4f3b47c2..bb582df89 100644 --- a/core/src/main/java/org/geysermc/geyser/util/metrics/MetricsPlatform.java +++ b/core/src/main/java/org/geysermc/geyser/util/metrics/MetricsPlatform.java @@ -25,6 +25,9 @@ package org.geysermc.geyser.util.metrics; +import org.geysermc.geyser.GeyserImpl; +import org.geysermc.geyser.api.util.PlatformType; + public interface MetricsPlatform { boolean enabled(); @@ -35,4 +38,11 @@ public interface MetricsPlatform { boolean logSentData(); boolean logResponseStatusText(); + + default boolean disableRelocateCheck() { + PlatformType platformType = GeyserImpl.getInstance().platformType(); + return platformType == PlatformType.FABRIC || + platformType == PlatformType.NEOFORGE || + platformType == PlatformType.STANDALONE; + } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f8f68f5ad..2262f1369 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] base-api = "1.0.1" -bstats = "3.0.2" +bstats = "3.1.0" cumulus = "1.1.2" configurate = "4.2.0-GeyserMC-SNAPSHOT" erosion = "1.1-20240521.000109-3"