diff --git a/common-files/src/main/resources/config.yml b/common-files/src/main/resources/config.yml index 95815b4c5..4050974da 100644 --- a/common-files/src/main/resources/config.yml +++ b/common-files/src/main/resources/config.yml @@ -198,7 +198,8 @@ resource-pack: # Generates a single-use, time-limited download link for each player. one-time-token: true # Enhances validation for deny-non-minecraft-request and one-time-token. - strict-validation: true + # Do not enable this on an offline server + strict-validation: false rate-limiting: # Maximum bandwidth per second to prevent server instability for other players during resource pack downloads max-bandwidth-per-second: 5_000_000 # 5MB/s diff --git a/core/src/main/java/net/momirealms/craftengine/core/pack/host/impl/SelfHost.java b/core/src/main/java/net/momirealms/craftengine/core/pack/host/impl/SelfHost.java index 93cede575..9d08e7c78 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/pack/host/impl/SelfHost.java +++ b/core/src/main/java/net/momirealms/craftengine/core/pack/host/impl/SelfHost.java @@ -77,7 +77,7 @@ public class SelfHost implements ResourcePackHost { boolean oneTimeToken = ResourceConfigUtils.getAsBoolean(arguments.getOrDefault("one-time-token", true), "one-time-token"); String protocol = arguments.getOrDefault("protocol", "http").toString(); boolean denyNonMinecraftRequest = ResourceConfigUtils.getAsBoolean(arguments.getOrDefault("deny-non-minecraft-request", true), "deny-non-minecraft-request"); - boolean strictValidation = ResourceConfigUtils.getAsBoolean(arguments.getOrDefault("strict-validation", true), "strict-validation"); + boolean strictValidation = ResourceConfigUtils.getAsBoolean(arguments.getOrDefault("strict-validation", false), "strict-validation"); Bandwidth limit = null; Map rateLimitingSection = ResourceConfigUtils.getAsMapOrNull(arguments.get("rate-limiting"), "rate-limiting"); diff --git a/core/src/main/java/net/momirealms/craftengine/core/pack/host/impl/SelfHostHttpServer.java b/core/src/main/java/net/momirealms/craftengine/core/pack/host/impl/SelfHostHttpServer.java index da20a14e3..39961f3aa 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/pack/host/impl/SelfHostHttpServer.java +++ b/core/src/main/java/net/momirealms/craftengine/core/pack/host/impl/SelfHostHttpServer.java @@ -69,7 +69,7 @@ public class SelfHostHttpServer { private String url; private boolean denyNonMinecraft = true; private boolean useToken; - private boolean strictValidation = true; + private boolean strictValidation = false; private long globalUploadRateLimit = 0; private long minDownloadSpeed = 50_000; @@ -234,7 +234,7 @@ public class SelfHostHttpServer { boolean nonMinecraftClient = userAgent == null || !userAgent.startsWith("Minecraft Java/"); if (strictValidation && !nonMinecraftClient) { String clientVersion = request.headers().get("X-Minecraft-Version"); - nonMinecraftClient = !Objects.equals(clientVersion, userAgent.substring(15)); + nonMinecraftClient = !Objects.equals(clientVersion, userAgent.substring("Minecraft Java/".length())); } if (nonMinecraftClient) { sendError(ctx, HttpResponseStatus.FORBIDDEN, "Invalid client");