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(