Skip to content

Unable to install Forge versions on MC <1.6.1 #3868

@caitlynrw

Description

@caitlynrw

Describe the problem

mc-image-helper is unable to install Forge for Minecraft versions 1.5.1 and below due to a dedicated "installer" file not being published, and unable to run version 1.5.2 due to different java invocation requirements

Container definition

docker run --rm -it -e EULA=true -e TYPE=FORGE -e VERSION=1.5.1 -e DEBUG=true itzg/minecraft-server:java8
docker run --rm -it -e EULA=true -e TYPE=FORGE -e VERSION=1.5.2 -e DEBUG=true itzg/minecraft-server:java8

Container logs

1.5.1 container

++ mc-image-helper java-release
+ ((  8 >= 17  ))
+ export HOME=/data
+ HOME=/data
++ id -u
++ id -g
++ ls -lnd /data
+ log 'Running as uid=1000 gid=1000 with /data as '\''drwxr-xr-x 2 1000 1000 4096 Jan 13 02:57 /data'\'''
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
[init] 2026-01-13 11:50:36+00:00 Running as uid=1000 gid=1000 with /data as 'drwxr-xr-x 2 1000 1000 4096 Jan 13 02:57 /data'
++ paste -d, -s /etc/image.properties
+ log 'Image info: buildtime=2026-01-13T02:57:04.620Z,version=java8,revision=0a98bee40ea9b86500ea7b6611784902a553803f'
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
[init] 2026-01-13 11:50:36+00:00 Image info: buildtime=2026-01-13T02:57:04.620Z,version=java8,revision=0a98bee40ea9b86500ea7b6611784902a553803f
+ '[' '!' -e /data/eula.txt ']'
+ isTrue true
+ case "${1,,}" in
+ return 0
+ writeEula
++ date
+ echo '# Generated via Docker
# Tue 13 Jan 2026 11:50:36 AM UTC
eula=true
'
+ isTrue false
+ case "${1,,}" in
+ return 1
+ isTrue true
+ case "${1,,}" in
+ return 0
+ set +x
+ isTrue false
+ case "${1,,}" in
+ return 1
+ proxyArgs=()
+ [[ -n '' ]]
+ proxyArgs=()
+ addToProxyArgs http.proxyHost ''
+ [[ -n '' ]]
+ addToProxyArgs http.proxyPort ''
+ [[ -n '' ]]
+ addToProxyArgs http.nonProxyHosts ''
+ [[ -n '' ]]
+ export 'MC_IMAGE_HELPER_OPTS+= '
+ MC_IMAGE_HELPER_OPTS+=' '
+ fixJavaPath
+ which java
+ cd /data
+ export DECLARED_TYPE=FORGE
+ DECLARED_TYPE=FORGE
+ export DECLARED_VERSION=1.5.1
+ DECLARED_VERSION=1.5.1
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ isTrue false
+ case "${1,,}" in
+ return 1
+ isTrue false
+ case "${1,,}" in
+ return 1
+ [[ -n '' ]]
+ [[ -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] 2026-01-13 11:50:36+00:00 Resolving type given FORGE
+ case "${TYPE^^}" in
++ dirname /image/scripts/start-configuration
+ exec /image/scripts/start-deployForge
+ resultsFile=/data/.run-forge.env
+ [[ -n '' ]]
+ [[ -n '' ]]
+ mc-image-helper-forge --forge-version=RECOMMENDED
+ mc-image-helper install-forge --output-directory=/data --results-file=/data/.run-forge.env --minecraft-version=1.5.1 --force-reinstall=false --forge-version=RECOMMENDED
[mc-image-helper] 11:50:37.147 DEBUG : Using HTTP/1.1
[mc-image-helper] 11:50:37.797 DEBUG : JSON FETCH: uri=https://files.minecraftforge.net/net/minecraftforge/forge/promotions_slim.json headers=[user-agent: itzg/mc-image-helper/1.51.1 (cmd=install-forge), x-fetch-session: bb484412-7144-48ba-87c5-c04a64725a70, accept: application/json, host: files.minecraftforge.net]        
[mc-image-helper] 11:50:38.077 DEBUG : Narrowed forge versions to {latest=7.7.2.682} and looking for recommended
[mc-image-helper] 11:50:38.077 DEBUG : Resolved installer version=VersionPair(minecraft=1.5.1, forge=7.7.2.682, variantOverride=null)
[mc-image-helper] 11:50:38.078 INFO  : Downloading Forge installer 7.7.2.682 for Minecraft 1.5.1
[mc-image-helper] 11:50:38.131 DEBUG : FILE FETCH: uri=https://maven.minecraftforge.net/net/minecraftforge/forge/1.5.1-7.7.2.682/forge-1.5.1-7.7.2.682-installer.jar headers=[user-agent: itzg/mc-image-helper/1.51.1 (cmd=install-forge), x-fetch-session: bb484412-7144-48ba-87c5-c04a64725a70, accept: application/java-archive, host: maven.minecraftforge.net]
[mc-image-helper] 11:50:39.166 DEBUG : FILE FETCH: uri=https://maven.minecraftforge.net/net/minecraftforge/forge/1.5.1-7.7.2.682-1.5.1/forge-1.5.1-7.7.2.682-1.5.1-installer.jar headers=[user-agent: itzg/mc-image-helper/1.51.1 (cmd=install-forge), x-fetch-session: bb484412-7144-48ba-87c5-c04a64725a70, accept: application/java-archive, host: maven.minecraftforge.net]
[mc-image-helper] 11:50:40.193 DEBUG : FILE FETCH: uri=https://maven.minecraftforge.net/net/minecraftforge/forge/1.5.1-7.7.2.682-mc172/forge-1.5.1-7.7.2.682-mc172-installer.jar headers=[user-agent: itzg/mc-image-helper/1.51.1 (cmd=install-forge), x-fetch-session: bb484412-7144-48ba-87c5-c04a64725a70, accept: application/java-archive, host: maven.minecraftforge.net]
[mc-image-helper] 11:50:41.208 ERROR : 'install-forge' command failed. Version is 1.51.1
me.itzg.helpers.errors.GenericException: Failed to locate forge installer for Minecraft 1.5.1 Forge 7.7.2.682
        at me.itzg.helpers.forge.ForgeInstallerResolver.download(ForgeInstallerResolver.java:106)
        at me.itzg.helpers.forge.ForgeLikeInstaller.install(ForgeLikeInstaller.java:93)
        at me.itzg.helpers.forge.InstallForgeCommand.call(InstallForgeCommand.java:110)
        at me.itzg.helpers.forge.InstallForgeCommand.call(InstallForgeCommand.java:19)
        at picocli.CommandLine.executeUserObject(CommandLine.java:2031)
        at picocli.CommandLine.access$1500(CommandLine.java:148)
        at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2469)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2461)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2423)
        at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
        at picocli.CommandLine$RunLast.execute(CommandLine.java:2425)
        at picocli.CommandLine.execute(CommandLine.java:2174)
        at me.itzg.helpers.McImageHelper.main(McImageHelper.java:176)
