itzg / docker-minecraft-server

Docker image that provides a Minecraft Server that will automatically download selected version at startup
https://docker-minecraft-server.readthedocs.io/
Apache License 2.0
9.13k stars 1.51k forks source link

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

Open Cole-Mckay opened 2 months ago

Cole-Mckay commented 2 months ago

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

image

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)
perryBunn commented 2 months ago

Also getting, but very weird since foam hasnt been a dependency for atm since atm3

bobpattison123 commented 2 months ago

The error seems to stem from the recent push https://github.com/itzg/docker-minecraft-server/commit/c87145a5e46761bc4505ac114207d6d03d945a8c. The 'foamfix-for-minecraft' name isn't correct any longer so causes this error.

itzg commented 2 months ago

Stay tuned, there's more I have to fix due to https://github.com/itzg/docker-minecraft-server/pull/2967

itzg commented 2 months ago

Should be fixed now by #2969 and #2970

Cole-Mckay commented 2 months ago

I removed my container and pulled the latest image, but I'm still receiving the same error. How do I go about spinning up my server container with the newest possible version?

EDIT: FIXED I didn't remove the mod name from my exclude list.

AkashiSN commented 2 months ago

Since JEI is also included in globalExcludes, it seems that there might be an issue with it being deleted even though it is necessary for ATM9, preventing it from launching.

[mc-image-helper] 13:29:57.224 INFO : Removing old file mods/jei-1.20.1-forge-15.3.0.8.jar
...
[main/ERROR] [ne.mi.fm.lo.ModSorter/LOADING]: Missing or unsupported mandatory dependencies:
        Mod ID: 'jei', Requested by: 'jearchaeology', Expected range: '[14,)', Actual version: '[MISSING]'
        Mod ID: 'jei', Requested by: 'justenoughprofessions', Expected range: '[15.0.0.12,)', Actual version: '[MISSING]'
Shotman commented 2 months ago

Even after purging my docker cache for images, with docker system prune -a, so I'm using using the lastest image published 3 hours ago, I still can't run ATM9 with the docker image. Any special things to do ? I even followed the compose file provided in the examples folder

Everything unrolls at server startup and when the "Preparing spawn area" step comes, it stops at a random percent. https://mclo.gs/47Q0RD7 here are some logs

itzg commented 2 months ago

@Shotman If you're making it that far then your issue is not directly related to originally reported one. What you may want to try is setting CF_FORCE_SYNCHRONIZE to "true" to ensure the latest exclusions are applied. Otherwise, you might need to increase health check timeout.