Compare commits

...
2 Commits
6 changed files with 35 additions and 46 deletions
+4 -4
View File
@@ -80,27 +80,27 @@ jobs:
platforms: linux/amd64,linux/arm/v7,linux/arm64
mcVersion: 1.16.5
# Pin version for pre-Java 17
mcHelperVersion: 1.51.3-java8
mcHelperVersion: 1.51.4-java8
# JAVA 11
- variant: java11
baseImage: adoptopenjdk:11-jre-hotspot
platforms: linux/amd64,linux/arm/v7,linux/arm64
mcVersion: 1.16.4
# Pin version for pre-Java 17
mcHelperVersion: 1.51.3-java8
mcHelperVersion: 1.51.4-java8
# JAVA 8: NOTE: Unable to go past 8u312 because of Forge dependencies
- variant: java8
baseImage: eclipse-temurin:8u312-b07-jre-focal
platforms: linux/amd64,linux/arm/v7,linux/arm64
mcVersion: 1.12.2
# Pin version for Java 8, also be sure to set in verify-pr.yml
mcHelperVersion: 1.51.3-java8
mcHelperVersion: 1.51.4-java8
- variant: java8-jdk
baseImage: eclipse-temurin:8u312-b07-jdk-focal
platforms: linux/amd64,linux/arm64
mcVersion: 1.12.2
# Pin version for Java 8, also be sure to set in verify-pr.yml
mcHelperVersion: 1.51.3-java8
mcHelperVersion: 1.51.4-java8
env:
# Assume they line up, but when forked change to your Docker Hub username
DOCKER_HUB_ORG: ${{ github.repository_owner }}
+2 -1
View File
@@ -47,6 +47,7 @@ jobs:
mcVersion: 1.20.4
# For GLIBC_2.34 support
knockdRepoOrg: Metalcape/knock
# JAVA 8:
- variant: java8
baseImage: eclipse-temurin:8u312-b07-jre-focal
platforms: linux/amd64
@@ -54,7 +55,7 @@ jobs:
# For GLIBC_2.34 support
knockdRepoOrg: Metalcape/knock
# Pin version for Java 8, be sure to also set in build.yml
mcHelperVersion: 1.51.3-java8
mcHelperVersion: 1.51.4-java8
env:
IMAGE_TO_TEST: ${{ github.repository_owner }}/minecraft-server:test-${{ matrix.variant }}-${{ github.run_id }}
runs-on: ubuntu-22.04
+1 -1
View File
@@ -57,7 +57,7 @@ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
# renovate: datasource=github-releases packageName=itzg/mc-image-helper versioning=loose
ARG MC_HELPER_VERSION=1.61.4
ARG MC_HELPER_VERSION=1.62.0
ARG MC_HELPER_BASE_URL=${GITHUB_BASEURL}/itzg/mc-image-helper/releases/download/${MC_HELPER_VERSION}
# used for cache busting local copy of mc-image-helper
ARG MC_HELPER_REV=1
+4
View File
@@ -179,6 +179,10 @@ such as:
You may configure the use of an HTTP/HTTPS proxy by passing the proxy's "host:port" via the environment variable `PROXY`. In [the example compose file](https://github.com/itzg/docker-minecraft-server/blob/master/examples/proxied/compose.yml) it references a Squid proxy. The host and port can be separately passed via the environment variables `PROXY_HOST` and `PROXY_PORT`. A `|` delimited list of hosts to exclude from proxying can be passed via `PROXY_NON_PROXY_HOSTS`.
## Prefer IPv6 Addresses and Stack
The image can be configured to prefer IPv6 addresses and stack by setting the environment variable `PREFER_IPV6` to "true". This will ensure the Java properties `java.net.preferIPv6Addresses` and `java.net.preferIPv6Stack` are set accordingly for mc-image-helper and the Minecraft server process.
## Using "noconsole" option
Some older versions (pre-1.14) of Spigot required `--noconsole` to be passed when detaching stdin, which can be done by setting `-e CONSOLE=FALSE`.
+8
View File
@@ -7,6 +7,7 @@ IFS=$'\n\t'
: "${EULA:=}"
: "${PROXY:=}"
: "${PREFER_IPV6:=false}"
: "${ENABLE_AUTOPAUSE:=false}"
: "${ENABLE_AUTOSTOP:=false}"
: "${RCON_CMDS_STARTUP:=}"
@@ -28,6 +29,13 @@ shopt -s nullglob
isDebugging && set -x
if isTrue "$PREFER_IPV6"; then
MC_IMAGE_HELPER_OPTS+="-Djava.net.preferIPv6Addresses=true -Djava.net.preferIPv6Stack=true"
export MC_IMAGE_HELPER_OPTS
JVM_DD_OPTS+="java.net.preferIPv6Addresses=true java.net.preferIPv6Stack=true"
export JVM_DD_OPTS
fi
if (( $(mc-image-helper java-release) >= 17 )); then
MC_IMAGE_HELPER_OPTS+=" --enable-native-access=ALL-UNNAMED"
export MC_IMAGE_HELPER_OPTS
+16 -40
View File
@@ -5,52 +5,28 @@
isDebugging && set -x
set -o pipefail
resolveVersion
export SERVER="minecraft_server.${VERSION// /_}.jar"
resultsFile=/data/.install-vanilla.env
if [ ! -e "$SERVER" ] || [ -n "$FORCE_REDOWNLOAD" ]; then
debug "Finding version manifest for $VERSION"
versionManifestUrl=$(get 'https://launchermeta.mojang.com/mc/game/version_manifest.json' | jq --arg VERSION "$VERSION" --raw-output '[.versions[]|select(.id == $VERSION)][0].url')
result=$?
if [ $result != 0 ]; then
logError "Failed to obtain version manifest URL ($result)"
exit 1
fi
if [ "$versionManifestUrl" = "null" ]; then
logError "Couldn't find a matching manifest entry for $VERSION"
exit 1
fi
debug "Found version manifest at $versionManifestUrl"
args=(
--output-directory=/data
--results-file="${resultsFile}"
--version="${VERSION}"
)
if ! serverDownloadUrl=$(get --json-path '$.downloads.server.url' "${versionManifestUrl}"); then
logError "Failed to obtain version manifest from $versionManifestUrl ($result)"
exit 1
elif [ "$serverDownloadUrl" = "null" ]; then
logError "There is not a server download for version $VERSION"
exit 1
fi
log "Downloading $VERSION server..."
debug "Downloading server from $serverDownloadUrl"
get -o "$SERVER" "$serverDownloadUrl"
result=$?
if [ $result != 0 ]; then
logError "Failed to download server from $serverDownloadUrl ($result)"
exit 1
fi
if isTrue "${FORCE_REDOWNLOAD}"; then
log "Forcing re-install of Minecraft"
args+=(--force-reinstall)
fi
minecraftServerJarPath=/data/minecraft_server.jar
if versionLessThan 1.6; then
if ! [[ -L $minecraftServerJarPath && $minecraftServerJarPath -ef "/data/$SERVER" ]]; then
rm -f $minecraftServerJarPath
ln -s "/data/$SERVER" $minecraftServerJarPath
fi
SERVER=minecraft_server.jar
elif [[ -L $minecraftServerJarPath ]]; then
rm -f $minecraftServerJarPath
if ! mc-image-helper install-vanilla "${args[@]}"; then
logError "Failed to install vanilla Minecraft version $VERSION"
exit 1
fi
applyResultsFile "${resultsFile}"
log "Successfully setup vanilla Minecraft version $VERSION"
isDebugging && ls -l
export FAMILY=VANILLA
exec "$(dirname "$0")/start-setupWorld" "$@"