Skip to content

Installing Curseforge modpack "Above and Beyond" fails to install mods listed in the manifest.json file #2295

Description

@dennisjenkins75

Describe the problem

Hello.

Attempting to install "Above and Beyond 1.3" (from Curseforge) (via TYPE=FORGE, GENERIC_PACK:url) fails to install the actual mods that make up the modpack.

Questions:

  1. Why are the actual mods (~136 JAR files) not actually downloaded and installed during docker compose up?
    1. Which software component is responsible for this? This docker image, Curseforge, some other mod in Minecraft?
    2. Corollary: Why do the mods download and install when running the Minecraft client (full GUI)?
  2. What is the proper contents for docker-compose.yaml that would create the server with the mods installed?
  3. Is a documentation update in this github warranted?
    1. If we can get this to work, I'll be happy to send a PR to add an example.

Host system: Gentoo Linux.

$ cat docker-compose.yaml 
# https://www.curseforge.com/minecraft/modpacks/create-above-and-beyond
# Project ID: 542763
# 1.16.5-forge-36.2.20

version: "3"

services:
    mc:
        hostname: minecraft-caab
        container_name: minecraft-caab
        image: itzg/minecraft-server:java8
        ports:
            - 25565:25565
        environment:
            EULA: "TRUE"
            TYPE: "FORGE"
            DEBUG: "false"
            VERSION: "1.16.5"
            FORGE_VERSION: "36.2.20"
            GENERIC_PACK: "https://mediafilez.forgecdn.net/files/3567/550/Above+and+Beyond-1.3.zip"
            REMOVE_OLD_MODS: "false"
            MEMORY: "8G"
            TZ: "America/Los_Angeles"
        tty: true
        stdin_open: true
        restart: unless-stopped
        volumes:
            - type: bind
              source: /array/minecraft/caab
              target: /data
              read_only: false

The /array/minecraft/caab directory exists, but is 100% empty (no hidden files, nothing).

$ docker compose up
... (no errors)

Docker logs indicate that the modpack was downloaded and installed.

docker logs minecraft-caab -f
[init] Running as uid=1000 gid=1000 with /data as 'drwxrwxr-x 2 1000 1000 4096 Jul 16 13:47 /data'
[init] Resolving type given FORGE
[mc-image-helper] 13:47:40.064 INFO  : Downloading Forge installer 36.2.20 for Minecraft 1.16.5
[mc-image-helper] 13:47:41.402 INFO  : Running Forge installer. This might take a while...
[init] Downloading generic pack from https://mediafilez.forgecdn.net/files/3567/550/Above+and+Beyond-1.3.zip
[init] Checking if generic packs are up to date
[init] Generic pack(s) are out of date. Re-applying...
[init] Writing generic pack manifest ... 
[init] Applying generic pack ...
[init] Saving generic pack(s) checksum
[init] Creating server properties in /data/server.properties
[init] Disabling whitelist functionality
[init] Setting initial memory to 8G and max to 8G
[init] Starting the Minecraft server...

The server starts fine, but none of the actual mods are in /data/mods. Apparently, the Above+and+Beyond-1.3.zip file does not actually contain them. The zip file contains lots of files in an overrides directory, and those are installed. The zip file also contains a manifest.json file that lists where to download the actual mods from, but either this docker image, nor curseforge, nor anything else in minecraft appears to fetch and install them. (Of course, the mods install just fine automagically when running a Minecraft client under Curseforge).

$ docker exec -it minecraft-caab ls -lart /data/mods
total 8
drwxrwxr-x  2 minecraft minecraft 4096 Jul 16 13:48 .
drwxrwxr-x 13 minecraft minecraft 4096 Jul 16 13:48 ..

$ docker exec -it minecraft-caab ls -lart /data/packs
total 2948
drwxrwxr-x  2 minecraft minecraft    4096 Jul 16 13:48 .
-rw-rw-r--  1 minecraft minecraft 3007450 Jul 16 13:48 Above+and+Beyond-1.3.zip
drwxrwxr-x 13 minecraft minecraft    4096 Jul 16 13:48 ..

$ docker exec -it minecraft-caab find /data -name abnormals_core-common.toml
/data/config/abnormals_core-common.toml


$ unzip -t /tmp/Above+and+Beyond-1.3.zip  | head -n 10
Archive:  /tmp/Above+and+Beyond-1.3.zip
    testing: manifest.json            OK
    testing: modlist.html             OK
    testing: overrides/               OK
    testing: overrides/config/        OK
    testing: overrides/config/abnormals_core-client.toml   OK
    testing: overrides/config/abnormals_core-common.toml   OK
    testing: overrides/config/advancedRocketry-1.toml.bak   OK
    testing: overrides/config/advancedRocketry-2.toml.bak   OK
    testing: overrides/config/advancedRocketry-3.toml.bak   OK

$ unzip /array/minecraft/modpacks/Above+and+Beyond-1.3.zip manifest.json
Archive:  /array/minecraft/modpacks/Above+and+Beyond-1.3.zip
  inflating: manifest.json   

$ jq < manifest.json | head -n 27
{
  "minecraft": {
    "version": "1.16.5",
    "modLoaders": [
      {
        "id": "forge-36.2.20",
        "primary": true
      }
    ]
  },
  "manifestType": "minecraftModpack",
  "overrides": "overrides",
  "manifestVersion": 1,
  "version": "1.3",
  "author": "simibubi",
  "name": "Above and Beyond",
  "files": [
    {
      "projectID": 382216,
      "fileID": 3457851,
      "required": true
    },
    {
      "projectID": 236542,
      "fileID": 3302417,
      "required": true
    },

# Files left on a CLIENT computer when installing the modpack via Curseforge CLI:
$ ls -lgno ${HOME}/opt/curseforge/curseforge-cli/modpack/create-above-and-beyond_542763/mods/ | head -n 5
total 159040
-rw-rw-r-- 1   975289 Jul 15 17:15 abnormals_core-1.16.5-3.3.0_382216_3457851.jar
-rw-rw-r-- 1 11862732 Jul 15 17:15 AdvancedRocketry-1.16.5-2.0.0-12-universal_236542_3302417.jar
-rw-rw-r-- 1    22152 Jul 15 17:15 AI-Improvements-1.16.2-0.3.0_233019_3031978.jar
-rw-rw-r-- 1  1348346 Jul 15 17:15 antiqueatlas-6.0.1-forge-mc1.16.5_227795_3398190.jar

# These files exist nowhere inside the **data** volume for the container:
$ docker exec -it minecraft-caab find /data -name abnormals_core-1.16.5-3.3.0_382216_3457851.jar
$

Container definition

# https://www.curseforge.com/minecraft/modpacks/create-above-and-beyond
# Project ID: 542763
# 1.16.5-forge-36.2.20

version: "3"

services:
    mc:
        hostname: minecraft-caab
        container_name: minecraft-caab
        image: itzg/minecraft-server:java8
        ports:
            - 25565:25565
        environment:
            EULA: "TRUE"
            TYPE: "FORGE"
            DEBUG: "false"
            VERSION: "1.16.5"
            FORGE_VERSION: "36.2.20"
            GENERIC_PACK: "https://mediafilez.forgecdn.net/files/3567/550/Above+and+Beyond-1.3.zip"
            REMOVE_OLD_MODS: "false"
            MEMORY: "8G"
            TZ: "America/Los_Angeles"
        tty: true
        stdin_open: true
        restart: unless-stopped
        volumes:
            - type: bind
              source: /array/minecraft/caab
              target: /data
              read_only: false

Container logs

docker compose up --detach
docker logs minecraft-caab -f
+ export HOME=/data
+ HOME=/data
++ id -u
++ id -g
++ ls -lnd /data
+ log 'Running as uid=1000 gid=1000 with /data as '\''drwxrwxr-x 3 1000 1000 4096 Jul 16 14:12 /data'\'''
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
[init] 2023-07-16 14:13:07-07:00 Running as uid=1000 gid=1000 with /data as 'drwxrwxr-x 3 1000 1000 4096 Jul 16 14:12 /data'
+ '[' '!' -e /data/eula.txt ']'
+ isTrue TRUE
+ case "${1,,}" in
+ return 0
+ writeEula
++ date
+ echo '# Generated via Docker
# Sun Jul 16 14:13:07 PDT 2023
eula=true
'
+ isTrue false
+ case "${1,,}" in
+ return 1
+ isTrue false
+ case "${1,,}" in
+ return 1
+ [[ -n '' ]]
+ [[ -n '' ]]
+ echo password=54ff36fcfff28448b1b3735f
+ fixJavaPath
+ which java
+ cd /data
+ export ORIGINAL_TYPE=FORGE
+ ORIGINAL_TYPE=FORGE
+ isTrue false
+ case "${1,,}" in
+ return 1
+ isTrue false
+ case "${1,,}" in
+ return 1
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ : ''
+ case "${TYPE^^}" in
+ [[ -n '' ]]
+ log 'Resolving type given FORGE'
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
[init] 2023-07-16 14:13:07-07:00 Resolving type given FORGE
+ case "${TYPE^^}" in
+ exec /start-deployForge
+ [[ -n '' ]]
+ mc-image-helper install-forge --output-directory=/data --results-file=/data/.run-forge.env --minecraft-version=1.16.5 --forge-version=36.2.20 --force-reinstall=false
[mc-image-helper] 14:13:09.034 DEBUG : JSON FETCH: uri=https://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json headers=[user-agent: itzg/mc-image-helper/1.32.8 (cmd=forge), x-fetch-session: 1a8d65c8-55cb-439a-807a-3b6097e2f72e, accept: application/json, host: files.minecraftforge.net]
[mc-image-helper] 14:13:09.358 DEBUG : JSON FETCH: uri=https://files.minecraftforge.net/net/minecraftforge/forge/promotions_slim.json headers=[user-agent: itzg/mc-image-helper/1.32.8 (cmd=forge), x-fetch-session: 1a8d65c8-55cb-439a-807a-3b6097e2f72e, accept: application/json, host: files.minecraftforge.net]
[mc-image-helper] 14:13:09.452 WARN  : Server entry for Minecraft 1.16.5 Forge 36.2.20 is missing. Re-installing.
[mc-image-helper] 14:13:09.452 INFO  : Downloading Forge installer 36.2.20 for Minecraft 1.16.5
[mc-image-helper] 14:13:09.733 DEBUG : FILE FETCH: uri=https://maven.minecraftforge.net/net/minecraftforge/forge/1.16.5-36.2.20/forge-1.16.5-36.2.20-installer.jar headers=[user-agent: itzg/mc-image-helper/1.32.8 (cmd=forge), x-fetch-session: 65ffb1eb-6aaa-4698-b820-495ee12aedfe, accept: application/java-archive, host: maven.minecraftforge.net]
[mc-image-helper] 14:13:10.789 DEBUG : Download of https://maven.minecraftforge.net/net/minecraftforge/forge/1.16.5-36.2.20/forge-1.16.5-36.2.20-installer.jar took 1s 331ms at 5543 KB/s
[mc-image-helper] 14:13:10.789 INFO  : Running Forge installer. This might take a while...
[mc-image-helper] 14:13:28.319 DEBUG : Deleting Forge installer log at /data/forge-installer-1.16.5-36.2.20.jar.log
[mc-image-helper] 14:13:28.320 DEBUG : Discovered entry file: /data/forge-1.16.5-36.2.20.jar
[mc-image-helper] 14:13:28.320 DEBUG : Deleting installer jar /data/forge-installer-1.16.5-36.2.20.jar
[mc-image-helper] 14:13:28.357 DEBUG : Populating results file /data/.run-forge.env
[mc-image-helper] 14:13:28.357 DEBUG : Writing SERVER=/data/forge-1.16.5-36.2.20.jar to results file
[mc-image-helper] 14:13:28.357 DEBUG : Writing FAMILY=FORGE to results file
[mc-image-helper] 14:13:28.357 DEBUG : Writing VERSION=1.16.5 to results file
[mc-image-helper] 14:13:28.357 DEBUG : Writing TYPE=FORGE to results file
+ set -a
+ source /data/.run-forge.env
++ SERVER=/data/forge-1.16.5-36.2.20.jar
++ FAMILY=FORGE
++ VERSION=1.16.5
++ TYPE=FORGE
+ set +a
+ export FAMILY=FORGE
+ FAMILY=FORGE
+ exec /start-setupWorld
+ '[' FORGE = CURSEFORGE ']'
+ worldDest=/data/world
+ [[ -n '' ]]
+ exec /start-setupDatapack
+ out_dir=/data/world/datapacks
+ isTrue false
+ case "${1,,}" in
+ return 1
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ exec /start-setupForgeApiMods
+ isTrue false
+ case "${1,,}" in
+ return 1
+ '[' '' ']'
+ '[' '' ']'
+ exec /start-setupModpack
+ CURSE_URL_BASE=https://minecraft.curseforge.com/projects
+ isTrue false
+ case "${1,,}" in
+ return 1
+ handlePackwiz
+ [[ -n '' ]]
+ handleModpackZip
+ [[ -n '' ]]
+ handleListings
+ usesMods
+ case "$FAMILY" in
+ return 0
+ usesPlugins
+ case "$FAMILY" in
+ return 1
+ usesPlugins
+ case "$FAMILY" in
+ return 1
+ usesMods
+ case "$FAMILY" in
+ return 0
+ outDir=/data/mods
+ usesPlugins
+ case "$FAMILY" in
+ return 1
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ handleCurseForgeManifest
+ [[ -n '' ]]
+ handleGenericPacks
+ : https://mediafilez.forgecdn.net/files/3567/550/Above+and+Beyond-1.3.zip
+ : ''
+ : ''
+ [[ -n https://mediafilez.forgecdn.net/files/3567/550/Above+and+Beyond-1.3.zip ]]
+ IFS=,
+ read -ra packs
+ packFiles=()
+ for packEntry in "${packs[@]}"
+ pack=https://mediafilez.forgecdn.net/files/3567/550/Above+and+Beyond-1.3.zip
+ isURL https://mediafilez.forgecdn.net/files/3567/550/Above+and+Beyond-1.3.zip
+ local value=https://mediafilez.forgecdn.net/files/3567/550/Above+and+Beyond-1.3.zip
+ [[ https:// == \h\t\t\p\s\:\/\/ ]]
+ return 0
+ mkdir -p /data/packs
+ log 'Downloading generic pack from https://mediafilez.forgecdn.net/files/3567/550/Above+and+Beyond-1.3.zip'
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
[init] 2023-07-16 14:13:28-07:00 Downloading generic pack from https://mediafilez.forgecdn.net/files/3567/550/Above+and+Beyond-1.3.zip
++ get -o /data/packs --output-filename --skip-up-to-date https://mediafilez.forgecdn.net/files/3567/550/Above+and+Beyond-1.3.zip
++ mc-image-helper get -o /data/packs --output-filename --skip-up-to-date https://mediafilez.forgecdn.net/files/3567/550/Above+and+Beyond-1.3.zip
[mc-image-helper] 14:13:29.399 DEBUG : Sending HEAD request to uri=https://mediafilez.forgecdn.net/files/3567/550/Above+and+Beyond-1.3.zip
[mc-image-helper] 14:13:29.408 DEBUG : Intercepting request uri=https://mediafilez.forgecdn.net/files/3567/550/Above+and+Beyond-1.3.zip
[mc-image-helper] 14:13:29.904 DEBUG : Post-request capturing redirectLocations=[]
[mc-image-helper] 14:13:29.904 DEBUG : Deriving filename from response path=/files/3567/550/Above+and+Beyond-1.3.zip
[mc-image-helper] 14:13:29.906 DEBUG : Getting uri=https://mediafilez.forgecdn.net/files/3567/550/Above+and+Beyond-1.3.zip
[mc-image-helper] 14:13:29.906 DEBUG : Executing GET /files/3567/550/Above+and+Beyond-1.3.zip with headers=[]
[mc-image-helper] 14:13:29.907 DEBUG : Intercepting request uri=https://mediafilez.forgecdn.net/files/3567/550/Above+and+Beyond-1.3.zip
[mc-image-helper] 14:13:29.914 DEBUG : Post-request capturing redirectLocations=[]
[mc-image-helper] 14:13:29.914 DEBUG : Response: status=200, reason=OK, headers=[Content-Type: application/x-amz-json-1.0, Content-Length: 3007450, Connection: keep-alive, Last-Modified: Wed, 15 Dec 2021 14:58:09 GMT, x-amz-version-id: yIwezkT40r16YwR.XgOL3GOxZ4AD0DrE, Accept-Ranges: bytes, Server: AmazonS3, Date: Sun, 16 Jul 2023 21:13:30 GMT, Cache-Control: public, max-age=86400, s-maxage=3600, ETag: "33dc8ccf5d6488e8d43e540db85acc53", Vary: Accept-Encoding, X-Cache: Hit from cloudfront, Via: 1.1 ea699166e6ec77aa410ff505b0a8ce18.cloudfront.net (CloudFront), X-Amz-Cf-Pop: SEA19-C3, Alt-Svc: h3=":443"; ma=86400, X-Amz-Cf-Id: wXAt2TxH-HUDgvGfZiKuVI8kMBClgnw2dRogYaCtnm2L9oxo2RUpnA==]
[mc-image-helper] 14:13:29.914 DEBUG : Deriving filename from response path=/files/3567/550/Above+and+Beyond-1.3.zip
[mc-image-helper] 14:13:29.914 DEBUG : Writing response content to path=/data/packs/Above+and+Beyond-1.3.zip
+ outfile=/data/packs/Above+and+Beyond-1.3.zip
+ packFiles+=("$outfile")
+ isDebugging
+ isTrue true
+ case "${1,,}" in
+ return 0
+ return 0
+ '[' -f '/data/.generic_pack.sum}' ']'
+ log 'Checking if generic packs are up to date'
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
[init] 2023-07-16 14:13:30-07:00 Checking if generic packs are up to date
+ isTrue false
+ case "${1,,}" in
+ return 1
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ checkSum /data/.generic_pack.sum
+ local sum_file=/data/.generic_pack.sum
++ getDistro
++ grep -E '^ID=' /etc/os-release
++ cut -d= -f2
++ sed -e 's/"//g'
+ distro=alpine
+ '[' alpine == debian ']'
+ '[' alpine == ubuntu ']'
+ '[' alpine == alpine ']'
+ sha1sum -c /data/.generic_pack.sum -s
+ '[' alpine == ol ']'
+ return 1
+ log 'Generic pack(s) are out of date. Re-applying...'
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
[init] 2023-07-16 14:13:30-07:00 Generic pack(s) are out of date. Re-applying...
+ original_base_dir=/data/.tmp/generic_pack_base
+ base_dir=/data/.tmp/generic_pack_base
+ rm -rf /data/.tmp/generic_pack_base
+ mkdir -p /data/.tmp/generic_pack_base
+ for pack in "${packFiles[@]}"
+ isDebugging
+ isTrue true
+ case "${1,,}" in
+ return 0
+ return 0
+ ls -l /data/packs/Above+and+Beyond-1.3.zip
-rw-rw-r-- 1 minecraft minecraft 3007450 Jul 16 14:13 /data/packs/Above+and+Beyond-1.3.zip
+ extract /data/packs/Above+and+Beyond-1.3.zip /data/.tmp/generic_pack_base
+ src=/data/packs/Above+and+Beyond-1.3.zip
+ destDir=/data/.tmp/generic_pack_base
++ file -b --mime-type /data/packs/Above+and+Beyond-1.3.zip
+ type=application/zip
+ case "${type}" in
+ unzip -o -q -d /data/.tmp/generic_pack_base /data/packs/Above+and+Beyond-1.3.zip
+ rm -f /data/.tmp/generic_pack_base/eula.txt
++ mc-image-helper find --max-depth=3 --type=directory --name=mods,plugins,config --only-shallowest --fail-no-matches --format %h /data/.tmp/generic_pack_base
+ base_dir=/data/.tmp/generic_pack_base/overrides
+ '[' -f /data/manifest.txt ']'
+ log 'Writing generic pack manifest ... '
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
[init] 2023-07-16 14:13:30-07:00 Writing generic pack manifest ... 
+ find /data/.tmp/generic_pack_base/overrides -type f -printf '%P\n'
+ log 'Applying generic pack ...'
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
[init] 2023-07-16 14:13:30-07:00 Applying generic pack ...
+ cp -R -f /data/.tmp/generic_pack_base/overrides/config /data/.tmp/generic_pack_base/overrides/defaultconfigs /data/.tmp/generic_pack_base/overrides/kubejs /data/.tmp/generic_pack_base/overrides/openloader /data/.tmp/generic_pack_base/overrides/options.txt /data/.tmp/generic_pack_base/overrides/worldshape /data
+ rm -rf /data/.tmp/generic_pack_base
+ isTrue false
+ case "${1,,}" in
+ return 1
+ log 'Saving generic pack(s) checksum'
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
[init] 2023-07-16 14:13:30-07:00 Saving generic pack(s) checksum
+ sha1sum /data/packs/Above+and+Beyond-1.3.zip
+ isDebugging
+ isTrue true
+ case "${1,,}" in
+ return 0
+ return 0
+ cat /data/.generic_pack.sum
8fa143ee04f92fa95dcbcef5c5bf36dd0e52c1fd  /data/packs/Above+and+Beyond-1.3.zip
+ handleModrinthProjects
+ : ''
+ : true
+ : release
+ [[ -n '' ]]
+ exec /start-setupModconfig
+ isTrue true
+ case "${1,,}" in
+ return 0
+ updateArg=--skip-newer-in-destination
+ isTrue true
+ case "${1,,}" in
+ return 0
+ subcommand=sync-and-interpolate
+ : /plugins
+ : /data/plugins
+ usesPlugins
+ case "$FAMILY" in
+ return 1
+ : /mods
+ : /data/mods
+ usesMods
+ case "$FAMILY" in
+ return 0
+ '[' -d /mods ']'
+ : /config
+ : /data/config
+ '[' -d /config ']'
+ exec /start-setupServerProperties
[init] 2023-07-16 14:13:30-07:00 Creating server properties in /data/server.properties
[init] 2023-07-16 14:13:30-07:00 Disabling whitelist functionality
[init] 2023-07-16 14:13:30-07:00 DEBUG: Adding white-list with 'false' in /data/server.properties
[init] 2023-07-16 14:13:30-07:00 DEBUG: Adding enable-rcon with 'true' in /data/server.properties
[init] 2023-07-16 14:13:30-07:00 DEBUG: Adding rcon.password with '*****' in /data/server.properties
[init] 2023-07-16 14:13:30-07:00 DEBUG: Adding rcon.port with '25575' in /data/server.properties
[init] 2023-07-16 14:13:31-07:00 DEBUG: Adding motd with 'A Forge Minecraft Server powered by Docker' in /data/server.properties
+ versionLessThan 1.7.6
+ mc-image-helper compare-versions 1.16.5 lt 1.7.6
+ return 1
+ opsFile=ops.json
+ whitelistFile=whitelist.json
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ '[' -n '' ']'
+ '[' -n '' ']'
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ '[' -n '' ']'
+ '[' -n '' ']'
+ exec /start-finalExec
+ '[' -n '' ']'
+ canUseRollingLogs=true
+ useFallbackJvmFlag=false
+ versionLessThan 1.7
+ mc-image-helper compare-versions 1.16.5 lt 1.7
+ return 1
+ isFamily VANILLA
+ for f in "${@}"
+ [[ FORGE == \V\A\N\I\L\L\A ]]
+ return 1
+ isFamily VANILLA
+ for f in "${@}"
+ [[ FORGE == \V\A\N\I\L\L\A ]]
+ return 1
+ isType PURPUR
+ for t in "${@}"
+ [[ FORGE == \P\U\R\P\U\R ]]
+ return 1
+ isType PURPUR
+ for t in "${@}"
+ [[ FORGE == \P\U\R\P\U\R ]]
+ return 1
+ versionLessThan 1.18.1
+ mc-image-helper compare-versions 1.16.5 lt 1.18.1
+ return 0
+ useFallbackJvmFlag=true
+ true
+ JVM_OPTS='-Dlog4j2.formatMsgNoLookups=true '
+ versionLessThan 1.7
+ mc-image-helper compare-versions 1.16.5 lt 1.7
+ return 1
+ versionLessThan 1.18.1
+ mc-image-helper compare-versions 1.16.5 lt 1.18.1
+ return 0
+ isTrue false
+ case "${1,,}" in
+ return 1
+ JVM_OPTS='-javaagent:/image/Log4jPatcher.jar -Dlog4j2.formatMsgNoLookups=true '
+ isTrue false
+ case "${1,,}" in
+ return 1
+ versionLessThan 1.14
+ mc-image-helper compare-versions 1.16.5 lt 1.14
+ return 1
+ [[ '' = false ]]
+ expandedDOpts=
+ '[' -n '' ']'
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ [[ -n 8G ]]
+ log 'Setting initial memory to 8G and max to 8G'
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
[init] 2023-07-16 14:13:34-07:00 Setting initial memory to 8G and max to 8G
+ [[ -n 8G ]]
+ JVM_OPTS='-Xms8G -javaagent:/image/Log4jPatcher.jar -Dlog4j2.formatMsgNoLookups=true '
+ [[ -n 8G ]]
+ JVM_OPTS='-Xmx8G -Xms8G -javaagent:/image/Log4jPatcher.jar -Dlog4j2.formatMsgNoLookups=true '
+ versionLessThan 1.7
+ mc-image-helper compare-versions 1.16.5 lt 1.7
+ return 1
+ rm -f /data/.mc-health.env
+ mcServerRunnerArgs=(--stop-duration "${STOP_DURATION:-60}s" --named-pipe "${CONSOLE_IN_NAMED_PIPE:-/tmp/minecraft-console-in}")
+ [[ -n '' ]]
+ [[ FORGE == \C\U\R\S\E\F\O\R\G\E ]]
+ [[ FORGE == \C\U\R\S\E\F\O\R\G\E ]]
+ [[ /data/forge-1.16.5-36.2.20.jar =~ run.sh ]]
+ '[' -f /data/bootstrap.txt ']'
+ log 'Starting the Minecraft server...'
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
[init] 2023-07-16 14:13:34-07:00 Starting the Minecraft server...
+ finalArgs=($JVM_XX_OPTS $JVM_OPTS $expandedDOpts)
+ [[ -n '' ]]
+ finalArgs+=(-jar "$SERVER")
+ finalArgs+=("$@" $EXTRA_ARGS)
+ isTrue false
+ case "${1,,}" in
+ return 1
+ isTrue false
+ case "${1,,}" in
+ return 1
+ isTrue false
+ case "${1,,}" in
+ return 1
+ exec mc-server-runner --stop-duration 60s --named-pipe /tmp/minecraft-console-in java -Xmx8G -Xms8G -javaagent:/image/Log4jPatcher.jar -Dlog4j2.formatMsgNoLookups=true -jar /data/forge-1.16.5-36.2.20.jar
[Log4jPatcher] [INFO] Transforming org/apache/logging/log4j/core/lookup/JndiLookup
[Log4jPatcher] [INFO] Transforming org/apache/logging/log4j/core/pattern/MessagePatternConverter
[Log4jPatcher] [WARN]  Unable to find noLookups:Z field in org/apache/logging/log4j/core/pattern/MessagePatternConverter
2023-07-16 14:13:35,104 main WARN Advanced terminal features are not available in this environment
[14:13:35] [main/INFO] [cp.mo.mo.Launcher/MODLAUNCHER]: ModLauncher running: args [--gameDir, ., --launchTarget, fmlserver, --fml.forgeVersion, 36.2.20, --fml.mcpVersion, 20210115.111550, --fml.mcVersion, 1.16.5, --fml.forgeGroup, net.minecraftforge]
[14:13:35] [main/INFO] [cp.mo.mo.Launcher/MODLAUNCHER]: ModLauncher 8.0.9+86+master.3cf110c starting: java version 1.8.0_212 by IcedTea
[14:13:35] [main/INFO] [ne.mi.fm.lo.FixSSL/CORE]: Added Lets Encrypt root certificates as additional trust
[14:13:35] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.4 Source=file:/data/libraries/org/spongepowered/mixin/0.8.4/mixin-0.8.4.jar Service=ModLauncher Env=SERVER
[14:13:35] [main/INFO] [cp.mo.mo.LaunchServiceHandler/MODLAUNCHER]: Launching target 'fmlserver' with arguments [--gameDir, .]
[14:13:38] [modloading-worker-18/INFO] [ne.mi.co.ForgeMod/FORGEMOD]: Forge mod loading, version 36.2.20, for MC 1.16.5 with MCP 20210115.111550
[14:13:38] [modloading-worker-18/INFO] [ne.mi.co.MinecraftForge/FORGE]: MinecraftForge v36.2.20 Initialized
[14:13:38] [Forge Version Check/INFO] [ne.mi.fm.VersionChecker/]: [forge] Starting version check at https://files.minecraftforge.net/net/minecraftforge/forge/promotions_slim.json
[14:13:39] [Forge Version Check/INFO] [ne.mi.fm.VersionChecker/]: [forge] Found status: OUTDATED Current: 36.2.20 Target: 36.2.34
[14:13:39] [main/INFO] [mojang/YggdrasilAuthenticationService]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[14:13:40] [main/WARN] [minecraft/Commands]: Ambiguity between arguments [teleport, destination] and [teleport, targets] with inputs: [Player, 0123, @e, dd12be42-52a9-4a91-a8a1-11c01849e498]
[14:13:40] [main/WARN] [minecraft/Commands]: Ambiguity between arguments [teleport, location] and [teleport, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[14:13:40] [main/WARN] [minecraft/Commands]: Ambiguity between arguments [teleport, location] and [teleport, targets] with inputs: [0.1 -0.5 .9, 0 0 0]
[14:13:40] [main/WARN] [minecraft/Commands]: Ambiguity between arguments [teleport, targets] and [teleport, destination] with inputs: [Player, 0123, dd12be42-52a9-4a91-a8a1-11c01849e498]
[14:13:40] [main/WARN] [minecraft/Commands]: Ambiguity between arguments [teleport, targets, location] and [teleport, targets, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[14:13:40] [main/INFO] [minecraft/SimpleReloadableResourceManager]: Reloading ResourceManager: Default, forge-1.16.5-36.2.20-universal.jar
[14:13:40] [Worker-Main-11/INFO] [minecraft/RecipeManager]: Loaded 7 recipes
[14:13:40] [Worker-Main-11/INFO] [minecraft/AdvancementList]: Loaded 927 advancements
[14:13:40] [Server thread/INFO] [minecraft/DedicatedServer]: Starting minecraft server version 1.16.5
[14:13:40] [Server thread/INFO] [minecraft/DedicatedServer]: Loading properties
[14:13:40] [Server thread/INFO] [minecraft/DedicatedServer]: Default game type: SURVIVAL
[14:13:40] [Server thread/INFO] [minecraft/MinecraftServer]: Generating keypair
[14:13:41] [Server thread/INFO] [minecraft/DedicatedServer]: Starting Minecraft server on *:25565
[14:13:41] [Server thread/INFO] [minecraft/NetworkSystem]: Using epoll channel type
[14:13:41] [Server thread/WARN] [ne.mi.co.ForgeConfigSpec/CORE]: Configuration file ./world/serverconfig/forge-server.toml is not correct. Correcting
[14:13:41] [Server thread/WARN] [ne.mi.co.ForgeConfigSpec/CORE]: Incorrect key server was corrected from null to its default, SimpleCommentedConfig:{}. 
[14:13:41] [Server thread/WARN] [ne.mi.co.ForgeConfigSpec/CORE]: Incorrect key server.removeErroringEntities was corrected from null to its default, false. 
[14:13:41] [Server thread/WARN] [ne.mi.co.ForgeConfigSpec/CORE]: Incorrect key server.removeErroringTileEntities was corrected from null to its default, false. 
[14:13:41] [Server thread/WARN] [ne.mi.co.ForgeConfigSpec/CORE]: Incorrect key server.fullBoundingBoxLadders was corrected from null to its default, false. 
[14:13:41] [Server thread/WARN] [ne.mi.co.ForgeConfigSpec/CORE]: Incorrect key server.zombieBaseSummonChance was corrected from null to its default, 0.1. 
[14:13:41] [Server thread/WARN] [ne.mi.co.ForgeConfigSpec/CORE]: Incorrect key server.zombieBabyChance was corrected from null to its default, 0.05. 
[14:13:41] [Server thread/WARN] [ne.mi.co.ForgeConfigSpec/CORE]: Incorrect key server.logCascadingWorldGeneration was corrected from null to its default, true. 
[14:13:41] [Server thread/WARN] [ne.mi.co.ForgeConfigSpec/CORE]: Incorrect key server.fixVanillaCascading was corrected from null to its default, false. 
[14:13:41] [Server thread/WARN] [ne.mi.co.ForgeConfigSpec/CORE]: Incorrect key server.dimensionUnloadQueueDelay was corrected from null to its default, 0. 
[14:13:41] [Server thread/WARN] [ne.mi.co.ForgeConfigSpec/CORE]: Incorrect key server.treatEmptyTagsAsAir was corrected from null to its default, false. 
[14:13:41] [Server thread/WARN] [ne.mi.co.ForgeConfigSpec/CORE]: Incorrect key server.fixAdvancementLoading was corrected from null to its default, true. 
[14:13:41] [Server thread/INFO] [minecraft/DedicatedServer]: Preparing level "world"
[14:13:43] [Server thread/INFO] [minecraft/MinecraftServer]: Preparing start region for dimension minecraft:overworld
[14:13:43] [Worker-Main-11/INFO] [minecraft/LoggingChunkStatusListener]: Preparing spawn area: 0%
[14:13:44] [Worker-Main-8/INFO] [minecraft/LoggingChunkStatusListener]: Preparing spawn area: 1%
[14:13:44] [Netty Epoll Server IO #1/INFO] [ne.mi.fm.se.ServerLifecycleHooks/SERVERHOOKS]: Disconnecting Player (server is still starting): Server is still starting! Please wait before reconnecting.
[14:13:44] [Worker-Main-14/INFO] [minecraft/LoggingChunkStatusListener]: Preparing spawn area: 7%
[14:13:45] [Worker-Main-13/INFO] [minecraft/LoggingChunkStatusListener]: Preparing spawn area: 18%
[14:13:45] [Worker-Main-14/INFO] [minecraft/LoggingChunkStatusListener]: Preparing spawn area: 32%
[14:13:46] [Worker-Main-10/INFO] [minecraft/LoggingChunkStatusListener]: Preparing spawn area: 43%
[14:13:46] [Worker-Main-14/INFO] [minecraft/LoggingChunkStatusListener]: Preparing spawn area: 56%
[14:13:47] [Worker-Main-14/INFO] [minecraft/LoggingChunkStatusListener]: Preparing spawn area: 66%
[14:13:47] [Worker-Main-13/INFO] [minecraft/LoggingChunkStatusListener]: Preparing spawn area: 79%
[14:13:48] [Worker-Main-14/INFO] [minecraft/LoggingChunkStatusListener]: Preparing spawn area: 93%
[14:13:48] [Server thread/INFO] [minecraft/LoggingChunkStatusListener]: Time elapsed: 4723 ms
[14:13:48] [Server thread/INFO] [minecraft/DedicatedServer]: Done (6.979s)! For help, type "help"
[14:13:48] [Server thread/INFO] [minecraft/DedicatedServer]: Starting remote control listener
[14:13:48] [Server thread/INFO] [minecraft/RConThread]: Thread RCON Listener started
[14:13:48] [Server thread/INFO] [minecraft/MainThread]: RCON running on 0.0.0.0:25575

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions