mirror of
https://github.com/itzg/docker-minecraft-server.git
synced 2026-07-09 18:15:10 +00:00
@@ -68,7 +68,7 @@ jobs:
|
|||||||
load: true
|
load: true
|
||||||
push: false
|
push: false
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
# no cache-to to avoid cross-cache update from next build step
|
||||||
|
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
# It is assumed that image variants are merged from master and tested there
|
# It is assumed that image variants are merged from master and tested there
|
||||||
|
|||||||
+1
-1
@@ -60,7 +60,7 @@ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
|||||||
--var version=0.1.1 --var app=maven-metadata-release --file {{.app}} \
|
--var version=0.1.1 --var app=maven-metadata-release --file {{.app}} \
|
||||||
--from https://github.com/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
|
--from https://github.com/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
|
||||||
|
|
||||||
ARG MC_HELPER_VERSION=1.9.10
|
ARG MC_HELPER_VERSION=1.10.0
|
||||||
ARG MC_HELPER_BASE_URL=https://github.com/itzg/mc-image-helper/releases/download/v${MC_HELPER_VERSION}
|
ARG MC_HELPER_BASE_URL=https://github.com/itzg/mc-image-helper/releases/download/v${MC_HELPER_VERSION}
|
||||||
RUN curl -fsSL ${MC_HELPER_BASE_URL}/mc-image-helper-${MC_HELPER_VERSION}.tgz \
|
RUN curl -fsSL ${MC_HELPER_BASE_URL}/mc-image-helper-${MC_HELPER_VERSION}.tgz \
|
||||||
| tar -C /usr/share -zxf - \
|
| tar -C /usr/share -zxf - \
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ fi
|
|||||||
|
|
||||||
# Normalize on Spigot for later operations
|
# Normalize on Spigot for later operations
|
||||||
export TYPE=SPIGOT
|
export TYPE=SPIGOT
|
||||||
|
export FAMILY=SPIGOT
|
||||||
export SKIP_LOG4J_CONFIG=true
|
export SKIP_LOG4J_CONFIG=true
|
||||||
|
|
||||||
exec ${SCRIPTS:-/}start-spiget "$@"
|
exec ${SCRIPTS:-/}start-spiget "$@"
|
||||||
|
|||||||
@@ -127,6 +127,7 @@ fi
|
|||||||
|
|
||||||
# Normalize on Spigot for operations below
|
# Normalize on Spigot for operations below
|
||||||
export TYPE=SPIGOT
|
export TYPE=SPIGOT
|
||||||
|
export FAMILY=SPIGOT
|
||||||
export SKIP_LOG4J_CONFIG=true
|
export SKIP_LOG4J_CONFIG=true
|
||||||
|
|
||||||
exec ${SCRIPTS:-/}start-spiget "$@"
|
exec ${SCRIPTS:-/}start-spiget "$@"
|
||||||
|
|||||||
@@ -233,4 +233,5 @@ elif [ -e "${FTB_DIR}/Install.sh" ]; then
|
|||||||
popd
|
popd
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
export FAMILY=FORGE
|
||||||
exec "${SCRIPTS:-/}start-setupWorld" "$@"
|
exec "${SCRIPTS:-/}start-setupWorld" "$@"
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ fi
|
|||||||
|
|
||||||
# Normalize on Spigot for later operations
|
# Normalize on Spigot for later operations
|
||||||
export TYPE=SPIGOT
|
export TYPE=SPIGOT
|
||||||
|
export FAMILY=SPIGOT
|
||||||
export SKIP_LOG4J_CONFIG=true
|
export SKIP_LOG4J_CONFIG=true
|
||||||
|
|
||||||
exec ${SCRIPTS:-/}start-spiget "$@"
|
exec ${SCRIPTS:-/}start-spiget "$@"
|
||||||
|
|||||||
@@ -28,5 +28,6 @@ fi
|
|||||||
|
|
||||||
export SKIP_LOG4J_CONFIG=true
|
export SKIP_LOG4J_CONFIG=true
|
||||||
|
|
||||||
|
export FAMILY=HYBRID
|
||||||
# Continue to Final Setup
|
# Continue to Final Setup
|
||||||
exec ${SCRIPTS:-/}start-setupWorld "$@"
|
exec ${SCRIPTS:-/}start-setupWorld "$@"
|
||||||
|
|||||||
@@ -56,5 +56,6 @@ fi
|
|||||||
|
|
||||||
export SERVER
|
export SERVER
|
||||||
export SKIP_LOG4J_CONFIG=true
|
export SKIP_LOG4J_CONFIG=true
|
||||||
|
export FAMILY=HYBRID
|
||||||
|
|
||||||
exec "${SCRIPTS:-$(dirname "$0")}/start-setupWorld" "$@"
|
exec "${SCRIPTS:-$(dirname "$0")}/start-setupWorld" "$@"
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
export SKIP_LOG4J_CONFIG=true
|
export SKIP_LOG4J_CONFIG=true
|
||||||
|
export FAMILY=HYBRID
|
||||||
exec ${SCRIPTS:-/}start-setupWorld $@
|
exec ${SCRIPTS:-/}start-setupWorld $@
|
||||||
|
|||||||
@@ -79,4 +79,5 @@ if ! [ -v SERVER ]; then
|
|||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
export FAMILY=FORGE
|
||||||
exec ${SCRIPTS:-/}start-setupWorld $@
|
exec ${SCRIPTS:-/}start-setupWorld $@
|
||||||
|
|||||||
@@ -69,4 +69,5 @@ if [[ ! -e ${SERVER} ]]; then
|
|||||||
mv fabric-server-launch.jar "${SERVER}"
|
mv fabric-server-launch.jar "${SERVER}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
export FAMILY=FABRIC
|
||||||
exec ${SCRIPTS:-/}start-setupWorld "$@"
|
exec ${SCRIPTS:-/}start-setupWorld "$@"
|
||||||
|
|||||||
@@ -147,4 +147,5 @@ else
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
export FAMILY=FORGE
|
||||||
exec "${SCRIPTS:-/}start-setupWorld" "$@"
|
exec "${SCRIPTS:-/}start-setupWorld" "$@"
|
||||||
|
|||||||
@@ -60,4 +60,5 @@ export LEVEL
|
|||||||
|
|
||||||
export SKIP_LOG4J_CONFIG=true
|
export SKIP_LOG4J_CONFIG=true
|
||||||
|
|
||||||
|
export FAMILY=LIMBO
|
||||||
exec ${SCRIPTS:-/}start-setupWorld $@
|
exec ${SCRIPTS:-/}start-setupWorld $@
|
||||||
|
|||||||
@@ -89,4 +89,5 @@ else
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exec ${SCRIPTS:-/}start-setupWorld $@
|
export FAMILY=HYBRID
|
||||||
|
exec ${SCRIPTS:-/}start-setupWorld "$@"
|
||||||
|
|||||||
@@ -40,4 +40,5 @@ fi
|
|||||||
|
|
||||||
export SKIP_LOG4J_CONFIG=true
|
export SKIP_LOG4J_CONFIG=true
|
||||||
|
|
||||||
|
export FAMILY=HYBRID
|
||||||
exec "${SCRIPTS:-$(dirname "$0")}/start-setupWorld" "$@"
|
exec "${SCRIPTS:-$(dirname "$0")}/start-setupWorld" "$@"
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ fi
|
|||||||
|
|
||||||
# Normalize on Spigot for downstream operations
|
# Normalize on Spigot for downstream operations
|
||||||
export TYPE=SPIGOT
|
export TYPE=SPIGOT
|
||||||
|
export FAMILY=SPIGOT
|
||||||
export SKIP_LOG4J_CONFIG=true
|
export SKIP_LOG4J_CONFIG=true
|
||||||
|
|
||||||
exec ${SCRIPTS:-/}start-spiget "$@"
|
exec ${SCRIPTS:-/}start-spiget "$@"
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ fi
|
|||||||
|
|
||||||
# Normalize on Spigot for later operations
|
# Normalize on Spigot for later operations
|
||||||
export TYPE=SPIGOT
|
export TYPE=SPIGOT
|
||||||
|
export FAMILY=SPIGOT
|
||||||
export SKIP_LOG4J_CONFIG=true
|
export SKIP_LOG4J_CONFIG=true
|
||||||
|
|
||||||
exec ${SCRIPTS:-/}start-spiget "$@"
|
exec ${SCRIPTS:-/}start-spiget "$@"
|
||||||
|
|||||||
@@ -37,4 +37,5 @@ if [ ! -e $SERVER ] || [ -n "$FORCE_REDOWNLOAD" ]; then
|
|||||||
curl -sSL -o $SERVER https://repo.spongepowered.org/maven/org/spongepowered/$TYPE/$SPONGEVERSION/$SERVER
|
curl -sSL -o $SERVER https://repo.spongepowered.org/maven/org/spongepowered/$TYPE/$SPONGEVERSION/$SERVER
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exec ${SCRIPTS:-/}start-setupWorld $@
|
export FAMILY=SPONGE
|
||||||
|
exec ${SCRIPTS:-/}start-setupWorld "$@"
|
||||||
|
|||||||
@@ -52,5 +52,5 @@ elif [[ -L /data/minecraft_server.jar ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
isDebugging && ls -l
|
isDebugging && ls -l
|
||||||
|
export FAMILY=VANILLA
|
||||||
exec "${SCRIPTS:-/}start-setupWorld" "$@"
|
exec "${SCRIPTS:-/}start-setupWorld" "$@"
|
||||||
|
|||||||
@@ -96,10 +96,9 @@ patchLog4jConfig() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Patch Log4j remote code execution vulnerability
|
# Patch Log4j remote code execution vulnerability
|
||||||
# NOTE: Paper, bukkit, and spigot are normalized to SPIGOT
|
if isFamily VANILLA && versionLessThan 1.12; then
|
||||||
if [[ ${TYPE^^} != SPIGOT ]] && versionLessThan 1.12; then
|
|
||||||
patchLog4jConfig log4j2_17-111.xml https://launcher.mojang.com/v1/objects/dd2b723346a8dcd48e7f4d245f6bf09e98db9696/log4j2_17-111.xml
|
patchLog4jConfig log4j2_17-111.xml https://launcher.mojang.com/v1/objects/dd2b723346a8dcd48e7f4d245f6bf09e98db9696/log4j2_17-111.xml
|
||||||
elif [[ ${TYPE^^} != SPIGOT ]] && versionLessThan 1.17; then
|
elif isFamily VANILLA && versionLessThan 1.17; then
|
||||||
patchLog4jConfig log4j2_112-116.xml https://launcher.mojang.com/v1/objects/02937d122c86ce73319ef9975b58896fc1b491d1/log4j2_112-116.xml
|
patchLog4jConfig log4j2_112-116.xml https://launcher.mojang.com/v1/objects/02937d122c86ce73319ef9975b58896fc1b491d1/log4j2_112-116.xml
|
||||||
elif versionLessThan 1.18.1; then
|
elif versionLessThan 1.18.1; then
|
||||||
JVM_OPTS="-Dlog4j2.formatMsgNoLookups=true ${JVM_OPTS}"
|
JVM_OPTS="-Dlog4j2.formatMsgNoLookups=true ${JVM_OPTS}"
|
||||||
|
|||||||
+11
-29
@@ -112,34 +112,7 @@ function normalizeMemSize() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function versionLessThan() {
|
function versionLessThan() {
|
||||||
local activeParts
|
mc-image-helper compare-versions "${VANILLA_VERSION}" lt "${1?}"
|
||||||
version=${VANILLA_VERSION%%-*} # for snapshot/rc versions
|
|
||||||
version=${version##b} # for versions like b1.7.3
|
|
||||||
IFS=. read -ra activeParts <<<"${version}"
|
|
||||||
|
|
||||||
local givenParts
|
|
||||||
IFS=. read -ra givenParts <<<"$1"
|
|
||||||
|
|
||||||
if ((${#activeParts[@]} < 2)); then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ((${#activeParts[@]} == 2)); then
|
|
||||||
if ((activeParts[0] < givenParts[0])) ||
|
|
||||||
((activeParts[0] == givenParts[0] && activeParts[1] < givenParts[1])); then
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
if ((activeParts[0] < givenParts[0])) ||
|
|
||||||
((activeParts[0] == givenParts[0] && activeParts[1] < givenParts[1])) ||
|
|
||||||
((activeParts[0] == givenParts[0] && activeParts[1] == givenParts[1] && activeParts[2] < givenParts[2])); then
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
requireVar() {
|
requireVar() {
|
||||||
@@ -163,7 +136,7 @@ requireEnum() {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
log "ERROR: $var must be set to one of $@"
|
log "ERROR: $var must be set to one of $*"
|
||||||
# exit 1
|
# exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -190,3 +163,12 @@ function get() {
|
|||||||
fi
|
fi
|
||||||
mc-image-helper "${flags[@]}" get "$@"
|
mc-image-helper "${flags[@]}" get "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function isFamily() {
|
||||||
|
for f in "${@}"; do
|
||||||
|
if [[ $FAMILY == "$f" ]]; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
return 1
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user