mirror of
https://github.com/itzg/docker-minecraft-server.git
synced 2026-06-06 10:49:43 +00:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8d6442d772 | |||
| 9073b22e84 | |||
| 7bbabbac82 | |||
| 6b308c628f | |||
| 5fe65a68c3 | |||
| 89ffb2377a | |||
| 8c52b98d91 | |||
| 9d749ab514 | |||
| 1c0fe6ff10 |
+2
-2
@@ -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.41.9
|
ARG MC_HELPER_VERSION=1.41.10
|
||||||
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
|
||||||
@@ -69,7 +69,7 @@ ENV TYPE=VANILLA VERSION=LATEST EULA="" UID=1000 GID=1000 LC_ALL=en_US.UTF-8
|
|||||||
COPY --chmod=755 scripts/start* /
|
COPY --chmod=755 scripts/start* /
|
||||||
COPY --chmod=755 bin/ /usr/local/bin/
|
COPY --chmod=755 bin/ /usr/local/bin/
|
||||||
COPY --chmod=755 bin/mc-health /health.sh
|
COPY --chmod=755 bin/mc-health /health.sh
|
||||||
COPY --chmod=644 files/* /image/
|
COPY --chmod=755 files/* /image/
|
||||||
COPY --chmod=755 files/auto /auto
|
COPY --chmod=755 files/auto /auto
|
||||||
|
|
||||||
RUN curl -fsSL -o /image/Log4jPatcher.jar https://github.com/CreeperHost/Log4jPatcher/releases/download/v1.0.1/Log4jPatcher-1.0.1.jar
|
RUN curl -fsSL -o /image/Log4jPatcher.jar https://github.com/CreeperHost/Log4jPatcher/releases/download/v1.0.1/Log4jPatcher-1.0.1.jar
|
||||||
|
|||||||
@@ -13,6 +13,17 @@
|
|||||||
|
|
||||||
[Shulker](https://github.com/jeremylvln/Shulker) is a Kubernetes operator for managing complex and dynamic Minecraft infrastructures, including game servers and proxies. It uses the docker-minecraft-server and docker-bungeecord images under-the-hood.
|
[Shulker](https://github.com/jeremylvln/Shulker) is a Kubernetes operator for managing complex and dynamic Minecraft infrastructures, including game servers and proxies. It uses the docker-minecraft-server and docker-bungeecord images under-the-hood.
|
||||||
|
|
||||||
|
## With Ansible
|
||||||
|
|
||||||
|
[Ansible](https://docs.ansible.com/ansible/latest/getting_started/introduction.html) is an open-source task automation tool built in [Python](https://www.python.org/). Ansible playbooks can be used to automate all kinds of tasks, including deploying remote Minecraft servers.
|
||||||
|
|
||||||
|
### Using the MASH playbook
|
||||||
|
|
||||||
|
[The MASH Playbook](https://github.com/mother-of-all-self-hosting/mash-playbook) is a premade playbook with the option to deploy a [wide variety of open-source services](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/supported-services.md) to your server(s), including [docker-minecraft-server](https://github.com/XHawk87/ansible-role-minecraft), making it a good option if you want all the bells and whistles alongside your Minecraft server.
|
||||||
|
- Check out the [Installation Guide](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/README.md) for the MASH playbook to get started.
|
||||||
|
- You can then enable [Minecraft](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/minecraft.md) in your vars.yml.
|
||||||
|
- Enable any supporting services that you might find useful, such as [user authentication](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/authelia.md), [remote backups](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/backup-borg.md), [email relay](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/exim-relay.md), [cron monitoring](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/healthchecks.md), [audio and video conferencing](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/jitsi.md), databases ([MariaDB](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/mariadb.md), [PostgresSQL](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/postgres.md)), [push notifications](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/ntfy.md), [uptime monitoring](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/uptime-kuma.md), [a website](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/wordpress.md), as well as installing any [extra files, folders, applications, services and running commands](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/auxiliary.md) automatically on deployment.
|
||||||
|
|
||||||
## On CloudFormation (AWS)
|
## On CloudFormation (AWS)
|
||||||
|
|
||||||
If you're looking for a simple way to deploy this to the Amazon Web Services Cloud, check out the [Minecraft Server Deployment (CloudFormation) repository](https://github.com/vatertime/minecraft-spot-pricing). This repository contains a CloudFormation template that will get you up and running in AWS in a matter of minutes. Optionally it uses Spot Pricing so the server is very cheap, and you can easily turn it off when not in use.
|
If you're looking for a simple way to deploy this to the Amazon Web Services Cloud, check out the [Minecraft Server Deployment (CloudFormation) repository](https://github.com/vatertime/minecraft-spot-pricing). This repository contains a CloudFormation template that will get you up and running in AWS in a matter of minutes. Optionally it uses Spot Pricing so the server is very cheap, and you can easily turn it off when not in use.
|
||||||
|
|||||||
@@ -14,8 +14,10 @@ services:
|
|||||||
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
|
# Refer to https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/#api-key
|
||||||
CF_API_KEY: ${CF_API_KEY}
|
CF_API_KEY: ${CF_API_KEY}
|
||||||
CF_SLUG: all-the-mods-10
|
CF_SLUG: all-the-mods-10
|
||||||
# Optional: select a specific version/file
|
# Or reference a specific modpack file/version using CF_PAGE_URL, such as this one for 2.47
|
||||||
# CF_FILENAME_MATCHER: "1.17"
|
# CF_PAGE_URL: https://www.curseforge.com/minecraft/modpacks/all-the-mods-10/files/6502777
|
||||||
|
# Optional: select a specific version/file when using CF_SLUG
|
||||||
|
# CF_FILENAME_MATCHER: "2.47"
|
||||||
MEMORY: 4G
|
MEMORY: 4G
|
||||||
CF_OVERRIDES_EXCLUSIONS: |
|
CF_OVERRIDES_EXCLUSIONS: |
|
||||||
shaderpacks/**
|
shaderpacks/**
|
||||||
|
|||||||
@@ -16,19 +16,6 @@ services:
|
|||||||
CF_API_KEY: ${CF_API_KEY}
|
CF_API_KEY: ${CF_API_KEY}
|
||||||
CF_SLUG: craftoria
|
CF_SLUG: craftoria
|
||||||
MEMORY: 8G
|
MEMORY: 8G
|
||||||
# TODO: replace with slugs and see if already excluded by cf-exclude-include.json
|
|
||||||
CF_EXCLUDE_MODS: |
|
|
||||||
737481
|
|
||||||
363363
|
|
||||||
394468
|
|
||||||
986380
|
|
||||||
844662
|
|
||||||
568563
|
|
||||||
915902
|
|
||||||
690971
|
|
||||||
455508
|
|
||||||
1089803
|
|
||||||
511319
|
|
||||||
volumes:
|
volumes:
|
||||||
# Use managed volume by default, but can change to a relative path like
|
# Use managed volume by default, but can change to a relative path like
|
||||||
# ./data:/data
|
# ./data:/data
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
"beehivetooltips",
|
"beehivetooltips",
|
||||||
"better-advancements",
|
"better-advancements",
|
||||||
"better-foliage",
|
"better-foliage",
|
||||||
|
"better-modlist-neoforge",
|
||||||
"better-placement",
|
"better-placement",
|
||||||
"better-sprinting",
|
"better-sprinting",
|
||||||
"better-third-person",
|
"better-third-person",
|
||||||
@@ -21,6 +22,7 @@
|
|||||||
"block-drops-jei-addon",
|
"block-drops-jei-addon",
|
||||||
"blur-forge",
|
"blur-forge",
|
||||||
"cartography",
|
"cartography",
|
||||||
|
"chattoggle",
|
||||||
"cherished-worlds",
|
"cherished-worlds",
|
||||||
"chunk-animator",
|
"chunk-animator",
|
||||||
"clickable-advancements",
|
"clickable-advancements",
|
||||||
@@ -44,9 +46,11 @@
|
|||||||
"enchantment-descriptions",
|
"enchantment-descriptions",
|
||||||
"enhancedvisuals",
|
"enhancedvisuals",
|
||||||
"entity-collision-fps-fix",
|
"entity-collision-fps-fix",
|
||||||
|
"entity-model-features",
|
||||||
"entity-texture-features-fabric",
|
"entity-texture-features-fabric",
|
||||||
"entityculling",
|
"entityculling",
|
||||||
"equipment-compare",
|
"equipment-compare",
|
||||||
|
"euphoria-patches",
|
||||||
"extreme-sound-muffler",
|
"extreme-sound-muffler",
|
||||||
"ezzoom",
|
"ezzoom",
|
||||||
"fading-night-vision",
|
"fading-night-vision",
|
||||||
@@ -91,6 +95,7 @@
|
|||||||
"oculus",
|
"oculus",
|
||||||
"oldjavawarning",
|
"oldjavawarning",
|
||||||
"overloaded-armor-bar",
|
"overloaded-armor-bar",
|
||||||
|
"particular",
|
||||||
"packmenu",
|
"packmenu",
|
||||||
"packmodemenu",
|
"packmodemenu",
|
||||||
"reauth",
|
"reauth",
|
||||||
@@ -105,9 +110,11 @@
|
|||||||
"seamless-loading-screen",
|
"seamless-loading-screen",
|
||||||
"seamless-loading-screen-forge",
|
"seamless-loading-screen-forge",
|
||||||
"searchables",
|
"searchables",
|
||||||
|
"seasonhud",
|
||||||
"shulkerboxviewer",
|
"shulkerboxviewer",
|
||||||
"skin-layers-3d",
|
"skin-layers-3d",
|
||||||
"smart-hud",
|
"smart-hud",
|
||||||
|
"smithing-template-viewer",
|
||||||
"smooth-font",
|
"smooth-font",
|
||||||
"smoothwater",
|
"smoothwater",
|
||||||
"sodium",
|
"sodium",
|
||||||
|
|||||||
@@ -5,6 +5,9 @@
|
|||||||
set -e
|
set -e
|
||||||
isDebugging && set -x
|
isDebugging && set -x
|
||||||
|
|
||||||
|
worldDownload=/data/tmp/world.zip
|
||||||
|
tmpWorldData=/data/tmp/world-data
|
||||||
|
|
||||||
# support absolute directories
|
# support absolute directories
|
||||||
if [[ "${LEVEL:-world}" =~ ^\/.*$ ]]; then
|
if [[ "${LEVEL:-world}" =~ ^\/.*$ ]]; then
|
||||||
worldDest=${LEVEL}
|
worldDest=${LEVEL}
|
||||||
@@ -26,24 +29,25 @@ if [[ "$WORLD" ]] && ( isTrue "${FORCE_WORLD_COPY}" || [ ! -d "$worldDest" ] );
|
|||||||
|
|
||||||
if isURL "$WORLD"; then
|
if isURL "$WORLD"; then
|
||||||
log "Downloading world from $WORLD"
|
log "Downloading world from $WORLD"
|
||||||
if ! get -o /tmp/world.bin "$WORLD"; then
|
mkdir -p /data/tmp
|
||||||
|
if ! get -o ${worldDownload} "$WORLD"; then
|
||||||
logError "Failed to download world from $WORLD"
|
logError "Failed to download world from $WORLD"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
WORLD=/tmp/world.bin
|
WORLD=${worldDownload}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "$WORLD" ]; then
|
if [ -f "$WORLD" ]; then
|
||||||
log "Extracting world"
|
log "Extracting world"
|
||||||
|
|
||||||
# Stage contents so that the correct subdirectory can be picked off
|
# Stage contents so that the correct subdirectory can be picked off
|
||||||
mkdir -p /tmp/world-data
|
mkdir -p ${tmpWorldData}
|
||||||
if ! extract "$WORLD" /tmp/world-data; then
|
if ! extract "$WORLD" ${tmpWorldData}; then
|
||||||
logError "Extracting world from $WORLD"
|
logError "Extracting world from $WORLD"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
baseDirs=$(find /tmp/world-data -name "level.dat" -exec dirname "{}" \;)
|
baseDirs=$(find ${tmpWorldData} -name "level.dat" -exec dirname "{}" \;)
|
||||||
|
|
||||||
if ! [[ $baseDirs ]]; then
|
if ! [[ $baseDirs ]]; then
|
||||||
logError "World content is not valid since level.dat could not be found"
|
logError "World content is not valid since level.dat could not be found"
|
||||||
@@ -128,4 +132,7 @@ if [[ "$WORLD" ]] && ( isTrue "${FORCE_WORLD_COPY}" || [ ! -d "$worldDest" ] );
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
[[ -f ${worldDownload} ]] && rm ${worldDownload}
|
||||||
|
[[ -d ${tmpWorldData} ]] && rm -rf ${tmpWorldData}
|
||||||
|
|
||||||
exec "${SCRIPTS:-/}start-setupDatapack" "$@"
|
exec "${SCRIPTS:-/}start-setupDatapack" "$@"
|
||||||
|
|||||||
Reference in New Issue
Block a user