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

Excluding Files is not working Modrinth #2529

Closed xdinterface closed 11 months ago

xdinterface commented 11 months ago

Describe the problem

I am trying to exclude a mod from the cobblemon modpack, which is betterpingdisplay. I followed the documentation but i still get an error trying to start the server because of this specific mod.

Container definition

version: "1.0"

services:
  cobblemon:
    container_name: cobblemon
    image: itzg/minecraft-server:latest
    restart: unless-stopped
    tty: true
    stdin_open: true
    environment:
      UID: 1000
      GID: 1000
      EULA: "TRUE"
      TZ: "Europe/Berlin"
      REPLACE_ENV_VARIABLES: "TRUE"
      INIT_MEMORY: 4G
      MAX_MEMORY: 8G
      TYPE: FABRIC
      VERSION: 1.20.1
      #CONSOLE: "FALSE"
      #SEED:
      DIFFICULTY: normal
      OPS: qlqn
      MOTD: "Herzlich Willkommen auf dem Cobbleface Server. Viel Spaß beim Spielen!"
      PVP: "FALSE"
      SPAWN_PROTECTION: 0
      ICON: https://cdn.modrinth.com/data/MdwFAVRL/e54083a07bcd9436d1f8d2879b0d821a54588b9e.png
      MAX_PLAYERS: 20
      ENABLE_WHITELIST: "TRUE"
      WHITELIST_FILE: /home/hades/minecraft/cobblemon/whitelist.json
      MOD_PLATFORM: "MODRINTH"
      MODRINTH_MODPACK: https://modrinth.com/modpack/cobblemon-fabric/version/1.4.0.1
      MODRINTH_LOADER: "fabric"
      REMOVE_OLD_MODS: "TRUE"
      MODRINTH_EXCLUDE_FILES: |
        betterpingdisplay
      MODRINTH_IGNORE_MISSING_FILES: |
        /home/hades/cobblemon/mods/overrides/config/betterpingdisplay.json
    ports:
      - 25565:25565
    volumes:
      - /home/hades/minecraft/cobblemon:/data

Container logs

[init] Removing old mods including:*.jar,*-version.json excluding:
[init] Enabling whitelist functionality
[mc-image-helper] 13:47:16.750 INFO  : Created/updated 1 property in /data/server.properties
[init] Replacing env variables in /data that match the prefix 'CFG_' ...
[mc-image-helper] 13:47:17.555 ERROR : 'interpolate' command failed. Version is 1.37.3
me.itzg.helpers.errors.GenericException: Failed to process the directory /data: /data/mods/overrides/config/betterpingdisplay.json
    at me.itzg.helpers.sync.InterpolateCommand.call(InterpolateCommand.java:44)
    at me.itzg.helpers.sync.InterpolateCommand.call(InterpolateCommand.java:18)
    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:157)
Caused by: java.nio.file.AccessDeniedException: /data/mods/overrides/config/betterpingdisplay.json
    at java.base/sun.nio.fs.UnixException.translateToIOException(Unknown Source)
    at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
    at java.base/sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
    at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(Unknown Source)
    at java.base/java.nio.file.Files.newByteChannel(Unknown Source)
    at java.base/java.nio.file.Files.newByteChannel(Unknown Source)
    at java.base/java.nio.file.Files.readAllBytes(Unknown Source)
    at me.itzg.helpers.sync.InterpolateCommand.processFile(InterpolateCommand.java:63)
    at me.itzg.helpers.sync.InterpolateCommand.lambda$processDirectory$1(InterpolateCommand.java:56)
    at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
    at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
    at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
    at java.base/java.util.Iterator.forEachRemaining(Unknown Source)
    at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
    at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
    at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
    at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
    at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
    at java.base/java.util.stream.ReferencePipeline.forEach(Unknown Source)
    at me.itzg.helpers.sync.InterpolateCommand.processDirectory(InterpolateCommand.java:56)
    at me.itzg.helpers.sync.InterpolateCommand.call(InterpolateCommand.java:42)
    ... 10 common frames omitted
[init] Running as uid=1000 gid=1000 with /data as 'drwxrwxr-x 20 1000 1000 4096 Dec  5 13:47 /data'
xdinterface commented 11 months ago

Okay nevermind it worked but i had to delete the override that was created while trying to run the server before excluding the mod. Sorry for the confusion but maybe this info helps future noobs like me.

xdinterface commented 11 months ago

this is done