diff --git a/docs/types-and-platforms/mod-platforms/auto-curseforge.md b/docs/types-and-platforms/mod-platforms/auto-curseforge.md index 196f4bb7..4eb78a64 100644 --- a/docs/types-and-platforms/mod-platforms/auto-curseforge.md +++ b/docs/types-and-platforms/mod-platforms/auto-curseforge.md @@ -108,6 +108,56 @@ For mod, modpacks, and world files that are not allowed for automated download, If you wish to use a unpublished modpack zip, set the container path to the file in `CF_MODPACK_ZIP`. Similarly, the container path to a modpack manifest JSON can be passed to `CF_MODPACK_MANIFEST`. In either case, **the modpack slug or page URL must still be provided**. +!!! example + + ```yaml + services: + mc: + image: itzg/minecraft-server + environment: + EULA: true + MOD_PLATFORM: AUTO_CURSEFORGE + # allocate from https://console.curseforge.com/ and set in .env file + CF_API_KEY: ${CF_API_KEY} + CF_MODPACK_MANIFEST: /manifests/manifest.json + CF_SLUG: "custom" + volumes: + - ./manifests:/manifests:ro + ``` + + where an exported manifest file should look like: + + ```json + { + "minecraft": { + "version": "1.20.4", + "modLoaders": [ + { + "id": "fabric-0.15.3", + "primary": true + } + ] + }, + "manifestType": "minecraftModpack", + "manifestVersion": 1, + "name": "Custom", + "author": "", + "files": [ + { + "projectID": 351725, + "fileID": 4973035, + "required": true + }, + { + "projectID": 306612, + "fileID": 5010374, + "required": true + } + ], + "overrides": "overrides" + } + ``` + ## Exclude client mods Quite often there are mods that need to be excluded, such as ones that did not properly declare as a client mod via the file's game versions. Similarly, there are some mods that are incorrectly tagged as client only. The following describes two options to exclude/include mods: diff --git a/examples/auto-cf/modpack-manifest/docker-compose.yml b/examples/auto-cf/modpack-manifest/docker-compose.yml new file mode 100644 index 00000000..a5240bbd --- /dev/null +++ b/examples/auto-cf/modpack-manifest/docker-compose.yml @@ -0,0 +1,19 @@ +services: + mc: + image: itzg/minecraft-server + environment: + EULA: true + MOD_PLATFORM: AUTO_CURSEFORGE + # allocate from https://console.curseforge.com/ and set in .env file + CF_API_KEY: ${CF_API_KEY} + CF_MODPACK_MANIFEST: /manifests/manifest.json + CF_SLUG: "custom" + MEMORY: 2G + volumes: + - mc-data:/data + - ./manifests:/manifests:ro + ports: + - "25565:25565" + +volumes: + mc-data: {} diff --git a/examples/auto-cf/modpack-manifest/manifests/manifest.json b/examples/auto-cf/modpack-manifest/manifests/manifest.json new file mode 100644 index 00000000..be3b10cb --- /dev/null +++ b/examples/auto-cf/modpack-manifest/manifests/manifest.json @@ -0,0 +1,28 @@ +{ + "minecraft": { + "version": "1.20.4", + "modLoaders": [ + { + "id": "fabric-0.15.3", + "primary": true + } + ] + }, + "manifestType": "minecraftModpack", + "manifestVersion": 1, + "name": "Custom", + "author": "", + "files": [ + { + "projectID": 351725, + "fileID": 4973035, + "required": true + }, + { + "projectID": 306612, + "fileID": 5010374, + "required": true + } + ], + "overrides": "overrides" +} \ No newline at end of file diff --git a/examples/auto-cf/using-excludes/docker-compose.yml b/examples/auto-cf/using-excludes/docker-compose.yml new file mode 100644 index 00000000..120406bb --- /dev/null +++ b/examples/auto-cf/using-excludes/docker-compose.yml @@ -0,0 +1,51 @@ +version: "3.8" + +services: + mc: + image: itzg/minecraft-server:java8-multiarch + ports: + - "25565:25565" + environment: + EULA: "true" + MOD_PLATFORM: AUTO_CURSEFORGE + # allocate from https://console.curseforge.com/ and set in .env file + CF_API_KEY: ${CF_API_KEY} + CF_PAGE_URL: https://www.curseforge.com/minecraft/modpacks/minecraft-eternal/files/4102634 + CF_EXCLUDE_MODS: | + cherished-worlds + controlling + ctm + custom-main-menu + ding + minecraft-rich-presence + enchantment-descriptions + just-enough-harvestcraft + just-enough-resources-jer + menumobs + more-overlays + mouse-tweaks + oldjavawarning + overloaded-armor-bar + reauth + thaumic-jei + tips + armor-toughness-bar + waila-harvestability + ambientsounds + biomeinfo + block-drops-jei-addon + loot-capacitor-tooltips + no-recipe-book + packmodemenu + resource-reloader + +# blockdrops + + CF_FORCE_SYNCHRONIZE: "true" + MEMORY: 4G + volumes: + - mc-data:/data + - ./downloads:/downloads + +volumes: + mc-data: {} \ No newline at end of file