From f549f6d185124381576f00edc8b5e43a06b536e0 Mon Sep 17 00:00:00 2001 From: Layue13 Date: Tue, 10 Nov 2026 16:18:46 +0800 Subject: [PATCH] fix: default client fileApi is the Nexus raw tdlm-client; tell the player when the manifest cannot be fetched The default pointed at packages.dandanton.com/tdlm-client/latest (404), so the first-launch auto install silently did nothing. It now points at https://maven.dandanton.com/repository/tdlm-client, and a failed or malformed manifest shows an error and opens the import wizard (same behaviour as the Start menu install). Co-Authored-By: Claude Sonnet 5.5 --- HMCL/src/main/java/org/jackhuang/hmcl/Metadata.java | 4 ++-- .../main/java/org/jackhuang/hmcl/ui/Controllers.java | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/Metadata.java b/HMCL/src/main/java/org/jackhuang/hmcl/Metadata.java index 2174887e25..8400852db8 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/Metadata.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/Metadata.java @@ -141,9 +141,9 @@ public final class Metadata { return null; } - /// Default client Server Modpack fileApi (CDN mirror of Pack's `tdlm-client/latest` layout). + /// Default client Server Modpack fileApi: the Nexus raw repository `tdlm-client` read through the CDN host. public static final String DEFAULT_CLIENT_FILE_API = - "https://packages.dandanton.com/tdlm-client/latest"; + "https://maven.dandanton.com/repository/tdlm-client"; /// Stable client update root (`server-manifest.json` and `overrides/` live under this URL). /// diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/Controllers.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/Controllers.java index 4009895644..b496177db0 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/Controllers.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/Controllers.java @@ -398,12 +398,22 @@ public final class Controllers { .whenComplete(Schedulers.javafx(), (result, exception) -> { if (exception != null) { LOG.warning("Failed to fetch client Server Modpack manifest", exception); + Controllers.dialog( + manifestUrl + "\n" + exception.getMessage(), + i18n("message.error"), + MessageType.ERROR); + Instances.importModpack(); return; } ServerModpackManifest manifest = JsonUtils.fromMaybeMalformedJson(result, ServerModpackManifest.class); if (manifest == null) { LOG.warning("Malformed client Server Modpack manifest from " + manifestUrl); + Controllers.dialog( + i18n("modpack.type.server.malformed"), + i18n("message.error"), + MessageType.ERROR); + Instances.importModpack(); return; } Controllers.getDecorator().startWizard( -- 2.47.3