mirror of
https://github.com/itzg/docker-minecraft-server.git
synced 2026-08-29 02:07:33 +00:00
Better handle CurseForge manifest.json (#414)
This commit is contained in:
@@ -78,10 +78,20 @@ done
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$MANIFEST" ]]; then
|
if [[ "$MANIFEST" ]]; then
|
||||||
EFFECTIVE_MANIFEST_URL=$(curl -Ls -o /dev/null -w %{url_effective} $MANIFEST)
|
if [[ -e "$MANIFEST" ]]; then
|
||||||
case "X$EFFECTIVE_MANIFEST_URL" in
|
EFFECTIVE_MANIFEST_FILE=$MANIFEST
|
||||||
|
elif isURL "$MANIFEST"; then
|
||||||
|
EFFECTIVE_MANIFEST_FILE=/tmp/manifest.json
|
||||||
|
EFFECTIVE_MANIFEST_URL=$(curl -Ls -o /dev/null -w %{url_effective} $MANIFEST)
|
||||||
|
curl -Ls -o $EFFECTIVE_MANIFEST_FILE "$EFFECTIVE_MANIFEST_URL"
|
||||||
|
else
|
||||||
|
echo "MANIFEST='$MANIFEST' is not a valid manifest url or location"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "X$EFFECTIVE_MANIFEST_FILE" in
|
||||||
X*.json)
|
X*.json)
|
||||||
if [ -f "${EFFECTIVE_MANIFEST_URL}" ]; then
|
if [ -f "${EFFECTIVE_MANIFEST_FILE}" ]; then
|
||||||
MOD_DIR=${FTB_BASE_DIR:-/data}/mods
|
MOD_DIR=${FTB_BASE_DIR:-/data}/mods
|
||||||
if [ ! -d "$MOD_DIR" ]
|
if [ ! -d "$MOD_DIR" ]
|
||||||
then
|
then
|
||||||
@@ -89,7 +99,7 @@ case "X$EFFECTIVE_MANIFEST_URL" in
|
|||||||
mkdir -p "$MOD_DIR"
|
mkdir -p "$MOD_DIR"
|
||||||
fi
|
fi
|
||||||
echo "Starting manifest download..."
|
echo "Starting manifest download..."
|
||||||
cat "${EFFECTIVE_MANIFEST_URL}" | jq -r '.files[] | (.projectID|tostring) + " " + (.fileID|tostring)'| while read -r p f
|
cat "${EFFECTIVE_MANIFEST_FILE}" | jq -r '.files[] | (.projectID|tostring) + " " + (.fileID|tostring)'| while read -r p f
|
||||||
do
|
do
|
||||||
if [ ! -f $MOD_DIR/${p}_${f}.jar ]
|
if [ ! -f $MOD_DIR/${p}_${f}.jar ]
|
||||||
then
|
then
|
||||||
|
|||||||
+2
-2
@@ -3,7 +3,7 @@
|
|||||||
function isURL {
|
function isURL {
|
||||||
local value=$1
|
local value=$1
|
||||||
|
|
||||||
if [[ ${value:0:8} == "https://" || ${value:0:7} = "http://" ]]; then
|
if [[ ${value:0:8} == "https://" || ${value:0:7} == "http://" ]]; then
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
return 1
|
return 1
|
||||||
@@ -39,4 +39,4 @@ function debug {
|
|||||||
if isDebugging; then
|
if isDebugging; then
|
||||||
echo "DEBUG: $*"
|
echo "DEBUG: $*"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user