itzg / itzg/docker-minecraft-server

"Unable to resolve slug into ID (no matches)"

Open
#2,968 8 comments 4 reactions 0 assignees View on GitHub
bug status/needs triage
Dominant language
Shell
Stars
14.3k
Forks
1.9k
Avg merge
2d 10h
Merged PRs (30d)
31

Description

### Describe the problem

"foamfix-for-minecraft"s slug has appeared to have changed to "foamfix-optimization-mod" which is forcing the container to exit. When I try to exclude foamfix-for-minecraft nothing changes. I attempted to create another container using AUTO_CURSEFORGE using ATM9 and got the same error with foamfix.

![image](https://github.com/itzg/docker-minecraft-server/assets/113075534/0bf91e78-fb67-4444-bb36-5b379824c2d7)

![image](https://github.com/itzg/docker-minecraft-server/assets/113075534/444643df-7bf1-4ff7-8607-456e049c0f96)

### Container definition

```

services:
mc:
image: itzg/minecraft-server
tty: true
stdin_open: true
ports:
- "25565:25565"
environment:
VERSION: "1.20.1"

SERVER_NAME: "Helium - Better MC"
ICON: https://static.wikia.nocookie.net/minecraft_gamepedia/images/5/57/Helium.png/revision/latest?cb=20180620192736
OVERRIDE_ICON: "TRUE"

TYPE: "AUTO_CURSEFORGE"
CF_API_KEY: ''
CF_PAGE_URL: https://www.curseforge.com/minecraft/modpacks/better-mc-forge-bmc4/files/5418297
CF_EXCLUDE_MODS: "foamfix-for-minecraft"
MEMORY: "6GB"
EULA: "TRUE"
volumes:
# attach the relative directory 'data' to the container's /data path
- ./data:/data

```

### Container logs

```
[init] Running as uid=1000 gid=1000 with /data as 'drwxr-xr-x 5 1000 1000 4096 Jul 7 00:39 /data'
[mc-image-helper] 01:29:52.840 INFO : Processing modpack 'Better MC [FORGE] 1.20.1 v28' (better-mc-forge-bmc4) @ 876781:5418297
[mc-image-helper] 01:29:53.015 ERROR : 'install-curseforge' command failed. Version is 1.39.3
me.itzg.helpers.errors.GenericException: Unable to resolve slug into ID (no matches): foamfix-for-minecraft
at me.itzg.helpers.curseforge.CurseForgeApiClient.lambda$slugToId$7(CurseForgeApiClient.java:178)
at java.base/java.util.Optional.orElseThrow(Unknown Source)
at me.itzg.helpers.curseforge.CurseForgeApiClient.lambda$slugToId$8(CurseForgeApiClient.java:178)
at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:113)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:305)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onNext(FluxDoFinally.java:113)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:158)
at reactor.core.publisher.MonoPublishOn$PublishOnSubscriber.run(MonoPublishOn.java:181)
at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Suppressed: java.lang.Exception: #block terminated with an error
at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:103)
at reactor.core.publisher.Mono.block(Mono.java:1712)
at me.itzg.helpers.curseforge.CurseForgeInstaller.resolveExcludeIncludes(CurseForgeInstaller.java:663)
at me.itzg.helpers.curseforge.CurseForgeInstaller.processModpack(CurseForgeInstaller.java:548)
at me.itzg.helpers.curseforge.CurseForgeInstaller.resolveModpackFileAndProcess(CurseForgeInstaller.java:400)
at me.itzg.helpers.curseforge.CurseForgeInstaller.installByRetrievingModpackZip(CurseForgeInstaller.java:262)
at me.itzg.helpers.curseforge.CurseForgeInstaller.lambda$install$3(CurseForgeInstaller.java:181)
at me.itzg.helpers.curseforge.CurseForgeInstaller.install(CurseForgeInstaller.java:218)
at me.itzg.helpers.curseforge.CurseForgeInstaller.install(CurseForgeInstaller.java:180)
at me.itzg.helpers.curseforge.InstallCurseForgeCommand.call(InstallCurseForgeCommand.java:213)
at me.itzg.helpers.curseforge.InstallCurseForgeCommand.call(InstallCurseForgeCommand.java:29)
at picocli.CommandLine.executeUserObject(CommandLine.java:2045)
at picocli.CommandLine.access$1500(CommandLine.java:148)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2465)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2457)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2419)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2421)
at picocli.CommandLine.execute(CommandLine.java:2174)
at me.itzg.helpers.McImageHelper.main(McImageHelper.java:159)
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the failure with the shown Docker Compose settings, especially CF_EXCLUDE_MODS and CF_PAGE_URL. Start at CurseForgeInstaller.resolveExcludeIncludes and CurseForgeApiClient.slugToId from the stack trace, then verify that the excluded FoamFix project is resolved without aborting modpack installation.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, java, shell
Domain
devops, infrastructure, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.