From 976490f86e4a2de44eafe06dd1539368f1624f0c Mon Sep 17 00:00:00 2001 From: SavePointSam Date: Thu, 13 Nov 2025 21:26:48 -0800 Subject: [PATCH 1/2] feat: allow custom modloader versions for auto curseforge --- charts/minecraft/Chart.yaml | 2 +- .../auto-curseforge-custom-loader.yaml | 49 +++++++++++++++++++ charts/minecraft/templates/deployment.yaml | 3 ++ charts/minecraft/values.schema.json | 9 ++++ charts/minecraft/values.yaml | 6 +++ 5 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 charts/minecraft/examples/auto-curseforge-custom-loader.yaml diff --git a/charts/minecraft/Chart.yaml b/charts/minecraft/Chart.yaml index 60fddeb..323344c 100755 --- a/charts/minecraft/Chart.yaml +++ b/charts/minecraft/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: minecraft -version: 5.0.0 +version: 5.1.0 appVersion: SeeValues home: https://minecraft.net/ description: Minecraft server diff --git a/charts/minecraft/examples/auto-curseforge-custom-loader.yaml b/charts/minecraft/examples/auto-curseforge-custom-loader.yaml new file mode 100644 index 0000000..fc97e04 --- /dev/null +++ b/charts/minecraft/examples/auto-curseforge-custom-loader.yaml @@ -0,0 +1,49 @@ +# Example configuration for AUTO_CURSEFORGE with custom modloader versions +# +# This example demonstrates how to override modloader versions when using +# CurseForge modpacks, which is useful when you need a newer Fabric Loader, +# Forge, or NeoForge version than what the modpack originally specified. + +minecraftServer: + # Accept the EULA (required) + eula: "TRUE" + + # Set the server type to AUTO_CURSEFORGE + type: AUTO_CURSEFORGE + + # Configure AUTO_CURSEFORGE settings + autoCurseForge: + # CurseForge API key - get from https://console.curseforge.com/ + # IMPORTANT: Store this in a Kubernetes secret in production! + apiKey: + key: "your-api-key-here" + + # Example: Cobblemon Fabric modpack + slug: "cobblemon-fabric" + + # Override the Fabric loader version from the modpack's default + # Example: Change from Fabric 0.16.10 to 0.16.14 + fabricLoaderVersion: "0.16.14" + + # For Forge modpacks, you could override the Forge version: + # forgeVersion: "43.2.0" + + # For NeoForge modpacks, you could override the NeoForge version: + # neoforgeVersion: "47.1.99" + + # Other standard AUTO_CURSEFORGE options + parallelDownloads: 4 + forceSynchronize: false + +# Recommended memory allocation for modpacks +resources: + requests: + memory: 4Gi + limits: + memory: 6Gi + +# Enable persistent storage for world data +persistence: + dataDir: + enabled: true + Size: 10Gi \ No newline at end of file diff --git a/charts/minecraft/templates/deployment.yaml b/charts/minecraft/templates/deployment.yaml index ec8143b..f5f2966 100644 --- a/charts/minecraft/templates/deployment.yaml +++ b/charts/minecraft/templates/deployment.yaml @@ -280,6 +280,9 @@ spec: {{- if .overridesSkipExisting }} {{- template "minecraft.envMap" list "CF_OVERRIDES_SKIP_EXISTING" "true" }} {{- end }} +{{- template "minecraft.envMap" list "CF_FABRIC_LOADER_VERSION" .fabricLoaderVersion }} +{{- template "minecraft.envMap" list "CF_FORGE_VERSION" .forgeVersion }} +{{- template "minecraft.envMap" list "CF_NEOFORGE_VERSION" .neoforgeVersion }} {{- end }} {{- end }} diff --git a/charts/minecraft/values.schema.json b/charts/minecraft/values.schema.json index 1b9349f..0ee5c22 100644 --- a/charts/minecraft/values.schema.json +++ b/charts/minecraft/values.schema.json @@ -131,6 +131,15 @@ }, "overridesSkipExisting": { "type": "boolean" + }, + "fabricLoaderVersion": { + "type": "string" + }, + "forgeVersion": { + "type": "string" + }, + "neoforgeVersion": { + "type": "string" } } }, diff --git a/charts/minecraft/values.yaml b/charts/minecraft/values.yaml index 8eba32c..0b165fb 100644 --- a/charts/minecraft/values.yaml +++ b/charts/minecraft/values.yaml @@ -355,6 +355,12 @@ minecraftServer: # Set to skip files in modpack "overrides" folder that would replace existing files # NOTE: World data is always skipped if present overridesSkipExisting: false + # Override the Fabric loader version specified in the modpack + fabricLoaderVersion: "" + # Override the Forge version specified in the modpack + forgeVersion: "" + # Override the NeoForge version specified in the modpack + neoforgeVersion: "" rcon: # If you enable this, make SURE to change your password below. From b55a27e3ce9f787e04a37546d7544c612452657d Mon Sep 17 00:00:00 2001 From: SavePointSam Date: Fri, 14 Nov 2025 12:31:18 -0800 Subject: [PATCH 2/2] feat: replace specific custom mod loader versions with common one --- .../auto-curseforge-custom-loader.yaml | 22 +++++++------------ charts/minecraft/templates/deployment.yaml | 4 +--- charts/minecraft/values.schema.json | 8 +------ charts/minecraft/values.yaml | 8 ++----- 4 files changed, 12 insertions(+), 30 deletions(-) diff --git a/charts/minecraft/examples/auto-curseforge-custom-loader.yaml b/charts/minecraft/examples/auto-curseforge-custom-loader.yaml index fc97e04..683b52d 100644 --- a/charts/minecraft/examples/auto-curseforge-custom-loader.yaml +++ b/charts/minecraft/examples/auto-curseforge-custom-loader.yaml @@ -7,30 +7,24 @@ minecraftServer: # Accept the EULA (required) eula: "TRUE" - + # Set the server type to AUTO_CURSEFORGE type: AUTO_CURSEFORGE - + # Configure AUTO_CURSEFORGE settings autoCurseForge: # CurseForge API key - get from https://console.curseforge.com/ # IMPORTANT: Store this in a Kubernetes secret in production! apiKey: key: "your-api-key-here" - + # Example: Cobblemon Fabric modpack slug: "cobblemon-fabric" - - # Override the Fabric loader version from the modpack's default + + # Override the mod loader version from the modpack's default # Example: Change from Fabric 0.16.10 to 0.16.14 - fabricLoaderVersion: "0.16.14" - - # For Forge modpacks, you could override the Forge version: - # forgeVersion: "43.2.0" - - # For NeoForge modpacks, you could override the NeoForge version: - # neoforgeVersion: "47.1.99" - + modLoaderVersion: "0.16.14" + # Other standard AUTO_CURSEFORGE options parallelDownloads: 4 forceSynchronize: false @@ -46,4 +40,4 @@ resources: persistence: dataDir: enabled: true - Size: 10Gi \ No newline at end of file + Size: 10Gi diff --git a/charts/minecraft/templates/deployment.yaml b/charts/minecraft/templates/deployment.yaml index f5f2966..b4d0156 100644 --- a/charts/minecraft/templates/deployment.yaml +++ b/charts/minecraft/templates/deployment.yaml @@ -280,9 +280,7 @@ spec: {{- if .overridesSkipExisting }} {{- template "minecraft.envMap" list "CF_OVERRIDES_SKIP_EXISTING" "true" }} {{- end }} -{{- template "minecraft.envMap" list "CF_FABRIC_LOADER_VERSION" .fabricLoaderVersion }} -{{- template "minecraft.envMap" list "CF_FORGE_VERSION" .forgeVersion }} -{{- template "minecraft.envMap" list "CF_NEOFORGE_VERSION" .neoforgeVersion }} +{{- template "minecraft.envMap" list "CF_MOD_LOADER_VERSION" .modLoaderVersion }} {{- end }} {{- end }} diff --git a/charts/minecraft/values.schema.json b/charts/minecraft/values.schema.json index 0ee5c22..2d4e527 100644 --- a/charts/minecraft/values.schema.json +++ b/charts/minecraft/values.schema.json @@ -132,13 +132,7 @@ "overridesSkipExisting": { "type": "boolean" }, - "fabricLoaderVersion": { - "type": "string" - }, - "forgeVersion": { - "type": "string" - }, - "neoforgeVersion": { + "modLoaderVersion": { "type": "string" } } diff --git a/charts/minecraft/values.yaml b/charts/minecraft/values.yaml index 0b165fb..5efdf6c 100644 --- a/charts/minecraft/values.yaml +++ b/charts/minecraft/values.yaml @@ -355,12 +355,8 @@ minecraftServer: # Set to skip files in modpack "overrides" folder that would replace existing files # NOTE: World data is always skipped if present overridesSkipExisting: false - # Override the Fabric loader version specified in the modpack - fabricLoaderVersion: "" - # Override the Forge version specified in the modpack - forgeVersion: "" - # Override the NeoForge version specified in the modpack - neoforgeVersion: "" + # Override the mod loader version specified in the modpack + modLoaderVersion: "" rcon: # If you enable this, make SURE to change your password below.