From 1458e621d6ff589785a9494eeb6ee02c47cd3c8f Mon Sep 17 00:00:00 2001 From: Geoff Bourne Date: Wed, 29 Mar 2023 19:33:28 -0500 Subject: [PATCH 1/4] autocf: switch to official CurseForge API, but needs CF_API_KEY --- Dockerfile | 2 +- README.md | 2 ++ examples/atm8/docker-compose.yml | 1 + examples/one-block-modded/docker-compose.yml | 1 + examples/pixelmon/docker-compose.yml | 1 + examples/valhesia5/docker-compose.yml | 1 + examples/vault-hunters-1-18-2/docker-compose.yml | 1 + 7 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 5f5a69d3fdd..ea092b37535 100644 --- a/Dockerfile +++ b/Dockerfile @@ -46,7 +46,7 @@ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \ --var version=0.1.1 --var app=maven-metadata-release --file {{.app}} \ --from https://github.com/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz -ARG MC_HELPER_VERSION=1.25.19 +ARG MC_HELPER_VERSION=1.25.20 ARG MC_HELPER_BASE_URL=https://github.com/itzg/mc-image-helper/releases/download/${MC_HELPER_VERSION} RUN curl -fsSL ${MC_HELPER_BASE_URL}/mc-image-helper-${MC_HELPER_VERSION}.tgz \ | tar -C /usr/share -zxf - \ diff --git a/README.md b/README.md index 60cf83b393b..6555f15e26d 100644 --- a/README.md +++ b/README.md @@ -616,6 +616,8 @@ docker run -d --name mc-ftb -e EULA=TRUE \ To manage a CurseForge modpack automatically with upgrade support, pinned or latest version tracking, set `TYPE` to "AUTO_CURSEFORGE". The appropriate mod loader (Forge / Fabric) version will be automatically installed as declared by the modpack. This mode will also take care of cleaning up unused files installed by previous versions of the modpack, but world data is never auto-removed. > **NOTES:** +> A CurseForge API key is **required** to use this feature. Go to their [developer console](https://console.curseforge.com/), generate an API key, and set the environment variable `CF_API_KEY`. +> > Be sure to use the appropriate [image tag for the Java version compatible with the modpack](#running-minecraft-server-on-different-java-version). > > Most modpacks require a good amount of memory, so it best to set `MEMORY` to at least "4G" since the default is only 1 GB. diff --git a/examples/atm8/docker-compose.yml b/examples/atm8/docker-compose.yml index 92a0bb9dea8..a9b09678ab7 100644 --- a/examples/atm8/docker-compose.yml +++ b/examples/atm8/docker-compose.yml @@ -8,6 +8,7 @@ services: environment: EULA: "true" TYPE: AUTO_CURSEFORGE + CF_API_KEY: # allocate from https://console.curseforge.com/ CF_PAGE_URL: https://www.curseforge.com/minecraft/modpacks/all-the-mods-8 CF_FILENAME_MATCHER: "1.0.6" MEMORY: 4G diff --git a/examples/one-block-modded/docker-compose.yml b/examples/one-block-modded/docker-compose.yml index 6abc226a7ce..397f27ac37f 100644 --- a/examples/one-block-modded/docker-compose.yml +++ b/examples/one-block-modded/docker-compose.yml @@ -8,6 +8,7 @@ services: environment: EULA: "true" TYPE: AUTO_CURSEFORGE + CF_API_KEY: # allocate from https://console.curseforge.com/ CF_PAGE_URL: "https://www.curseforge.com/minecraft/modpacks/one-block-modded/files/4136487" CF_SET_LEVEL_FROM: OVERRIDES DEBUG: "false" diff --git a/examples/pixelmon/docker-compose.yml b/examples/pixelmon/docker-compose.yml index 47afd3d64b7..6a990b2ff7c 100644 --- a/examples/pixelmon/docker-compose.yml +++ b/examples/pixelmon/docker-compose.yml @@ -8,6 +8,7 @@ services: environment: EULA: "true" TYPE: AUTO_CURSEFORGE + CF_API_KEY: # allocate from https://console.curseforge.com/ CF_SLUG: the-pixelmon-modpack CF_FILENAME_MATCHER: "9.1.2" MEMORY: 4G diff --git a/examples/valhesia5/docker-compose.yml b/examples/valhesia5/docker-compose.yml index 3ece303b86b..7c47ddb630f 100644 --- a/examples/valhesia5/docker-compose.yml +++ b/examples/valhesia5/docker-compose.yml @@ -8,6 +8,7 @@ services: environment: EULA: "true" TYPE: AUTO_CURSEFORGE + CF_API_KEY: # allocate from https://console.curseforge.com/ CF_FORCE_SYNCHRONIZE: "true" CF_PAGE_URL: https://www.curseforge.com/minecraft/modpacks/valhelsia-5/files/4429560 MEMORY: 4G diff --git a/examples/vault-hunters-1-18-2/docker-compose.yml b/examples/vault-hunters-1-18-2/docker-compose.yml index a9e7b15e9db..e29103570e5 100644 --- a/examples/vault-hunters-1-18-2/docker-compose.yml +++ b/examples/vault-hunters-1-18-2/docker-compose.yml @@ -8,6 +8,7 @@ services: environment: EULA: "true" TYPE: AUTO_CURSEFORGE + CF_API_KEY: # allocate from https://console.curseforge.com/ CF_SLUG: vault-hunters-1-18-2 CF_FILENAME_MATCHER: "Update-6H" MEMORY: 4G From 39ce1d1bcf74e5ede9285ad5845afd9a0a1272a3 Mon Sep 17 00:00:00 2001 From: Geoff Bourne Date: Wed, 29 Mar 2023 20:06:11 -0500 Subject: [PATCH 2/4] Disable auto_curseforge test for now --- tests/setuponlytests/auto_curseforge/docker-compose.yml | 1 + tests/setuponlytests/auto_curseforge/require.sh | 2 ++ 2 files changed, 3 insertions(+) create mode 100755 tests/setuponlytests/auto_curseforge/require.sh diff --git a/tests/setuponlytests/auto_curseforge/docker-compose.yml b/tests/setuponlytests/auto_curseforge/docker-compose.yml index ac9b860719f..69d7b492747 100644 --- a/tests/setuponlytests/auto_curseforge/docker-compose.yml +++ b/tests/setuponlytests/auto_curseforge/docker-compose.yml @@ -7,6 +7,7 @@ services: EULA: "true" SETUP_ONLY: "TRUE" TYPE: AUTO_CURSEFORGE + CF_API_KEY: ${CF_API_KEY} CF_SLUG: the-pixelmon-modpack CF_FILENAME_MATCHER: "9.1.2" # Use the image bundled one to ensure latest is being tested diff --git a/tests/setuponlytests/auto_curseforge/require.sh b/tests/setuponlytests/auto_curseforge/require.sh new file mode 100755 index 00000000000..d5fd28c9eb4 --- /dev/null +++ b/tests/setuponlytests/auto_curseforge/require.sh @@ -0,0 +1,2 @@ +echo "Disabled for now since CF_API_KEY is needed" +exit 1 \ No newline at end of file From 06be249fdde57f59a26b5147d902597754086c7a Mon Sep 17 00:00:00 2001 From: Geoff Bourne Date: Wed, 29 Mar 2023 20:07:53 -0500 Subject: [PATCH 3/4] Conditionally disable auto_curseforge test --- tests/setuponlytests/auto_curseforge/require.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/setuponlytests/auto_curseforge/require.sh b/tests/setuponlytests/auto_curseforge/require.sh index d5fd28c9eb4..6c320cd009a 100755 --- a/tests/setuponlytests/auto_curseforge/require.sh +++ b/tests/setuponlytests/auto_curseforge/require.sh @@ -1,2 +1 @@ -echo "Disabled for now since CF_API_KEY is needed" -exit 1 \ No newline at end of file +[[ $CF_API_KEY ]] || exit 1 \ No newline at end of file From 68c4e153a0ea124b78bbf7ee2a18c1b515f90d53 Mon Sep 17 00:00:00 2001 From: Geoff Bourne Date: Wed, 29 Mar 2023 20:13:49 -0500 Subject: [PATCH 4/4] Fixed spacing --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6555f15e26d..6b6b4de4c07 100644 --- a/README.md +++ b/README.md @@ -616,6 +616,7 @@ docker run -d --name mc-ftb -e EULA=TRUE \ To manage a CurseForge modpack automatically with upgrade support, pinned or latest version tracking, set `TYPE` to "AUTO_CURSEFORGE". The appropriate mod loader (Forge / Fabric) version will be automatically installed as declared by the modpack. This mode will also take care of cleaning up unused files installed by previous versions of the modpack, but world data is never auto-removed. > **NOTES:** +> > A CurseForge API key is **required** to use this feature. Go to their [developer console](https://console.curseforge.com/), generate an API key, and set the environment variable `CF_API_KEY`. > > Be sure to use the appropriate [image tag for the Java version compatible with the modpack](#running-minecraft-server-on-different-java-version).