Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error when adding CF_FILE_ID to address the server mod pack for minecraft-legendary-edition #3236

Closed
FlHinrichsen opened this issue Jan 6, 2025 · 2 comments

Comments

@FlHinrichsen
Copy link

Describe the problem

The download failed with the following error:
me.itzg.helpers.errors.GenericException: Failed to setup API caching: Cannot construct instance of me.itzg.helpers.curseforge.model.ManifestFileRef (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('config')
at [Source: REDACTED (StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION disabled); line: 2, column: 15] (through reference chain: me.itzg.helpers.curseforge.model.MinecraftModpackManifest["files"]->java.util.ArrayList[0])

Container definition

{
"AppArmorProfile": "docker-default",
"Args": [],
"Config": {
"AttachStderr": true,
"AttachStdin": false,
"AttachStdout": true,
"Cmd": null,
"Domainname": "",
"Entrypoint": [
"/start"
],
"Env": [
"MODE=survival",
"SERVER_NAME=Minecraft Server",
"ENABLE_RCON=TRUE",
"GUI=FALSE",
"PVP=TRUE",
"FORCE_GAMEMODE=FALSE",
"ENABLE_COMMAND_BLOCK=FALSE",
"PUID=568",
"SPAWN_PROTECTION=16",
"MOTD=Welcome to Minecraft on TrueNAS!",
"CF_API_KEY=$2a$10$QDbkrtHg0HrYEpT6Aan4c.aidDOFUIYT4wlSVKKfjh7SY2K4KRf0u",
"MAX_BUILD_HEIGHT=256",
"SERVER_PORT=25535",
"RCON_PORT=25575",
"DIFFICULTY=hard",
"MAX_PLAYERS=20",
"CF_FILE_ID=6058373",
"USER_ID=568",
"HARDCORE=FALSE",
"ALLOW_FLIGHT=FALSE",
"UMASK=002",
"LEVEL_TYPE=minecraft:default",
"ALLOW_NETHER=TRUE",
"GENERATE_STRUCTURES=TRUE",
"GROUP_ID=568",
"GID=568",
"MAX_TICK_TIME=60000",
"TZ=Europe/Berlin",
"VERSION=1.20.1",
"MAX_WORLD_SIZE=10000",
"ANNOUNCE_PLAYER_ACHIEVEMENTS=TRUE",
"SPAWN_MONSTERS=TRUE",
"PGID=568",
"SPAWN_NPCS=TRUE",
"UMASK_SET=002",
"VIEW_DISTANCE=12",
"MAX_MEMORY=8G",
"TYPE=AUTO_CURSEFORGE",
"CF_SLUG=minecraft-legendary-edition",
"SPAWN_ANIMALS=TRUE",
"RCON_PASSWORD=***",
"NVIDIA_VISIBLE_DEVICES=void",
"EULA=TRUE",
"UID=568",
"ONLINE_MODE=TRUE",
"PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"JAVA_HOME=/opt/java/openjdk",
"LANG=en_US.UTF-8",
"LANGUAGE=en_US:en",
"LC_ALL=en_US.UTF-8",
"JAVA_VERSION=jdk-21.0.5+11"
],
"ExposedPorts": {
"25535/tcp": {},
"25565/tcp": {},
"25575/tcp": {}
},
"Healthcheck": {
"Interval": 10000000000,
"Retries": 30,
"StartPeriod": 120000000000,
"Test": [
"CMD-SHELL",
"mc-health"
],
"Timeout": 5000000000
},
"Hostname": "ac858f2c8c69",
"Image": "itzg/minecraft-server:2024.12.1-java21",
"Labels": {
"com.docker.compose.config-hash": "1df324c9fb859625c7c29440634fafc4701b052bf4a2a8230c83c47b85988aaa",
"com.docker.compose.container-number": "1",
"com.docker.compose.depends_on": "",
"com.docker.compose.image": "sha256:da0f9974c39bd9bc365b4cb56a35d20e0d1fa9b2a0ca5a13d4ed546b9bd30baf",
"com.docker.compose.oneoff": "False",
"com.docker.compose.project": "ix-minecraft",
"com.docker.compose.project.config_files": "/mnt/.ix-apps/app_configs/minecraft/versions/1.12.7/templates/rendered/docker-compose.yaml",
"com.docker.compose.project.working_dir": "/mnt/.ix-apps/app_configs/minecraft/versions/1.12.7/templates/rendered",
"com.docker.compose.service": "minecraft",
"com.docker.compose.version": "2.29.1",
"org.opencontainers.image.authors": "Geoff Bourne [email protected]",
"org.opencontainers.image.created": "2024-12-20T03:33:27.114Z",
"org.opencontainers.image.description": "Docker image that provides a Minecraft Server that will automatically download selected version at startup",
"org.opencontainers.image.licenses": "Apache-2.0",
"org.opencontainers.image.ref.name": "ubuntu",
"org.opencontainers.image.revision": "1f6288efd82d45f4e5a0744c01acba7cf8ce7795",
"org.opencontainers.image.source": "https://github.com/itzg/docker-minecraft-server",
"org.opencontainers.image.title": "docker-minecraft-server",
"org.opencontainers.image.url": "https://github.com/itzg/docker-minecraft-server",
"org.opencontainers.image.version": "2024.12.1"
},
"OnBuild": null,
"OpenStdin": true,
"StdinOnce": false,
"StopSignal": "SIGTERM",
"Tty": true,
"User": "",
"Volumes": {
"/data": {}
},
"WorkingDir": "/data"
},
"Created": "2025-01-06T11:59:30.844873807Z",
"Driver": "overlay2",
"ExecIDs": null,
"GraphDriver": {
"Data": {
"LowerDir": "/mnt/.ix-apps/docker/overlay2/7d94204a7ebe42ccac09840b203008699bbf5223bfbab016795daa47a5b8c1cb-init/diff:/mnt/.ix-apps/docker/overlay2/92ee1fa5b352b0582b6b58eda94dc02b075e5094a446f38625c3886bfc034b8b/diff:/mnt/.ix-apps/docker/overlay2/805f041f06bb62ed59ada0453eb6fe3e25086aa7570122c551a2f32fa2395a2b/diff:/mnt/.ix-apps/docker/overlay2/1e330511b8b182e9a9d022933e0fa8badc46c79a83cc6f481bd447facd103dc7/diff:/mnt/.ix-apps/docker/overlay2/06e6fde38ae3a3aaaf7e151892476a9e214873e5ef19831c8980a8a6294f0c61/diff:/mnt/.ix-apps/docker/overlay2/2b2928d84a1b0bc2c8f62e5b6024f4750fac01c3ec4aebb517071400d8df6fda/diff:/mnt/.ix-apps/docker/overlay2/fcd8f62a108f528ec5f0eafa77cc196c5256888311ba8880aa1c8a28eed24cfe/diff:/mnt/.ix-apps/docker/overlay2/aaa8ecdd2769b415991736916ea09048959fedcb5fafaef2e99abd80d25064da/diff:/mnt/.ix-apps/docker/overlay2/a2e9201c63c5d73809ac05187958307ac940c6727abbddcdc68fac4f85b7782e/diff:/mnt/.ix-apps/docker/overlay2/c79547c8017935eac7f8ce4fb65d25f7bb1284149f9ae2d012742a033857c000/diff:/mnt/.ix-apps/docker/overlay2/0aadfc488c5202438aef31074a2b74f361414d750726ff972823147742a0a7f3/diff:/mnt/.ix-apps/docker/overlay2/faf6d9fff203cd75823f3ee3c22bfe72d14d59624c762d4899a4605414bfe1ca/diff:/mnt/.ix-apps/docker/overlay2/6b545892b2e5bad26f2493a9083d6316dcfe6909b6260c4eeb1f5bf31f185ba2/diff:/mnt/.ix-apps/docker/overlay2/ba9255420981874782bce070d0033a2f32085282f84f37e34eb7a1b9c86f1f94/diff:/mnt/.ix-apps/docker/overlay2/e5816fb181af4a9415b81c76cad9e936c4e0f3fdf87581245fa46776054cce75/diff:/mnt/.ix-apps/docker/overlay2/3e9b4e81a53da980d6ece138559304ea3d46edb663844610b602b70a0220c26e/diff:/mnt/.ix-apps/docker/overlay2/c6dc7428a556709cb7aa0a7e283bde52a5b49a45b0ba7f116b9db0f90c1ff7e0/diff:/mnt/.ix-apps/docker/overlay2/c479191136b6863049196a57911e3e815fbb2de8eaf9354e945cd0f9efbdeacd/diff:/mnt/.ix-apps/docker/overlay2/fe650d87fb28b7b0fda6ecccd8746359d76a929d52e2519be0658e7579252b74/diff:/mnt/.ix-apps/docker/overlay2/3f14bcfb2592d10574ad1286a292fc3886069cf105d734b21f383fb7c4606387/diff:/mnt/.ix-apps/docker/overlay2/fc343a7d2bd55121a73afa0d3219a26cbaa1886869a5f196292bec9818731b32/diff:/mnt/.ix-apps/docker/overlay2/6eab2e7c79533d361fdb319b4da5688945070de00c526aa38665387d4f0b7ff6/diff:/mnt/.ix-apps/docker/overlay2/d0fa707c76659a0dcdf0a585e6719a0f98e9a3255d158465cbb36eb0ad9933c7/diff:/mnt/.ix-apps/docker/overlay2/41ddaa5d28fe940dc4bea1e02690bcb0de22c24e2498a9ebe44d72ea8b18f36d/diff",
"MergedDir": "/mnt/.ix-apps/docker/overlay2/7d94204a7ebe42ccac09840b203008699bbf5223bfbab016795daa47a5b8c1cb/merged",
"UpperDir": "/mnt/.ix-apps/docker/overlay2/7d94204a7ebe42ccac09840b203008699bbf5223bfbab016795daa47a5b8c1cb/diff",
"WorkDir": "/mnt/.ix-apps/docker/overlay2/7d94204a7ebe42ccac09840b203008699bbf5223bfbab016795daa47a5b8c1cb/work"
},
"Name": "overlay2"
},
"HostConfig": {
"AutoRemove": false,
"Binds": null,
"BlkioDeviceReadBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceWriteIOps": null,
"BlkioWeight": 0,
"BlkioWeightDevice": null,
"CapAdd": [
"CHOWN",
"DAC_OVERRIDE",
"FOWNER",
"SETGID",
"SETUID"
],
"CapDrop": [
"ALL"
],
"Cgroup": "",
"CgroupParent": "",
"CgroupnsMode": "private",
"ConsoleSize": [
0,
0
],
"ContainerIDFile": "",
"CpuCount": 0,
"CpuPercent": 0,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpuShares": 0,
"CpusetCpus": "",
"CpusetMems": "",
"DeviceCgroupRules": null,
"DeviceRequests": null,
"Devices": null,
"Dns": null,
"DnsOptions": null,
"DnsSearch": null,
"ExtraHosts": [],
"GroupAdd": [
"568"
],
"IOMaximumBandwidth": 0,
"IOMaximumIOps": 0,
"IpcMode": "private",
"Isolation": "",
"Links": null,
"LogConfig": {
"Config": {},
"Type": "json-file"
},
"MaskedPaths": [
"/proc/asound",
"/proc/acpi",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware",
"/sys/devices/virtual/powercap"
],
"Memory": 8589934592,
"MemoryReservation": 0,
"MemorySwap": 17179869184,
"MemorySwappiness": null,
"Mounts": [
{
"BindOptions": {
"Propagation": "rprivate"
},
"Source": "/mnt/T1000Z2/T1000Z2 Data/Minecraft",
"Target": "/data",
"Type": "bind"
}
],
"NanoCpus": 2000000000,
"NetworkMode": "ix-minecraft_default",
"OomKillDisable": null,
"OomScoreAdj": 0,
"PidMode": "",
"PidsLimit": null,
"PortBindings": {
"25535/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "25535"
}
],
"25575/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "25575"
}
]
},
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
],
"ReadonlyRootfs": false,
"RestartPolicy": {
"MaximumRetryCount": 0,
"Name": "unless-stopped"
},
"Runtime": "runc",
"SecurityOpt": [
"no-new-privileges"
],
"ShmSize": 67108864,
"UTSMode": "",
"Ulimits": null,
"UsernsMode": "",
"VolumeDriver": "",
"VolumesFrom": null
},
"HostnamePath": "/mnt/.ix-apps/docker/containers/ac858f2c8c692134b013568dc8c5c2b1a7980f2bbb7daf46e2a1138a10232c24/hostname",
"HostsPath": "/mnt/.ix-apps/docker/containers/ac858f2c8c692134b013568dc8c5c2b1a7980f2bbb7daf46e2a1138a10232c24/hosts",
"Id": "ac858f2c8c692134b013568dc8c5c2b1a7980f2bbb7daf46e2a1138a10232c24",
"Image": "sha256:da0f9974c39bd9bc365b4cb56a35d20e0d1fa9b2a0ca5a13d4ed546b9bd30baf",
"LogPath": "/mnt/.ix-apps/docker/containers/ac858f2c8c692134b013568dc8c5c2b1a7980f2bbb7daf46e2a1138a10232c24/ac858f2c8c692134b013568dc8c5c2b1a7980f2bbb7daf46e2a1138a10232c24-json.log",
"MountLabel": "",
"Mounts": [
{
"Destination": "/data",
"Mode": "",
"Propagation": "rprivate",
"RW": true,
"Source": "/mnt/T1000Z2/T1000Z2 Data/Minecraft",
"Type": "bind"
}
],
"Name": "/ix-minecraft-minecraft-1",
"NetworkSettings": {
"Bridge": "",
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"HairpinMode": false,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"MacAddress": "",
"Networks": {
"ix-minecraft_default": {
"Aliases": [
"ix-minecraft-minecraft-1",
"minecraft",
"ac858f2c8c69"
],
"DNSNames": [
"ix-minecraft-minecraft-1",
"minecraft",
"ac858f2c8c69"
],
"DriverOpts": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAMConfig": null,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"Links": null,
"MacAddress": "",
"NetworkID": "3baa8492359dc213878e7d754909d54ac6cb7ee2ba894face17e725285f2a7c1"
}
},
"Ports": {},
"SandboxID": "",
"SandboxKey": "",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null
},
"Path": "/start",
"Platform": "linux",
"ProcessLabel": "",
"ResolvConfPath": "/mnt/.ix-apps/docker/containers/ac858f2c8c692134b013568dc8c5c2b1a7980f2bbb7daf46e2a1138a10232c24/resolv.conf",
"RestartCount": 14,
"State": {
"Dead": false,
"Error": "",
"ExitCode": 1,
"FinishedAt": "2025-01-06T12:06:20.943659608Z",
"Health": {
"FailingStreak": 0,
"Log": [
{
"End": "2025-01-06T13:01:50.806493499+01:00",
"ExitCode": 1,
"Output": "failed to ping localhost:25535 : could not connect to Minecraft server: dial tcp [::1]:25535: connect: connection refused",
"Start": "2025-01-06T13:01:50.745107173+01:00"
},
{
"End": "2025-01-06T13:02:50.496123944+01:00",
"ExitCode": 1,
"Output": "failed to ping localhost:25535 : could not connect to Minecraft server: dial tcp [::1]:25535: connect: connection refused",
"Start": "2025-01-06T13:02:50.439039342+01:00"
},
{
"End": "2025-01-06T13:03:59.383615791+01:00",
"ExitCode": 1,
"Output": "failed to ping localhost:25535 : could not connect to Minecraft server: dial tcp [::1]:25535: connect: connection refused",
"Start": "2025-01-06T13:03:59.327178876+01:00"
},
{
"End": "2025-01-06T13:05:07.751053375+01:00",
"ExitCode": 1,
"Output": "failed to ping localhost:25535 : could not connect to Minecraft server: dial tcp [::1]:25535: connect: connection refused",
"Start": "2025-01-06T13:05:07.669098969+01:00"
},
{
"End": "2025-01-06T13:06:16.059039724+01:00",
"ExitCode": 1,
"Output": "failed to ping localhost:25535 : could not connect to Minecraft server: dial tcp [::1]:25535: connect: connection refused",
"Start": "2025-01-06T13:06:15.976725397+01:00"
}
],
"Status": "unhealthy"
},
"OOMKilled": false,
"Paused": false,
"Pid": 0,
"Restarting": true,
"Running": true,
"StartedAt": "2025-01-06T12:06:10.737659391Z",
"Status": "restarting"
}
}

Container logs

[init] Changing uid of minecraft to 568
[init] Changing gid of minecraft to 568
[init] Running as uid=568 gid=568 with /data as 'drwxrwxrwx 3 568 568 6 Jan 6 12:57 /data'
[mc-image-helper] 12:59:40.692 INFO : Processing modpack 'Minecraft_Legendary_Edition_1.20.1-2.3_server_pack.zip' (minecraft-legendary-edition) @ 544772:6058373
[mc-image-helper] 12:59:41.029 ERROR : 'install-curseforge' command failed. Version is 1.40.6
me.itzg.helpers.errors.GenericException: Failed to setup API caching: Cannot construct instance of me.itzg.helpers.curseforge.model.ManifestFileRef (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('config')
at [Source: REDACTED (StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION disabled); line: 2, column: 15] (through reference chain: me.itzg.helpers.curseforge.model.MinecraftModpackManifest["files"]->java.util.ArrayList[0])
at me.itzg.helpers.curseforge.CurseForgeInstaller.install(CurseForgeInstaller.java:251)
at me.itzg.helpers.curseforge.CurseForgeInstaller.install(CurseForgeInstaller.java:183)
at me.itzg.helpers.curseforge.InstallCurseForgeCommand.call(InstallCurseForgeCommand.java:222)
at me.itzg.helpers.curseforge.InstallCurseForgeCommand.call(InstallCurseForgeCommand.java:30)
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:161)
Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of me.itzg.helpers.curseforge.model.ManifestFileRef (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('config')
at [Source: REDACTED (StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION disabled); line: 2, column: 15] (through reference chain: me.itzg.helpers.curseforge.model.MinecraftModpackManifest["files"]->java.util.ArrayList[0])
at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:63)
at com.fasterxml.jackson.databind.DeserializationContext.reportInputMismatch(DeserializationContext.java:1754)
at com.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator(DeserializationContext.java:1379)
at com.fasterxml.jackson.databind.deser.std.StdDeserializer._deserializeFromString(StdDeserializer.java:311)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromString(BeanDeserializerBase.java:1592)
at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:197)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:187)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeFromArray(CollectionDeserializer.java:361)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:246)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:30)
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:310)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:342)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4917)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3897)
at me.itzg.helpers.curseforge.CurseForgeInstaller.extractModpackManifest(CurseForgeInstaller.java:1004)
at me.itzg.helpers.curseforge.CurseForgeInstaller.resolveModpackFileAndProcess(CurseForgeInstaller.java:412)
at me.itzg.helpers.curseforge.CurseForgeInstaller.installByRetrievingModpackZip(CurseForgeInstaller.java:275)
at me.itzg.helpers.curseforge.CurseForgeInstaller.lambda$install$3(CurseForgeInstaller.java:184)
at me.itzg.helpers.curseforge.CurseForgeInstaller.install(CurseForgeInstaller.java:229)
... 12 common frames omitted
[init] [ERROR] Failed to auto-install CurseForge modpack

@itzg
Copy link
Owner

itzg commented Jan 6, 2025

I know it seems counterintuitive, but you picked the wrong modpack file type. You must reference a client modpack file and not a server file. Server modpack files usually don't have a manifest and in this case it was effectively an invalid manifest. https://www.curseforge.com/minecraft/modpacks/minecraft-legendary-edition/files/6058317 is probably what you intended to use.

@FlHinrichsen
Copy link
Author

Ok, I've tried that. It works when I exclude the client mods manually.
This was why I thought to reference the server pack would be a good idea.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants