From 2891e1ac3eeb6b7577f7268cb959709812a43f9e Mon Sep 17 00:00:00 2001 From: Geoff Bourne Date: Mon, 5 Jun 2017 21:34:15 -0500 Subject: [PATCH 1/5] [mc] Check for valid $FORGE_INSTALLER --- minecraft-server/start-minecraft.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/minecraft-server/start-minecraft.sh b/minecraft-server/start-minecraft.sh index e1fa5402..a3252e55 100755 --- a/minecraft-server/start-minecraft.sh +++ b/minecraft-server/start-minecraft.sh @@ -158,6 +158,9 @@ function installForge { FORGE_INSTALLER="/tmp/forge-$shortForgeVersion-installer.jar" elif [[ -z $FORGE_INSTALLER ]]; then FORGE_INSTALLER="/tmp/forge-installer.jar" + elif [[ ! -e $FORGE_INSTALLER ]]; then + echo "ERROR: the given Forge installer doesn't exist : $FORGE_INSTALLER" + exit 2 fi installMarker=".forge-installed-$shortForgeVersion" @@ -187,7 +190,7 @@ function installForge { else echo "Downloading $FORGE_INSTALLER_URL ..." if ! curl -o $FORGE_INSTALLER -fsSL $FORGE_INSTALLER_URL; then - echo "Failed to download from specification location $FORGE_INSTALLER_URL" + echo "Failed to download from given location $FORGE_INSTALLER_URL" exit 2 fi fi From 24c68b9c2c58cca0334bb62ea51eca138998ecaf Mon Sep 17 00:00:00 2001 From: Geoff Bourne Date: Tue, 6 Jun 2017 22:36:39 -0500 Subject: [PATCH 2/5] [mc] Avoid trying to run forge installer as server --- minecraft-server/start-minecraft.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/minecraft-server/start-minecraft.sh b/minecraft-server/start-minecraft.sh index a3252e55..bb65c4c6 100755 --- a/minecraft-server/start-minecraft.sh +++ b/minecraft-server/start-minecraft.sh @@ -211,7 +211,8 @@ function installForge { fi # NOTE $shortForgeVersion will be empty if installer location was given to us - SERVER=$(ls *forge*$shortForgeVersion*.jar) + forgeJars=$(ls *forge*$shortForgeVersion*.jar) + SERVER=${forgeJars/$FORGE_INSTALLER/} if [ -z $SERVER ]; then echo "Unable to derive server jar for Forge" exit 2 From e6ca9a1c6d5b209e965b50a08663e5f728a1a1d7 Mon Sep 17 00:00:00 2001 From: Geoff Bourne Date: Tue, 6 Jun 2017 23:09:45 -0500 Subject: [PATCH 3/5] [mc] glob for forge jar, but exclude installer --- minecraft-server/start-minecraft.sh | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/minecraft-server/start-minecraft.sh b/minecraft-server/start-minecraft.sh index bb65c4c6..f1ff296e 100755 --- a/minecraft-server/start-minecraft.sh +++ b/minecraft-server/start-minecraft.sh @@ -211,9 +211,17 @@ function installForge { fi # NOTE $shortForgeVersion will be empty if installer location was given to us - forgeJars=$(ls *forge*$shortForgeVersion*.jar) - SERVER=${forgeJars/$FORGE_INSTALLER/} - if [ -z $SERVER ]; then + for j in *forge*.jar; do + case $j in + *installer*) + ;; + *) + SERVER=$j + break + ;; + esac + done + if [[ -z $SERVER ]]; then echo "Unable to derive server jar for Forge" exit 2 fi From 899f31917cacecef88f7065bd707afdf35d4f363 Mon Sep 17 00:00:00 2001 From: Geoff Bourne Date: Wed, 7 Jun 2017 08:07:44 -0500 Subject: [PATCH 4/5] [mc] Add some FORGE_INSTALLER lookup messages --- minecraft-server/start-minecraft.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/minecraft-server/start-minecraft.sh b/minecraft-server/start-minecraft.sh index f1ff296e..88eebbfb 100755 --- a/minecraft-server/start-minecraft.sh +++ b/minecraft-server/start-minecraft.sh @@ -196,7 +196,7 @@ function installForge { fi fi - echo "Installing Forge $shortForgeVersion" + echo "Installing Forge $shortForgeVersion using $FORGE_INSTALLER" mkdir -p mods tries=3 while ((--tries >= 0)); do @@ -211,7 +211,9 @@ function installForge { fi # NOTE $shortForgeVersion will be empty if installer location was given to us + echo "Finding installed server jar..." for j in *forge*.jar; do + echo "...$j" case $j in *installer*) ;; From e509563b109695a61d1bf43b6a5fa0c9440e37f6 Mon Sep 17 00:00:00 2001 From: Geoff Bourne Date: Wed, 7 Jun 2017 20:43:35 -0500 Subject: [PATCH 5/5] [mc] Correctly pre-populate json config files For #158 --- minecraft-server/start-minecraft.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/minecraft-server/start-minecraft.sh b/minecraft-server/start-minecraft.sh index 88eebbfb..b568f53c 100755 --- a/minecraft-server/start-minecraft.sh +++ b/minecraft-server/start-minecraft.sh @@ -557,10 +557,10 @@ fi # Make sure files exist to avoid errors if [ ! -e banned-players.json ]; then - echo '' > banned-players.json + echo '[]' > banned-players.json fi if [ ! -e banned-ips.json ]; then - echo '' > banned-ips.json + echo '[]' > banned-ips.json fi # If any modules have been provided, copy them over