Closed da-stoaz closed 4 months ago
I also have this problem. My Minecraft server uses the docker image and this bug means I can't use Better-MC :(
You can adapt it by using the example provided in the itzg github :
services:
mc:
image: itzg/minecraft-server:java17
environment:
EULA: true
TYPE: MODRINTH
VERSION: 1.20.1
MEMORY: 10G
MODRINTH_MODPACK: better-mc-forge-bmc4
MODRINTH_VERSION: v28
MODRINTH_OVERRIDES_EXCLUSIONS: |
mods/NekosEnchantedBooks-*.jar
mods/citresewn-*.jar
MODS_FILE: /extras/mods.txt
ENABLE_WHITELIST: false
MAX_PLAYERS: 5
ANNOUNCE_PLAYER_ACHIEVEMENTS: "true"
SPAWN_ANIMALS: "true"
SPAWN_MONSTERS: "true"
PVP: "true"
TZ: "Europa/Paris"
volumes:
- data:/data
- ./mods.txt:/extras/mods.txt:ro
ports:
- "25565:25565"
volumes:
data: {}
Though for me, another problem arises with the client crashing when trying to join the server (while singleplayer works fine) with a log that is too long for prism to handle apparently
For reference, my mods.txt contains this :
https://mediafilez.forgecdn.net/files/5052/580/quark_delight_1.0.0_forge_1.20.1.jar
https://mediafilez.forgecdn.net/files/5029/396/aether_delight_1.0.0_forge_1.20.1.jar
https://mediafilez.forgecdn.net/files/5399/941/mowziesmobs-1.6.5.jar
https://mediafilez.forgecdn.net/files/5468/648/twilightforest-1.20.1-4.3.2508-universal.jar
EDIT : replacing the twilight forest download link with the proper version ( https://mediafilez.forgecdn.net/files/5071/19/twilightforest-1.20.1-4.3.2145-universal.jar ) now only makes the client softlock on the "encrypting" phase sooo that's progress, I guess ??
EDIT 2 : just ended up making a script to download all the required mods with the FileIDs listed in manifest.json through curseforge API requests and running a standard forge docker config, then copying the elements of the "override" directory of the modpack to the data directory. Now it's working. I guess itzg's docker-compose way of pulling mods does some really weird things whether you're using curseforge or modrinth.
For reference, here's the script I made if you ever choose to go that way :
#!/bin/sh
ids=$(jq -r '[.files.[].fileID] | join(", ")' ../manifest.json)
echo $ids
mod_urls=$(curl -X POST https://api.curseforge.com/v1/mods/files -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'x-api-key: [insert your api key here]' -d "{ \"fileIds\": [ ${ids} ] }" | jq -r '.data[].downloadUrl')
for u in $mod_urls;do
# echo $u
if [[ $u != "null" ]];then
wget $u
else
echo "somehow some mods are missing, good luck with that !"
fi
done
The curseforge api returned some modpacks twice, while missing some other ones (I think because of licensing issues on those mods). That meant I had to find the fifteen or so fileIDs it had skipped and search/download them manually. Though not perfect, 15 mods to download manually is way better than 260 :sweat_smile:
Though you could always automate the process for those mods too since the download links have a fix form you could construct from the information given by a get mod file request.
itzg's Minecraft docker does NOT use the serverpack files that we dedicate hours of testing and troubleshooting to create and provide for our users. They have instead decided to use the Modrinth version of our modpacks, which does not come with all mods by default due to some mods licenses not allowing redistribution on Modrinth.
When you launch the Modrinth version of the modpack, there is a popup that prompts you to add these mods manually. Because itzg's docker just grabs the Modrinth client files and manually removes clientside mods (which it does not do properly and ends up missing a lot of stuff), you end up with less mods than intended.
Overall, there's really just no reason to use a docker - most people have no use case for it and just one out of habit. If you're going to use a docker, then please, don't use the one by itzg. He absolutely refuses to support serverpack files for some reason which is a move that goes directly against modpack developers.
If you want to host a server properly, please read our extensive guide here.
Thanks for your replies and information all!
For what it's worth I spent a little longer trying to get the docker server running using the Modrinth config but couldn't get the server to boot.
I've now switched over to a Bisect Hosting server with BMC4 pre-installed and it's working nicely!
Describe the Bug
I wanted to set up a Minecraft Server in Docker, but Errors occur in the creation of the container (first start). As a result, the container does not start at all.
Reproduction Steps
...
Screenshots and Videos
logs.txt
Crash Report or Log
No response
Operating System
Linux Ubuntu
Minecraft Version
1.20.1
Modloader
Forge
Modpack Version
v28
Other Mods
No additional mods