+ logError 'Failed to install Forge'
+ isDebugging
+ isTrue true
+ case "${1,,}" in
+ return 0
+ set +x
[init] 2026-01-13 11:50:41+00:00 [ERROR] Failed to install Forge 
+ exit 1

1.5.2 container

++ mc-image-helper java-release
+ ((  8 >= 17  ))
+ export HOME=/data
+ HOME=/data
++ id -u
++ id -g
++ ls -lnd /data
+ log 'Running as uid=1000 gid=1000 with /data as '\''drwxr-xr-x 2 1000 1000 4096 Jan 13 02:57 /data'\'''
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
[init] 2026-01-13 11:47:43+00:00 Running as uid=1000 gid=1000 with /data as 'drwxr-xr-x 2 1000 1000 4096 Jan 13 02:57 /data'
++ paste -d, -s /etc/image.properties
+ log 'Image info: buildtime=2026-01-13T02:57:04.620Z,version=java8,revision=0a98bee40ea9b86500ea7b6611784902a553803f'
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
[init] 2026-01-13 11:47:43+00:00 Image info: buildtime=2026-01-13T02:57:04.620Z,version=java8,revision=0a98bee40ea9b86500ea7b6611784902a553803f
+ '[' '!' -e /data/eula.txt ']'
+ isTrue true
+ case "${1,,}" in
+ return 0
+ writeEula
++ date
+ echo '# Generated via Docker
# Tue 13 Jan 2026 11:47:43 AM UTC
eula=true
'
+ isTrue false
+ case "${1,,}" in
+ return 1
+ isTrue true
+ case "${1,,}" in
+ return 0
+ set +x
+ isTrue false
+ case "${1,,}" in
+ return 1
+ proxyArgs=()
+ [[ -n '' ]]
+ proxyArgs=()
+ addToProxyArgs http.proxyHost ''
+ [[ -n '' ]]
+ addToProxyArgs http.proxyPort ''
+ [[ -n '' ]]
+ addToProxyArgs http.nonProxyHosts ''
+ [[ -n '' ]]
+ export 'MC_IMAGE_HELPER_OPTS+= '
+ MC_IMAGE_HELPER_OPTS+=' '
+ fixJavaPath
+ which java
+ cd /data
+ export DECLARED_TYPE=FORGE
+ DECLARED_TYPE=FORGE
+ export DECLARED_VERSION=1.5.2
+ DECLARED_VERSION=1.5.2
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ isTrue false
+ case "${1,,}" in
+ return 1
+ isTrue false
+ case "${1,,}" in
+ return 1
+ [[ -n '' ]]
+ [[ -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] 2026-01-13 11:47:43+00:00 Resolving type given FORGE
+ case "${TYPE^^}" in
++ dirname /image/scripts/start-configuration
+ exec /image/scripts/start-deployForge
+ resultsFile=/data/.run-forge.env
+ [[ -n '' ]]
+ [[ -n '' ]]
+ mc-image-helper-forge --forge-version=RECOMMENDED
+ mc-image-helper install-forge --output-directory=/data --results-file=/data/.run-forge.env --minecraft-version=1.5.2 --force-reinstall=false --forge-version=RECOMMENDED
[mc-image-helper] 11:47:43.729 DEBUG : Using HTTP/1.1
[mc-image-helper] 11:47:44.407 DEBUG : JSON FETCH: uri=https://files.minecraftforge.net/net/minecraftforge/forge/promotions_slim.json headers=[user-agent: itzg/mc-image-helper/1.51.1 (cmd=install-forge), x-fetch-session: 6054b35b-ff8e-402b-b732-1c451447ef44, accept: application/json, host: files.minecraftforge.net]        
[mc-image-helper] 11:47:44.697 DEBUG : Narrowed forge versions to {recommended=7.8.1.738, latest=7.8.1.738} and looking for recommended
[mc-image-helper] 11:47:44.697 DEBUG : Resolved installer version=VersionPair(minecraft=1.5.2, forge=7.8.1.738, variantOverride=null)
[mc-image-helper] 11:47:44.697 INFO  : Downloading Forge installer 7.8.1.738 for Minecraft 1.5.2
[mc-image-helper] 11:47:44.764 DEBUG : FILE FETCH: uri=https://maven.minecraftforge.net/net/minecraftforge/forge/1.5.2-7.8.1.738/forge-1.5.2-7.8.1.738-installer.jar headers=[user-agent: itzg/mc-image-helper/1.51.1 (cmd=install-forge), x-fetch-session: 6054b35b-ff8e-402b-b732-1c451447ef44, accept: application/java-archive, host: maven.minecraftforge.net]
[mc-image-helper] 11:47:45.160 DEBUG : Download of https://maven.minecraftforge.net/net/minecraftforge/forge/1.5.2-7.8.1.738/forge-1.5.2-7.8.1.738-installer.jar took 455ms at 5820 KB/s
[mc-image-helper] 11:47:45.162 DEBUG : Moving /data/forge-installer-1.5.2-7.8.1.738.jar.download to /data/forge-installer-1.5.2-7.8.1.738.jar
[mc-image-helper] 11:47:45.164 INFO  : Running Forge 7.8.1.738 installer for Minecraft 1.5.2. This might take a while...
[mc-image-helper] 11:47:51.562 DEBUG : Observed entry file from universal jar log line: /data/minecraftforge-universal-1.5.2-7.8.1.738.jar
[mc-image-helper] 11:47:51.574 DEBUG : Deleting Forge installer log at /data/forge-installer-1.5.2-7.8.1.738.jar.log
[mc-image-helper] 11:47:51.598 DEBUG : Populating results file /data/.run-forge.env
[mc-image-helper] 11:47:51.599 DEBUG : Writing SERVER="minecraftforge-universal-1.5.2-7.8.1.738.jar" to results file
[mc-image-helper] 11:47:51.599 DEBUG : Writing FAMILY="FORGE" to results file
[mc-image-helper] 11:47:51.599 DEBUG : Writing VERSION="1.5.2" to results file
[mc-image-helper] 11:47:51.599 DEBUG : Writing TYPE="FORGE" to results file
+ applyResultsFile /data/.run-forge.env
+ set -a
+ source /data/.run-forge.env
++ SERVER=minecraftforge-universal-1.5.2-7.8.1.738.jar
++ FAMILY=FORGE
++ VERSION=1.5.2
++ TYPE=FORGE
+ set +a
+ export FAMILY=FORGE
+ FAMILY=FORGE
++ dirname /image/scripts/start-deployForge
+ exec /image/scripts/start-setupWorld
+ worldDownload=/data/tmp/world.zip
+ tmpWorldData=/data/tmp/world-data
+ [[ world =~ ^/.*$ ]]
+ '[' FORGE = CURSEFORGE ']'
+ worldDest=/data/world
+ [[ -n '' ]]
+ [[ -f /data/tmp/world.zip ]]
+ [[ -d /data/tmp/world-data ]]
++ dirname /image/scripts/start-setupWorld
+ exec /image/scripts/start-setupDatapack
+ out_dir=/data/world/datapacks
+ isTrue false
+ case "${1,,}" in
+ return 1
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
++ dirname /image/scripts/start-setupDatapack
+ exec /image/scripts/start-setupModpack
+ CURSE_URL_BASE=https://minecraft.curseforge.com/projects
+ isTrue false
+ case "${1,,}" in
+ return 1
+ handlePackwiz
+ [[ -n '' ]]
+ handleModpackZip
+ [[ -n '' ]]
+ handleListings
+ usesMods
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ case "$FAMILY" in
+ return 0
+ usesPlugins
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ case "$FAMILY" in
+ return 1
+ usesPlugins
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ case "$FAMILY" in
+ return 1
+ usesMods
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ case "$FAMILY" in
+ return 0
+ outDir=/data/mods
+ usesPlugins
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ case "$FAMILY" in
+ return 1
+ [[ -v MODS ]]
+ [[ -v PLUGINS ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ handleGenericPacks
+ : ''
+ : ''
+ : ''
+ : ''
+ [[ -n '' ]]
+ handleModrinthProjects
+ : release
+ : none
+ [[ -v MODRINTH_DOWNLOAD_OPTIONAL_DEPENDENCIES ]]
+ [[ -v MODRINTH_PROJECTS ]]
+ usesMods
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ case "$FAMILY" in
+ return 0
+ handleCurseForgeFiles
+ args=()
+ usesMods
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ case "$FAMILY" in
+ return 0
+ usesPlugins
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ case "$FAMILY" in
+ return 1
+ args+=(--default-category mc-mods)
+ case "${TYPE,,}" in
+ args+=(--mod-loader "$TYPE")
+ mc-image-helper curseforge-files --default-category mc-mods --mod-loader FORGE ''
+ [[ -n '' ]]
++ dirname /image/scripts/start-setupModpack
+ exec /image/scripts/start-setupMounts
+ 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
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ case "$FAMILY" in
+ return 1
+ : /mods
+ : /data/mods
+ usesMods
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ case "$FAMILY" in
+ return 0
+ log 'Copying any mods from /mods to /data/mods'
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
[init] 2026-01-13 11:47:52+00:00 Copying any mods from /mods to /data/mods
+ mc-image-helper-mounts /mods /data/mods
+ mc-image-helper sync-and-interpolate --skip-newer-in-destination --replace-env-file-suffixes=yml,yaml,txt,cfg,conf,properties,hjson,json,tml,toml --replace-env-excludes= --replace-env-exclude-paths= --replace-env-prefix=CFG_ /mods /data/mods
[mc-image-helper] 11:47:53.158 DEBUG : Configured with SyncAndInterpolate(skipNewerInDestination=true, replaceEnv=ReplaceEnvOptions(prefix=CFG_, excludes=[], excludePaths=[], suffixes=[yml, yaml, txt, cfg, conf, properties, hjson, json, tml, toml]), srcDest=[/mods, /data/mods])
[mc-image-helper] 11:47:53.162 DEBUG : Skipping missing source directory /mods
+ : /config
+ : /data/config
+ log 'Copying any configs from /config to /data/config'
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
[init] 2026-01-13 11:47:53+00:00 Copying any configs from /config to /data/config
+ mc-image-helper-mounts /config /data/config
+ mc-image-helper sync-and-interpolate --skip-newer-in-destination --replace-env-file-suffixes=yml,yaml,txt,cfg,conf,properties,hjson,json,tml,toml --replace-env-excludes= --replace-env-exclude-paths= --replace-env-prefix=CFG_ /config /data/config
[mc-image-helper] 11:47:53.724 DEBUG : Configured with SyncAndInterpolate(skipNewerInDestination=true, replaceEnv=ReplaceEnvOptions(prefix=CFG_, excludes=[], excludePaths=[], suffixes=[yml, yaml, txt, cfg, conf, properties, hjson, json, tml, toml]), srcDest=[/config, /data/config])
[mc-image-helper] 11:47:53.730 DEBUG : Skipping missing source directory /config
++ dirname /image/scripts/start-setupMounts
+ exec /image/scripts/start-setupServerProperties
[init] 2026-01-13 11:47:53+00:00 Creating server properties in /data/server.properties
[init] 2026-01-13 11:47:53+00:00 Disabling whitelist functionality
+ mc-image-helper set-properties --definitions /image/property-definitions.json --escape-unicode /data/server.properties
[mc-image-helper] 11:47:54.330 DEBUG : Setting property enable-rcon to new value 'true'
[mc-image-helper] 11:47:54.332 DEBUG : Setting property rcon.password to new value '***'
[mc-image-helper] 11:47:54.332 DEBUG : Setting property rcon.port to new value '25575'
[mc-image-helper] 11:47:54.332 DEBUG : Setting property white-list to new value 'false'
[mc-image-helper] 11:47:54.332 INFO  : Created/updated 4 properties in /data/server.properties
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ isTrue false
+ case "${1,,}" in
+ return 1
++ dirname /image/scripts/start-setupServerProperties
+ exec /image/scripts/start-setupEnvVariables
+ : false
+ : /data
+ : yml,yaml,txt,cfg,conf,properties,hjson,json,tml,toml
+ : CFG_
+ : ''
+ : ''
+ : ''
+ : true
+ : ''
+ : ''
+ : false
+ : ''
+ isTrue false
+ case "${1,,}" in
+ return 1
+ isFalse false
+ case "${1,,}" in
+ return 0
+ commonArgs=(--skip-existing --skip-up-to-date=false --quiet-when-skipped --ignore-missing-sources)
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
++ dirname /image/scripts/start-setupEnvVariables
+ exec /image/scripts/start-setupRbac
+ [[ -v APPEND_OPS ]]
+ [[ -v OVERRIDE_OPS ]]
+ [[ -v APPEND_WHITELIST ]]
+ [[ -v OVERRIDE_WHITELIST ]]
+ sharedArgs=(--version="$VERSION")
+ [[ -n '' ]]
+ sharedArgs+=(--output-directory=/data)
+ [[ -v OPS_FILE ]]
+ [[ -v OPS ]]
+ [[ -v WHITELIST_FILE ]]
+ [[ -v WHITELIST ]]
++ dirname /image/scripts/start-setupRbac
+ exec /image/scripts/start-finalExec
+ baseDataDir=/data
+ tmpServerIconPath=/tmp/icon.img
+ serverIconPath=/data/server-icon.png
+ mcHealthEnvPath=/data/.mc-health.env
+ bootstrapPath=/data/bootstrap.txt
+ '[' -n '' ']'
+ useGeneratedLogs=false
+ useFallbackJvmFlag=false
+ SERVER_DIR=/data
+ [[ -n '' ]]
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
+ false
+ versionLessThan 1.7
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
+ compare_version 1.5.2 lt 1.7
+ local left_version=1.5.2
+ local comparison=lt
+ local right_version=1.7
+ [[ -z 1.5.2 ]]
+ [[ -z 1.7 ]]
+ [[ 1.5.2 == a* ]]
+ [[ 1.5.2 == b* ]]
+ left_version_channel=3
+ [[ 1.7 == a* ]]
+ [[ 1.7 == b* ]]
+ right_version_channel=3
+ [[ lt == \l\t ]]
+ [[ 3 < 3 ]]
+ [[ lt == \l\t ]]
+ [[ 3 > 3 ]]
+ [[ lt == \g\t ]]
+ [[ lt == \g\t ]]
+ [[ lt == \l\e ]]
+ [[ lt == \l\e ]]
+ [[ lt == \g\e ]]
+ [[ lt == \g\e ]]
+ [[ lt == \e\q ]]
+ local result=1
+ case $comparison in
++ echo -e '1.5.2\n1.7'
++ sort -V
++ head -n1
+ [[ 1.5.2 == \1\.\5\.\2 ]]
+ [[ 1.5.2 != \1\.\7 ]]
+ result=0
+ return 0
+ :
+ LOGFILE=/data/log4j2.xml
+ false
+ rm -f /data/log4j2.xml
+ versionLessThan 1.14
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
+ compare_version 1.5.2 lt 1.14
+ local left_version=1.5.2
+ local comparison=lt
+ local right_version=1.14
+ [[ -z 1.5.2 ]]
+ [[ -z 1.14 ]]
+ [[ 1.5.2 == a* ]]
+ [[ 1.5.2 == b* ]]
+ left_version_channel=3
+ [[ 1.14 == a* ]]
+ [[ 1.14 == b* ]]
+ right_version_channel=3
+ [[ lt == \l\t ]]
+ [[ 3 < 3 ]]
+ [[ lt == \l\t ]]
+ [[ 3 > 3 ]]
+ [[ lt == \g\t ]]
+ [[ lt == \g\t ]]
+ [[ lt == \l\e ]]
+ [[ lt == \l\e ]]
+ [[ lt == \g\e ]]
+ [[ lt == \g\e ]]
+ [[ lt == \e\q ]]
+ local result=1
+ case $comparison in
++ echo -e '1.5.2\n1.14'
++ sort -V
++ head -n1
+ [[ 1.5.2 == \1\.\5\.\2 ]]
+ [[ 1.5.2 != \1\.\1\4 ]]
+ result=0
+ return 0
+ [[ '' = false ]]
+ [[ '' = false ]]
+ expandedDOpts=
+ '[' -n '' ']'
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ : false
+ : false
+ : false
+ isTrue false
+ case "${1,,}" in
+ return 1
+ isTrue false
+ case "${1,,}" in
+ return 1
+ isTrue false
+ case "${1,,}" in
+ return 1
+ isTrue false
+ case "${1,,}" in
+ return 1
+ isTrue false
+ case "${1,,}" in
+ return 1
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ isType GTNH
+ for t in "${@}"
+ [[ FORGE == \G\T\N\H ]]
+ return 1
+ [[ -n 1G ]]
+ log 'Setting initial memory to 1G and max to 1G'
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
[init] 2026-01-13 11:47:54+00:00 Setting initial memory to 1G and max to 1G
+ isPercentage 1G
+ local value=1G
+ [[ 1G =~ ^[0-9]+(\.[0-9]+)?s*%$ ]]
+ [[ -n 1G ]]
+ JVM_OPTS='-Xms1G '
+ isPercentage 1G
+ local value=1G
+ [[ 1G =~ ^[0-9]+(\.[0-9]+)?s*%$ ]]
+ [[ -n 1G ]]
+ JVM_OPTS='-Xmx1G -Xms1G '
+ versionLessThan b1.8
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
+ compare_version 1.5.2 lt b1.8
+ local left_version=1.5.2
+ local comparison=lt
+ local right_version=b1.8
+ [[ -z 1.5.2 ]]
+ [[ -z b1.8 ]]
+ [[ 1.5.2 == a* ]]
+ [[ 1.5.2 == b* ]]
+ left_version_channel=3
+ [[ b1.8 == a* ]]
+ [[ b1.8 == b* ]]
+ right_version=1.8
+ right_version_channel=2
+ [[ lt == \l\t ]]
+ [[ 3 < 2 ]]
+ [[ lt == \l\t ]]
+ [[ 3 > 2 ]]
+ return 1
+ versionLessThan 1.3
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
+ compare_version 1.5.2 lt 1.3
+ local left_version=1.5.2
+ local comparison=lt
+ local right_version=1.3
+ [[ -z 1.5.2 ]]
+ [[ -z 1.3 ]]
+ [[ 1.5.2 == a* ]]
+ [[ 1.5.2 == b* ]]
+ left_version_channel=3
+ [[ 1.3 == a* ]]
+ [[ 1.3 == b* ]]
+ right_version_channel=3
+ [[ lt == \l\t ]]
+ [[ 3 < 3 ]]
+ [[ lt == \l\t ]]
+ [[ 3 > 3 ]]
+ [[ lt == \g\t ]]
+ [[ lt == \g\t ]]
+ [[ lt == \l\e ]]
+ [[ lt == \l\e ]]
+ [[ lt == \g\e ]]
+ [[ lt == \g\e ]]
+ [[ lt == \e\q ]]
+ local result=1
+ case $comparison in
++ echo -e '1.5.2\n1.3'
++ sort -V
++ head -n1
+ [[ 1.3 == \1\.\5\.\2 ]]
+ return 1
+ versionLessThan 1.7
+ local oldState
++ shopt -po xtrace
+ oldState='set -o xtrace'
+ shopt -u -o xtrace
+ compare_version 1.5.2 lt 1.7
+ local left_version=1.5.2
+ local comparison=lt
+ local right_version=1.7
+ [[ -z 1.5.2 ]]
+ [[ -z 1.7 ]]
+ [[ 1.5.2 == a* ]]
+ [[ 1.5.2 == b* ]]
+ left_version_channel=3
+ [[ 1.7 == a* ]]
+ [[ 1.7 == b* ]]
+ right_version_channel=3
+ [[ lt == \l\t ]]
+ [[ 3 < 3 ]]
+ [[ lt == \l\t ]]
+ [[ 3 > 3 ]]
+ [[ lt == \g\t ]]
+ [[ lt == \g\t ]]
+ [[ lt == \l\e ]]
+ [[ lt == \l\e ]]
+ [[ lt == \g\e ]]
+ [[ lt == \g\e ]]
+ [[ lt == \e\q ]]
+ local result=1
+ case $comparison in
++ echo -e '1.5.2\n1.7'
++ sort -V
++ head -n1
+ [[ 1.5.2 == \1\.\5\.\2 ]]
+ [[ 1.5.2 != \1\.\7 ]]
+ result=0
+ return 0
+ echo '
MC_HEALTH_EXTRA_ARGS=(
  --use-server-list-ping
)
  '
+ mcServerRunnerArgs=(--stop-duration "${STOP_DURATION:-60}s")
+ isTrue false
+ case "${1,,}" in
+ return 1
+ [[ -n '' ]]
+ isTrue ''
+ case "${1,,}" in
+ return 1
+ [[ FORGE == \C\U\R\S\E\F\O\R\G\E ]]
+ [[ FORGE == \C\U\R\S\E\F\O\R\G\E ]]
+ [[ minecraftforge-universal-1.5.2-7.8.1.738.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] 2026-01-13 11:47:54+00: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
+ exec mc-server-runner --stop-duration 60s java -Xmx1G -Xms1G -jar minecraftforge-universal-1.5.2-7.8.1.738.jar
Error: Could not find or load main class net.minecraft.server.MinecraftServer

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions