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.54k stars 1.55k forks source link

Failing to start due to client side mods #2730

Closed clbx closed 8 months ago

clbx commented 8 months ago

Describe the problem

The modpack is failing to start due to the lack of two client side mods. If I download these mods, it then fails to start them with an invalid dist DEDICATED_SERVER, error.

I'm trying to install this modpack

Container definition

I run it in kubernetes, but its more or less the same as the docker compose file

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: minecraft-modded
  namespace: games
spec:
  serviceName: "minecraft-modded"
  replicas: 1
  selector:
    matchLabels:
      app: minecraft-modded
  template:
    metadata:
      labels:
        app: minecraft-modded
    spec:
      containers:
      - name: minecraft-modded
        image: itzg/minecraft-server
        resources:
          limits:
            memory: "12Gi"
        ports:
        - name: minecraft
          containerPort: 25565
          protocol: TCP
        - name: rcon
          containerPort: 25575
          protocol: TCP
        env:
        - name: TYPE
          value: "AUTO_CURSEFORGE"
        - name: CF_SLUG
          value: "steam-punk"
        - name: "CF_FILE_ID"
          value: "5049039"
        - name: "CF_EXCLUDE_MODS"
          value: "ryoamiclights jerintegration"
        - name: CF_IGNORE_MISSING_FILES
          value: "mods/obsidianui-0.1.3+1.19.2.jar mods/JustEnoughResources-1.19.2-1.2.3.243.jar"
        - name: CF_API_KEY
          valueFrom:
            secretKeyRef:
              name: curseforge-api-key
              key: apikey
        - name: EULA
          value: 'TRUE'
        - name: MEMORY
          value: 10G
        - name: OVERRIDE_SERVER_PROPERTIES
          value: 'true'
        - name: SEED
          value: "MConK8S"
        - name: VIEW_DISTANCE
          value: "12"
        - name: MOTD
          value: '§l§6Juice§cCloud§f SteamPunk'
        volumeMounts:
        - name: minecraft-modded-steampunk
          mountPath: /data
  volumeClaimTemplates:
  - metadata:
      name: minecraft-modded-steampunk
    spec:
      accessModes: ["ReadWriteOnce"]
      storageClassName: longhorn
      resources:
        requests:
          storage: 32Gi

Container logs

The main event:

[03:35:11] [main/ERROR] [ne.mi.fm.lo.ModSorter/LOADING]: Missing or unsupported mandatory dependencies:
    Mod ID: 'spruceui', Requested by: 'ryoamiclights', Expected range: '*', Actual version: '[MISSING]'
    Mod ID: 'jeresources', Requested by: 'jerintegration', Expected range: '[0.14.1.160,)', Actual version: '[MISSING]'

minecraft-modded-0.log

itzg commented 8 months ago

I'm not sure if there's anything more the image can do to solve this -- perhaps write an issue for the modpack author.

You will definitely need to exclude client side mods that fail with

invalid dist DEDICATED_SERVER

Perhaps you'll need to exclude more client side mods that are not failing with that obvious kind of error but instead are failing because the other client mods are missing.

froebera commented 8 months ago

'ryoamiclights jer-integration bocchium' are the mods that need to be excluded.

Dont forget that you have to either download your server files again or manually remove these mods from your mod folder after updating the environment variable.

itzg commented 8 months ago

Thanks @froebera !

Can also set CF_FORCE_SYNCHRONIZE temporarily to "true" to ensure excluded mods are cleaned up.

clbx commented 8 months ago

Thank you both!

I also had to remove "spruceui", and then delete them from the mods folder. Looks like its happy now.

sebastian-mora commented 6 months ago

@clbx Are you able to share your docker compose file? I am running into a very similar issue but my exclude statements do not seem to working for me

  steampunk:
    image: itzg/minecraft-server
    tty: true
    stdin_open: true
    ports:
      - "25566:25565"
    environment:
      TYPE: AUTO_CURSEFORGE 
      EULA: "TRUE"
      MAX_MEMORY: 8G
      CF_API_KEY: XXXXXX
      CF_PAGE_URL: "https://www.curseforge.com/minecraft/modpacks/steam-punk/files/5226021"
      MOTD: "SteamPunk"
      ONLINE_MODE: false
      CF_EXCLUDE_MODS: "ryoamiclights jerintegration spruceui"
      CF_IGNORE_MISSING_FILES: "mods/obsidianui-*.jar mods/JustEnoughResources-*.jar"
    volumes:
      - ./data/steampunk-data:/data

Getting errors for jerintegration and ryoamiclights

  Details:
steampunk-1  |  Mod File: /data/mods/JER-Integration-4.5.0.jar
steampunk-1  |  Failure message: Mod jerintegration requires jeresources 0.14.1.160 or above
steampunk-1  |          Currently, jeresources is not installed
....
steampunk-1  |  Failure message: Mod ryoamiclights requires spruceui any
steampunk-1  |          Currently, spruceui is not installed
steampunk-1  |  Mod Version: 0.1.5+1.19.2
steampunk-1  |  Mod Issue URL: NOT PROVIDED
steampunk-1  |  Exception message: MISSING EXCEPTION MESSAGE

Update:

The fix for me was updating the slug from `jerintegration -> jer-integration (mod-page)

Then setting CF_FORCE_SYNCHRONIZE : true