mirror of
https://github.com/itzg/docker-minecraft-server.git
synced 2026-02-25 02:26:24 +00:00
Compare commits
21 Commits
2025.1.0
...
itzg-patch
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
855b664e47 | ||
|
|
0e3f75879d | ||
|
|
b595c107bb | ||
|
|
3613a30709 | ||
|
|
da1b052516 | ||
|
|
abb3af07ba | ||
|
|
4f1a09b2a9 | ||
|
|
4e63990bd7 | ||
|
|
883d64159f | ||
|
|
d35b78c14e | ||
|
|
d420c523a3 | ||
|
|
1e28390d1b | ||
|
|
f79ef8f3a7 | ||
|
|
a485f84797 | ||
|
|
51ba6a2c71 | ||
|
|
e5b7a5829f | ||
|
|
6a994acc52 | ||
|
|
f46298c6b8 | ||
|
|
a72fb19ec6 | ||
|
|
4914ffbe40 | ||
|
|
03f9037668 |
6
.github/workflows/build-multiarch.yml
vendored
6
.github/workflows/build-multiarch.yml
vendored
@@ -131,10 +131,10 @@ jobs:
|
|||||||
uses: docker/setup-buildx-action@v3.8.0
|
uses: docker/setup-buildx-action@v3.8.0
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3.2.0
|
uses: docker/setup-qemu-action@v3.3.0
|
||||||
|
|
||||||
- name: Build for test
|
- name: Build for test
|
||||||
uses: docker/build-push-action@v6.10.0
|
uses: docker/build-push-action@v6.12.0
|
||||||
with:
|
with:
|
||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
tags: ${{ env.IMAGE_TO_TEST }}
|
tags: ${{ env.IMAGE_TO_TEST }}
|
||||||
@@ -172,7 +172,7 @@ jobs:
|
|||||||
password: ${{ github.token }}
|
password: ${{ github.token }}
|
||||||
|
|
||||||
- name: Build and push
|
- name: Build and push
|
||||||
uses: docker/build-push-action@v6.10.0
|
uses: docker/build-push-action@v6.12.0
|
||||||
if: github.actor == github.repository_owner
|
if: github.actor == github.repository_owner
|
||||||
with:
|
with:
|
||||||
platforms: ${{ matrix.platforms }}
|
platforms: ${{ matrix.platforms }}
|
||||||
|
|||||||
4
.github/workflows/verify-pr.yml
vendored
4
.github/workflows/verify-pr.yml
vendored
@@ -56,7 +56,7 @@ jobs:
|
|||||||
uses: docker/setup-buildx-action@v3.8.0
|
uses: docker/setup-buildx-action@v3.8.0
|
||||||
|
|
||||||
- name: Confirm multi-arch build
|
- name: Confirm multi-arch build
|
||||||
uses: docker/build-push-action@v6.10.0
|
uses: docker/build-push-action@v6.12.0
|
||||||
with:
|
with:
|
||||||
platforms: ${{ matrix.platforms }}
|
platforms: ${{ matrix.platforms }}
|
||||||
# ensure latest base image is used
|
# ensure latest base image is used
|
||||||
@@ -66,7 +66,7 @@ jobs:
|
|||||||
cache-from: type=gha,scope=${{ matrix.variant }}
|
cache-from: type=gha,scope=${{ matrix.variant }}
|
||||||
|
|
||||||
- name: Build for test
|
- name: Build for test
|
||||||
uses: docker/build-push-action@v6.10.0
|
uses: docker/build-push-action@v6.12.0
|
||||||
with:
|
with:
|
||||||
# Only build single platform since loading multi-arch image into daemon fails with
|
# Only build single platform since loading multi-arch image into daemon fails with
|
||||||
# "docker exporter does not currently support exporting manifest lists"
|
# "docker exporter does not currently support exporting manifest lists"
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
|||||||
--var version=${MC_SERVER_RUNNER_VERSION} --var app=mc-server-runner --file {{.app}} \
|
--var version=${MC_SERVER_RUNNER_VERSION} --var app=mc-server-runner --file {{.app}} \
|
||||||
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
|
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
|
||||||
|
|
||||||
ARG MC_HELPER_VERSION=1.40.7
|
ARG MC_HELPER_VERSION=1.40.11
|
||||||
ARG MC_HELPER_BASE_URL=${GITHUB_BASEURL}/itzg/mc-image-helper/releases/download/${MC_HELPER_VERSION}
|
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
|
# used for cache busting local copy of mc-image-helper
|
||||||
ARG MC_HELPER_REV=1
|
ARG MC_HELPER_REV=1
|
||||||
|
|||||||
@@ -10,10 +10,12 @@
|
|||||||
|
|
||||||
There you will find things like
|
There you will find things like
|
||||||
- [Quick start with Docker Compose](https://docker-minecraft-server.readthedocs.io/en/latest/#using-docker-compose)
|
- [Quick start with Docker Compose](https://docker-minecraft-server.readthedocs.io/en/latest/#using-docker-compose)
|
||||||
- Running [different versions of Minecraft](https://docker-minecraft-server.readthedocs.io/en/latest/versions/minecraft/) and using [various server types](https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/)
|
- Running [different versions of Minecraft](https://docker-minecraft-server.readthedocs.io/en/latest/versions/minecraft/) and using [various server types](https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/) for Java Edition
|
||||||
- [Setting server properties via container environment variables](https://docker-minecraft-server.readthedocs.io/en/latest/configuration/server-properties/)
|
- [Setting server properties via container environment variables](https://docker-minecraft-server.readthedocs.io/en/latest/configuration/server-properties/)
|
||||||
- [Managing mods and plugins with automated downloads and cleanup](https://docker-minecraft-server.readthedocs.io/en/latest/mods-and-plugins/)
|
- [Managing mods and plugins with automated downloads and cleanup](https://docker-minecraft-server.readthedocs.io/en/latest/mods-and-plugins/)
|
||||||
- [Using various modpack providers/platforms](https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/)
|
- [Using various modpack providers/platforms](https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/)
|
||||||
- ...and much more
|
- ...and much more
|
||||||
|
|
||||||
There are also many examples located in [the examples directory](examples) of this repo.
|
There are also many examples located in [the examples directory](examples) of this repo.
|
||||||
|
|
||||||
|
This image only supports Java edition natively; however, if looking for a server that is compatible with Bedrock edition, then use [itzg/minecraft-bedrock-server](https://github.com/itzg/docker-minecraft-bedrock-server) or [refer to this section](https://docker-minecraft-server.readthedocs.io/en/latest/misc/examples/#bedrock-compatible-server) to add Bedrock compatibility to a Java edition server.
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ apk add --no-cache -U \
|
|||||||
tzdata \
|
tzdata \
|
||||||
rsync \
|
rsync \
|
||||||
nano \
|
nano \
|
||||||
|
ncurses \
|
||||||
sudo \
|
sudo \
|
||||||
tar \
|
tar \
|
||||||
zstd \
|
zstd \
|
||||||
|
|||||||
@@ -139,6 +139,7 @@ The following example shows a patch-set file where various fields in the `paper.
|
|||||||
```
|
```
|
||||||
|
|
||||||
Supports the file formats:
|
Supports the file formats:
|
||||||
|
|
||||||
- JSON
|
- JSON
|
||||||
- JSON5
|
- JSON5
|
||||||
- Yaml
|
- Yaml
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ where, in this case, the standard server port 25565, will be exposed on your hos
|
|||||||
|
|
||||||
!!! note
|
!!! note
|
||||||
|
|
||||||
If you plan on running a server for a longer amount of time it is highly recommended using a management layer such as [Docker Compose](#using-docker-compose) or [Kubernetes](#deployment-templates-and-examples) to allow for incremental reconfiguration and image upgrades.
|
If you plan on running a server for a longer amount of time it is highly recommended using a management layer such as [Docker Compose](#using-docker-compose) or [Kubernetes](misc/deployment/index.md#on-kubernetes) to allow for incremental reconfiguration and image upgrades.
|
||||||
|
|
||||||
!!! info
|
!!! info
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
mkdocs-material == 9.5.49
|
mkdocs-material == 9.5.50
|
||||||
mkdocs-autorefs == 1.2.0
|
mkdocs-autorefs == 1.3.0
|
||||||
mkdocstrings == 0.27.0
|
mkdocstrings == 0.27.0
|
||||||
mkdocs-literate-nav == 0.6.1
|
mkdocs-literate-nav == 0.6.1
|
||||||
mdx-gh-links == 0.4
|
mdx-gh-links == 0.4
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ To allow for the selection of experimental builds, set `PAPER_CHANNEL` to "exper
|
|||||||
|
|
||||||
!!! example
|
!!! example
|
||||||
|
|
||||||
|
Using `docker run` command line
|
||||||
|
|
||||||
```
|
```
|
||||||
docker run ... -e TYPE=PAPER ...
|
docker run ... -e TYPE=PAPER ...
|
||||||
|
|
||||||
@@ -16,6 +18,26 @@ To allow for the selection of experimental builds, set `PAPER_CHANNEL` to "exper
|
|||||||
docker run ... -e TYPE=PAPER -e PAPER_CHANNEL=experimental ...
|
docker run ... -e TYPE=PAPER -e PAPER_CHANNEL=experimental ...
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Using a compose file:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
environment:
|
||||||
|
TYPE: PAPER
|
||||||
|
```
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
environment:
|
||||||
|
TYPE: PAPER
|
||||||
|
VERSION: 1.20.6
|
||||||
|
PAPER_BUILD: 140
|
||||||
|
```
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
environment:
|
||||||
|
TYPE: PAPER
|
||||||
|
PAPER_CHANNEL: experimental
|
||||||
|
```
|
||||||
|
|
||||||
!!! tip
|
!!! tip
|
||||||
|
|
||||||
If you see the following error, it likely means you need to set the env var `PAPER_CHANNEL` to "experimental"
|
If you see the following error, it likely means you need to set the env var `PAPER_CHANNEL` to "experimental"
|
||||||
|
|||||||
13
examples/canyon/compose.yml
Normal file
13
examples/canyon/compose.yml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
services:
|
||||||
|
mc:
|
||||||
|
image: itzg/minecraft-server:java8
|
||||||
|
environment:
|
||||||
|
EULA: true
|
||||||
|
TYPE: canyon
|
||||||
|
VERSION: b1.7.3
|
||||||
|
ports:
|
||||||
|
- "25565:25565"
|
||||||
|
volumes:
|
||||||
|
- mc-data:/data
|
||||||
|
volumes:
|
||||||
|
mc-data:
|
||||||
@@ -9,15 +9,17 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
EULA: "TRUE"
|
EULA: "TRUE"
|
||||||
TYPE: CUSTOM
|
TYPE: CUSTOM
|
||||||
GENERIC_PACKS: GT_New_Horizons_2.7.1_Server_Java_17-21
|
GENERIC_PACKS: GT_New_Horizons_2.7.2_Server_Java_17-21
|
||||||
GENERIC_PACKS_SUFFIX: .zip
|
GENERIC_PACKS_SUFFIX: .zip
|
||||||
GENERIC_PACKS_PREFIX: https://downloads.gtnewhorizons.com/ServerPacks/
|
GENERIC_PACKS_PREFIX: https://downloads.gtnewhorizons.com/ServerPacks/
|
||||||
# if this isn't true, then the container tries to download the modpack every run
|
# if this isn't true, then the container tries to download the modpack every run
|
||||||
: "true"
|
SKIP_GENERIC_PACK_UPDATE_CHECK: "true"
|
||||||
|
MEMORY: 6G
|
||||||
# Make sure that this matches what is in your pack's startserver bash file
|
# Make sure that this matches what is in your pack's startserver bash file
|
||||||
CUSTOM_JAR_EXEC: "-Xms6G -Xmx6G -Dfml.readTimeout=180 @java9args.txt -jar lwjgl3ify-forgePatches.jar nogui"
|
JVM_OPTS: -Dfml.readTimeout=180 @java9args.txt
|
||||||
|
CUSTOM_JAR_EXEC: -jar lwjgl3ify-forgePatches.jar nogui
|
||||||
volumes:
|
volumes:
|
||||||
# attach the relative directory 'data' to the container's /data path
|
# attach a managed volume, change to a relative or absolute host directory if needed
|
||||||
- mc-data:/data
|
- mc-data:/data
|
||||||
volumes:
|
volumes:
|
||||||
mc-data:
|
mc-data:
|
||||||
@@ -4,7 +4,7 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
EULA: true
|
EULA: true
|
||||||
MOTD: |
|
MOTD: |
|
||||||
line one
|
A §l§cMinecraft§r server
|
||||||
line two
|
line two
|
||||||
# or
|
# or
|
||||||
# MOTD: "line one\nline two"
|
# MOTD: "line one\nline two"
|
||||||
|
|||||||
19
examples/skyfactory5/compose.yml
Normal file
19
examples/skyfactory5/compose.yml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
services:
|
||||||
|
mc:
|
||||||
|
image: itzg/minecraft-server
|
||||||
|
environment:
|
||||||
|
EULA: true
|
||||||
|
# https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/
|
||||||
|
MODPACK_PLATFORM: AUTO_CURSEFORGE
|
||||||
|
# CF_PAGE_URL: https://www.curseforge.com/minecraft/modpacks/skyfactory-5/files/6044634
|
||||||
|
CF_SLUG: skyfactory-5
|
||||||
|
CF_FILENAME_MATCHER: 5.0.2
|
||||||
|
# Loads from .env file
|
||||||
|
CF_API_KEY: ${CF_API_KEY}
|
||||||
|
MEMORY: 4G
|
||||||
|
ports:
|
||||||
|
- "25565:25565"
|
||||||
|
volumes:
|
||||||
|
- mc-data:/data
|
||||||
|
volumes:
|
||||||
|
mc-data:
|
||||||
@@ -138,11 +138,18 @@
|
|||||||
"all-of-fabric-6": {
|
"all-of-fabric-6": {
|
||||||
"forceIncludes": ["revelationary"]
|
"forceIncludes": ["revelationary"]
|
||||||
},
|
},
|
||||||
"valhelsia-5": {
|
|
||||||
"excludes": ["modernfix"]
|
|
||||||
},
|
|
||||||
"create-arcane-engineering": {
|
"create-arcane-engineering": {
|
||||||
"forceIncludes": ["just-enough-resources-jer"]
|
"forceIncludes": ["just-enough-resources-jer"]
|
||||||
|
},
|
||||||
|
"skyfactory-5": {
|
||||||
|
"forceIncludes": [
|
||||||
|
"colored-torches",
|
||||||
|
"dye-mob-dye",
|
||||||
|
"openstairs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"valhelsia-5": {
|
||||||
|
"excludes": ["modernfix"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,10 @@
|
|||||||
"cherishedworlds",
|
"cherishedworlds",
|
||||||
"citresewn",
|
"citresewn",
|
||||||
"clickadv",
|
"clickadv",
|
||||||
|
"connectedness",
|
||||||
"connector",
|
"connector",
|
||||||
|
"craftpresence",
|
||||||
|
"cwb",
|
||||||
"DisableCustomWorldsAdvice",
|
"DisableCustomWorldsAdvice",
|
||||||
"drippyloadingscreen",
|
"drippyloadingscreen",
|
||||||
"eating-animation",
|
"eating-animation",
|
||||||
@@ -36,6 +39,8 @@
|
|||||||
"fancymenu",
|
"fancymenu",
|
||||||
"fast-ip-ping",
|
"fast-ip-ping",
|
||||||
"FauxCustomEntityData",
|
"FauxCustomEntityData",
|
||||||
|
"feytweaks",
|
||||||
|
"figura",
|
||||||
"GeckoLibIrisCompat",
|
"GeckoLibIrisCompat",
|
||||||
"gpumemleakfix",
|
"gpumemleakfix",
|
||||||
"Highlighter",
|
"Highlighter",
|
||||||
@@ -60,9 +65,11 @@
|
|||||||
"PickUpNotifier",
|
"PickUpNotifier",
|
||||||
"PresenceFootsteps",
|
"PresenceFootsteps",
|
||||||
"Prism",
|
"Prism",
|
||||||
|
"reforgium",
|
||||||
"reeses_sodium_options",
|
"reeses_sodium_options",
|
||||||
"ResourcePackOverrides",
|
"ResourcePackOverrides",
|
||||||
"ryoamiclights",
|
"ryoamiclights",
|
||||||
|
"screenshot_viewer",
|
||||||
"Searchables",
|
"Searchables",
|
||||||
"seasonhud",
|
"seasonhud",
|
||||||
"ShoulderSurfing",
|
"ShoulderSurfing",
|
||||||
@@ -73,7 +80,8 @@
|
|||||||
"VR-Combat",
|
"VR-Combat",
|
||||||
"YeetusExperimentus",
|
"YeetusExperimentus",
|
||||||
"yungsmenutweaks",
|
"yungsmenutweaks",
|
||||||
"Zoomify"
|
"Zoomify",
|
||||||
|
"zume"
|
||||||
],
|
],
|
||||||
"globalForceIncludes": [],
|
"globalForceIncludes": [],
|
||||||
"modpacks": {}
|
"modpacks": {}
|
||||||
|
|||||||
@@ -18,10 +18,10 @@ githubUrl="https://github.com/KoboDev/SupplyAndDemand/releases/download"
|
|||||||
canyonBuildJSON=$(curl -fsSL "${canyonJob}/${CANYON_BUILD}/api/json")
|
canyonBuildJSON=$(curl -fsSL "${canyonJob}/${CANYON_BUILD}/api/json")
|
||||||
|
|
||||||
buildRelPath=$(
|
buildRelPath=$(
|
||||||
jq '.artifacts[0].relativePath' <<< "$canyonBuildJSON"
|
jq -r '.artifacts[0].relativePath' <<< "$canyonBuildJSON"
|
||||||
)
|
)
|
||||||
buildNumber=$(
|
buildNumber=$(
|
||||||
jq '.number'<<< "$canyonBuildJSON"
|
jq -r '.number'<<< "$canyonBuildJSON"
|
||||||
)
|
)
|
||||||
baseName=$(basename "${buildRelPath}")
|
baseName=$(basename "${buildRelPath}")
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@ if [ ! -f "$SERVER" ]; then
|
|||||||
fi
|
fi
|
||||||
curl -fsSL -o "$SERVER" "$downloadUrl"
|
curl -fsSL -o "$SERVER" "$downloadUrl"
|
||||||
if [ ! -f "$SERVER" ]; then
|
if [ ! -f "$SERVER" ]; then
|
||||||
logError "Failed to download from $downloadUrl (status=$?)"
|
logError "Failed to download from $downloadUrl"
|
||||||
exit 3
|
exit 3
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -17,12 +17,12 @@ export SERVER
|
|||||||
|
|
||||||
resolveVersion
|
resolveVersion
|
||||||
|
|
||||||
EXTRA_ARGS+="-minecraftVersion $VERSION"
|
EXTRA_ARGS+=" -minecraftVersion $VERSION"
|
||||||
if [[ ${KETTING_VERSION:-} ]]; then
|
if [[ ${KETTING_VERSION:-} ]]; then
|
||||||
EXTRA_ARGS+="-kettingVersion $KETTING_VERSION"
|
EXTRA_ARGS+=" -kettingVersion $KETTING_VERSION"
|
||||||
fi
|
fi
|
||||||
if [[ ${FORGE_VERSION:-} ]]; then
|
if [[ ${FORGE_VERSION:-} ]]; then
|
||||||
EXTRA_ARGS+="-forgeVersion $FORGE_VERSION"
|
EXTRA_ARGS+=" -forgeVersion $FORGE_VERSION"
|
||||||
fi
|
fi
|
||||||
export EXTRA_ARGS
|
export EXTRA_ARGS
|
||||||
|
|
||||||
|
|||||||
@@ -9,39 +9,46 @@ isDebugging && set -x
|
|||||||
resolveVersion
|
resolveVersion
|
||||||
: "${MOHIST_BUILD:=lastSuccessfulBuild}"
|
: "${MOHIST_BUILD:=lastSuccessfulBuild}"
|
||||||
|
|
||||||
mohistBaseUrl=https://ci.codemc.io/job/MohistMC/
|
mohistBaseUrl="https://mohistmc.com/api/v2/projects/mohist/"
|
||||||
mohistJobs=${mohistBaseUrl}job/
|
mohistApiUrl="${mohistBaseUrl}${VERSION}/builds/"
|
||||||
mohistJob=${mohistJobs}Mohist-${VERSION}/
|
|
||||||
|
|
||||||
function logMohistAvailableVerisons(){
|
function logMohistAvailableVerisons(){
|
||||||
logError " check ${mohistBaseUrl} for available versions"
|
logError " check ${mohistBaseUrl} for available versions"
|
||||||
logError " and set VERSION accordingly"
|
logError " and set VERSION accordingly"
|
||||||
}
|
}
|
||||||
|
|
||||||
if ! get --exists "${mohistJob}"; then
|
if ! get --exists "${mohistApiUrl}"; then
|
||||||
logError "Mohist builds do not exist for ${VERSION}"
|
logError "Mohist builds do not exist for ${VERSION}"
|
||||||
logMohistAvailableVerisons
|
logMohistAvailableVerisons
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
buildRelPath=$(
|
if [[ "${MOHIST_BUILD}" == "lastSuccessfulBuild" ]]; then
|
||||||
get --json-path '$.artifacts[0].relativePath' "${mohistJob}${MOHIST_BUILD}/api/json"
|
# Get the latest build number from the API
|
||||||
|
buildNumber=$(
|
||||||
|
get --json-path '$.builds[-1].number' "${mohistApiUrl}"
|
||||||
|
)
|
||||||
|
MOHIST_BUILD="${buildNumber}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
downloadUrl=$(
|
||||||
|
get --json-path "$.builds[?(@.number==${MOHIST_BUILD})].url" "${mohistApiUrl}"
|
||||||
)
|
)
|
||||||
|
|
||||||
baseName=$(basename "${buildRelPath}")
|
if [[ -z "${downloadUrl}" ]]; then
|
||||||
if [[ ${baseName} != *-server.jar* ]]; then
|
logError "Could not find build ${MOHIST_BUILD} for version ${VERSION}"
|
||||||
logError "Mohist build for ${VERSION} is not a valid server jar, found ${baseName}"
|
|
||||||
logMohistAvailableVerisons
|
logMohistAvailableVerisons
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export SERVER="/data/${baseName}"
|
SERVER="/data/mohist-${VERSION}-${MOHIST_BUILD}-server.jar"
|
||||||
|
|
||||||
if [ ! -f "${SERVER}" ]; then
|
if [ ! -f "${SERVER}" ]; then
|
||||||
log "Downloading ${baseName}"
|
log "Downloading Mohist build ${MOHIST_BUILD} for ${VERSION}"
|
||||||
get -o "${SERVER}" "${mohistJob}${MOHIST_BUILD}/artifact/${buildRelPath}"
|
get -o "${SERVER}" "${downloadUrl}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export FAMILY=HYBRID
|
export FAMILY=HYBRID
|
||||||
|
export SERVER
|
||||||
|
|
||||||
exec "${SCRIPTS:-/}start-spiget" "$@"
|
exec "${SCRIPTS:-/}start-spiget" "$@"
|
||||||
|
|||||||
@@ -41,8 +41,13 @@ if [[ "$DATAPACKS" ]]; then
|
|||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
elif [[ -d "$i" ]]; then
|
elif [[ -d "$i" ]]; then
|
||||||
log "Copying datapacks from $i ..."
|
if [[ -f "$i/pack.mcmeta" ]]; then
|
||||||
cp "$i"/*.zip "${out_dir}"
|
log "Copying datapack from $i"
|
||||||
|
cp -r "$i" "${out_dir}"
|
||||||
|
else
|
||||||
|
log "Copying datapacks from $i ..."
|
||||||
|
cp "$i"/*.zip "${out_dir}"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
logError "Invalid URL or path given in DATAPACKS: $i"
|
logError "Invalid URL or path given in DATAPACKS: $i"
|
||||||
exit 2
|
exit 2
|
||||||
|
|||||||
Reference in New Issue
Block a user