fix: bake default join address mc.potatolab.uk #18

Merged
layue13 merged 1 commits from cursor/beta-server-address-4ee7 into main 2026-11-09 22:16:09 +00:00
2 changed files with 12 additions and 6 deletions

No files matched your search

@@ -165,11 +165,14 @@ public final class Metadata {
return getClientFileApi() + "/server-manifest.json";
}
/// Fallback join address when the installed modpack manifest has no `serverAddress` / routes.
public static final String DEFAULT_SERVER_ADDRESS = "mc.potatolab.uk";
/// Server address used when the installed modpack manifest does not provide one.
///
/// Can be set at build or run time with the `hmcl.server.address` system property; empty by default.
/// Override at build or run time with `-Dhmcl.server.address=…`; defaults to [#DEFAULT_SERVER_ADDRESS].
public static String getDefaultServerAddress() {
return System.getProperty("hmcl.server.address", "").trim();
return System.getProperty("hmcl.server.address", DEFAULT_SERVER_ADDRESS).trim();
}
/// The server name shown in the title bar.
@@ -2,6 +2,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later WITH AdditionRef-HMCL
package org.jackhuang.hmcl.game;
import org.jackhuang.hmcl.Metadata;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
@@ -19,13 +20,15 @@ public final class ServerEndpointTest {
}
@Test
void noConfigurationMeansNoRoute(@TempDir Path dir) {
assertTrue(ServerEndpoint.routes(dir.resolve("modpack.json")).isEmpty());
assertNull(ServerEndpoint.selected(dir.resolve("modpack.json")));
void fallsBackToBakedDefaultAddress(@TempDir Path dir) {
var routes = ServerEndpoint.routes(dir.resolve("modpack.json"));
assertEquals(1, routes.size());
assertEquals(Metadata.DEFAULT_SERVER_ADDRESS, routes.get(0).address());
assertEquals(routes.get(0), ServerEndpoint.selected(dir.resolve("modpack.json")));
}
@Test
void fallsBackToDefaultAddress(@TempDir Path dir) {
void propertyOverridesBakedDefaultAddress(@TempDir Path dir) {
System.setProperty("hmcl.server.address", " play.example.net:25565 ");
var routes = ServerEndpoint.routes(dir.resolve("modpack.json"));
assertEquals(1, routes.size());