From d46b57cef21922581809194bd751ea0e01dc865a Mon Sep 17 00:00:00 2001 From: KlN-4096 Date: Sun, 21 Dec 2025 01:50:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E4=BA=86=E4=B8=AA=E5=8F=8D=E5=90=91?= =?UTF-8?q?=E4=BB=A3=E7=90=86=E5=9C=B0=E5=9D=80=E7=9A=84=E9=85=8D=E7=BD=AE?= =?UTF-8?q?,=E5=BD=93=E7=94=A8=E6=88=B7=E8=AE=BE=E7=BD=AE=E4=BA=86sessions?= =?UTF-8?q?erver.mojang.com=E7=9A=84=E5=8F=8D=E5=90=91=E4=BB=A3=E7=90=86?= =?UTF-8?q?=E6=97=B6,=E5=8F=AF=E4=BB=A5=E4=BD=BF=E7=94=A8=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E4=BF=AE=E6=94=B9=E9=89=B4=E6=9D=83url,=E9=81=BF?= =?UTF-8?q?=E5=85=8Dminecraft=E6=9C=8D=E5=8A=A1=E5=99=A8=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E4=BB=A3=E7=90=86=E5=AF=BC=E8=87=B4=E7=8E=A9?= =?UTF-8?q?=E5=AE=B6=E9=AB=98ping?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 2 +- src/main/java/cn/alini/trueuuid/Trueuuid.java | 2 +- src/main/java/cn/alini/trueuuid/command/TrueuuidCommands.java | 2 +- src/main/java/cn/alini/trueuuid/config/TrueuuidConfig.java | 3 +++ src/main/java/cn/alini/trueuuid/server/SessionCheck.java | 3 ++- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/gradle.properties b/gradle.properties index e3ebc51..9dc5820 100644 --- a/gradle.properties +++ b/gradle.properties @@ -31,7 +31,7 @@ mod_name=TrueUUID # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. mod_license=GNU LGPL 3.0 # The mod version. See https://semver.org/ -mod_version=1.0.4 +mod_version=1.0.5 # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # This should match the base package used for the mod sources. # See https://maven.apache.org/guides/mini/guide-naming-conventions.html diff --git a/src/main/java/cn/alini/trueuuid/Trueuuid.java b/src/main/java/cn/alini/trueuuid/Trueuuid.java index d8cf310..22725c0 100644 --- a/src/main/java/cn/alini/trueuuid/Trueuuid.java +++ b/src/main/java/cn/alini/trueuuid/Trueuuid.java @@ -33,7 +33,7 @@ private void onConfigLoad(ModConfigEvent.Loading event) { } else { // =====MoJang网络连通性测试===== try { - String testUrl = "https://sessionserver.mojang.com/session/minecraft/hasJoined?username=Mojang&serverId=test"; + String testUrl = TrueuuidConfig.COMMON.mojangReverseProxy.get()+"/session/minecraft/hasJoined?username=Mojang&serverId=test"; java.net.URL url = new java.net.URL(testUrl); java.net.HttpURLConnection conn = (java.net.HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); diff --git a/src/main/java/cn/alini/trueuuid/command/TrueuuidCommands.java b/src/main/java/cn/alini/trueuuid/command/TrueuuidCommands.java index 96e1db6..f512d5b 100644 --- a/src/main/java/cn/alini/trueuuid/command/TrueuuidCommands.java +++ b/src/main/java/cn/alini/trueuuid/command/TrueuuidCommands.java @@ -192,7 +192,7 @@ private static int cmdNomojangToggle(CommandSourceStack src) { private static int mojangStatus(CommandSourceStack src) { try { - String testUrl = "https://sessionserver.mojang.com/session/minecraft/hasJoined?username=Mojang&serverId=test"; + String testUrl = TrueuuidConfig.COMMON.mojangReverseProxy.get()+"/session/minecraft/hasJoined?username=Mojang&serverId=test"; java.net.URL url = new java.net.URL(testUrl); java.net.HttpURLConnection conn = (java.net.HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); diff --git a/src/main/java/cn/alini/trueuuid/config/TrueuuidConfig.java b/src/main/java/cn/alini/trueuuid/config/TrueuuidConfig.java index 647241e..6d9f032 100644 --- a/src/main/java/cn/alini/trueuuid/config/TrueuuidConfig.java +++ b/src/main/java/cn/alini/trueuuid/config/TrueuuidConfig.java @@ -40,6 +40,7 @@ public static void register() { public static boolean debug() { return COMMON.debug.get(); } // 新增 nomojang 开关访问器 public static boolean nomojangEnabled() { return COMMON.nomojangEnabled.get(); } + public static String mojangReverseProxy() { return COMMON.mojangReverseProxy.get(); } public static final class Common { public final ModConfigSpec.LongValue timeoutMs; @@ -54,6 +55,7 @@ public static final class Common { // 新增 nomojang 配置 public final ModConfigSpec.BooleanValue nomojangEnabled; + public final ModConfigSpec.ConfigValue mojangReverseProxy; // 新增:策略相关 public final ModConfigSpec.BooleanValue knownPremiumDenyOffline; @@ -92,6 +94,7 @@ public static final class Common { // 新增:跳过 Mojang 会话认证(开启后不再通过 sessionserver 验证) nomojangEnabled = b.comment("开启后关闭对 Mojang 会话服务的在线校验逻辑;同 IP 且近期有正版成功的名称按正版 UUID 处理,其余直接按离线进入处理。") .define("nomojang.enabled", false); + mojangReverseProxy = b.comment("mojang的反代地址,专门为那些不想给服务器开代理的人使用,默认为mojang地址").define("mojangReverseProxy", "https://sessionserver.mojang.com"); b.pop(); } } diff --git a/src/main/java/cn/alini/trueuuid/server/SessionCheck.java b/src/main/java/cn/alini/trueuuid/server/SessionCheck.java index 83a1d57..cbbfb45 100644 --- a/src/main/java/cn/alini/trueuuid/server/SessionCheck.java +++ b/src/main/java/cn/alini/trueuuid/server/SessionCheck.java @@ -1,6 +1,7 @@ // java package cn.alini.trueuuid.server; +import cn.alini.trueuuid.config.TrueuuidConfig; import com.google.gson.Gson; import com.google.gson.annotations.SerializedName; @@ -42,7 +43,7 @@ private static class Prop { * 异步版本:不阻塞调用线程,返回 CompletableFuture\\> */ public static CompletableFuture> hasJoinedAsync(String username, String serverId, String ip) { - String url = "https://sessionserver.mojang.com/session/minecraft/hasJoined" + String url = TrueuuidConfig.COMMON.mojangReverseProxy.get()+"/session/minecraft/hasJoined" + "?username=" + URLEncoder.encode(username, StandardCharsets.UTF_8) + "&serverId=" + URLEncoder.encode(serverId, StandardCharsets.UTF_8);