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.55k stars 1.56k forks source link

Not initializing with latest server files #1972

Closed camalot closed 1 year ago

camalot commented 1 year ago

Describe the problem

Server type of AUTO_CURSEFORGE with CF_SLUG of all-the-mods-8 does not upgrade from 1.0.10 to 1.0.11.

Adding the CF_FILENAME_MATCHER of 1.0.11 results in an error message shown in the "error logs section" below.

If the CF_FILENAME_MATCHER is not specified, then it continues to load 1.0.10.

here is a url to the 1.0.11 server files. https://www.curseforge.com/minecraft/modpacks/all-the-mods-8/files/4402354

Container definition

version: '3.7'
networks:
  internal:
    driver: bridge
services:
  minecraft-curseforge:
    hostname: minecraft-curseforge
    container_name: minecraft-curseforge
    image: itzg/minecraft-server:java17-alpine
    networks:
    - internal
    ports: 
    - 25565:25565
    - 25575:25575
    restart: unless-stopped
    dns:
    - 192.168.2.7
    - 192.168.2.4
    - 192.168.2.1
    - 1.1.1.1
    - 1.0.0.1
    - 8.8.8.8
    dns_search: bit13.local

    ulimits:
      nofile:
        soft: 65536
        hard: 65536
    deploy:
      resources:
        limits:
          memory: 16g
        reservations:
          memory: 12g
    environment:

      TYPE: AUTO_CURSEFORGE
      CF_SLUG: all-the-mods-8
      CF_FILENAME_MATCHER: 1.0.11
      VERSION: 1.19.2
      FORGEVERSION: 43.2.3

      ICON: "https://i.imgur.com/RV1PBPD.png"
      OVERRIDE_ICON: 'TRUE'

      OPS_FILE: 'http://andeddu.bit13.local:10070/tacobot/minecraft/ops.json'
      WHITELIST_FILE: 'http://andeddu.bit13.local:10070/tacobot/minecraft/whitelist.json'
      ENFORCE_WHITELIST: 'true'
      OVERRIDE_WHITELIST: 'true'

      REMOVE_OLD_MODS: 'true'

      MEMORY: 12G

      ENABLE_RCON: 'true'
      RCON_PASSWORD: '******************************'
      BROADCAST_RCON_TO_OPS: 'true'

      ALLOW_NETHER: 'true'
      ANNOUNCE_PLAYER_ACHIEVEMENTS: 'true'
      STOP_SERVER_ANNOUNCE_DELAY: 60
      STOP_DURATION: 60

      MOTD: The §l§6TACO§r §cMinecraft§r Server
      MAX_PLAYERS: 20
      SNOOPER_ENABLED: 'false'
      HARDCORE: 'false'
      DIFFICULTY: easy
      GENERATE_STRUCTURES: 'true'
      MAX_BUILD_HEIGHT: 256
      SPAWN_ANIMALS: 'true'
      SPAWN_NPCS: 'true'
      SPAWN_MONSTERS: 'true'
      SPAWN_PROTECTION: 0
      VIEW_DISTANCE: 10
      MODE: survival
      PVP: 'false'
      LEVEL_TYPE: BIOMESOPLENTY
      ALLOW_FLIGHT: 'true'
      USE_MODPACK_START_SCRIPT: 'true'
      ENABLE_ROLLING_LOGS: 'true'
      GUI: 'FALSE'
      UID: 1000
      GID: 1000
      TZ: 'America/Chicago'
      EULA: 'true'
      tty: 'true'
      stdin_open: 'true'
    volumes:
    - /etc/localtime:/etc/localtime:ro
    - /etc/timezone:/etc/timezone:ro
    - /mnt/container_data/minecraft/curseforge/modpacks:/modpacks
    - /mnt/container_data/minecraft/curseforge/data:/data
    - /mnt/data/Backup/minecraft:/data/FeedTheBeast/SIMPLE-SERVER-FILES-0.3.20/backups/

Container logs

[init] Running as uid=1000 gid=1000 with /data as 'drwxrwxr-x 21 1000 1000 4096 Feb 22 11:41 /data'
[init] Resolved version given 1.19.2 into 1.19.2 and major version 1.19
[init] Resolving type given AUTO_CURSEFORGE
[mc-image-helper] 11:49:56.321 ERROR : 'install-curseforge' command failed. Version is 1.25.4
me.itzg.helpers.errors.GenericException: No matching files found for mod
    at me.itzg.helpers.curseforge.CurseForgeInstaller.lambda$resolveModpackFile$8(CurseForgeInstaller.java:266)
    at java.base/java.util.Optional.orElseThrow(Unknown Source)
    at me.itzg.helpers.curseforge.CurseForgeInstaller.resolveModpackFile(CurseForgeInstaller.java:262)
    at me.itzg.helpers.curseforge.CurseForgeInstaller.processModPack(CurseForgeInstaller.java:150)
    at me.itzg.helpers.curseforge.CurseForgeInstaller.install(CurseForgeInstaller.java:135)
    at me.itzg.helpers.curseforge.InstallCurseForgeCommand.call(InstallCurseForgeCommand.java:143)
    at me.itzg.helpers.curseforge.InstallCurseForgeCommand.call(InstallCurseForgeCommand.java:21)
    at picocli.CommandLine.executeUserObject(CommandLine.java:2041)
    at picocli.CommandLine.access$1500(CommandLine.java:148)
    at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
    at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
    at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
    at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
    at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
    at picocli.CommandLine.execute(CommandLine.java:2170)
    at me.itzg.helpers.McImageHelper.main(McImageHelper.java:123)
[init] ERROR failed to auto-install CurseForge modpack
[init] Running as uid=1000 gid=1000 with /data as 'drwxrwxr-x 21 1000 1000 4096 Feb 22 11:41 /data'
[init] Resolved version given 1.19.2 into 1.19.2 and major version 1.19
[init] Resolving type given AUTO_CURSEFORGE
[mc-image-helper] 11:49:59.265 ERROR : 'install-curseforge' command failed. Version is 1.25.4
me.itzg.helpers.errors.GenericException: No matching files found for mod
itzg commented 1 year ago

Something seems to be wrong with the upstream API. Instead of the filename matcher, reference the specific (non-server) file as CF_FILE_ID: "4402331" or replace both with a CF_PAGE_URL of https://www.curseforge.com/minecraft/modpacks/all-the-mods-8/files/4402331

itzg commented 1 year ago

OK...just discovered the files listing is getting cached, so that's something I can have the code work around.

camalot commented 1 year ago

Verified, restarted the server with the new container and updated to ATM8 1.0.11

itzg commented 1 year ago

Thanks!