mirror of
https://github.com/itzg/docker-minecraft-server
synced 2024-11-10 14:24:28 +00:00
Auto-merging via docker-versions-create
This commit is contained in:
commit
828a48998f
5 changed files with 29 additions and 44 deletions
|
@ -52,7 +52,7 @@ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
||||||
--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
|
||||||
|
|
||||||
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
||||||
--var version=1.3.3 --var app=mc-server-runner --file {{.app}} \
|
--var version=1.3.5 --var app=mc-server-runner --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
|
||||||
|
|
||||||
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
||||||
|
@ -61,7 +61,7 @@ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
||||||
|
|
||||||
COPY mcstatus /usr/local/bin
|
COPY mcstatus /usr/local/bin
|
||||||
|
|
||||||
VOLUME ["/data","/mods","/config"]
|
VOLUME ["/data"]
|
||||||
COPY server.properties /tmp/server.properties
|
COPY server.properties /tmp/server.properties
|
||||||
COPY log4j2.xml /tmp/log4j2.xml
|
COPY log4j2.xml /tmp/log4j2.xml
|
||||||
WORKDIR /data
|
WORKDIR /data
|
||||||
|
|
58
README.md
58
README.md
|
@ -11,6 +11,8 @@ latest snapshot. See the *Versions* section below for more information.
|
||||||
|
|
||||||
[![Click for more docs](https://i.imgur.com/jS02ebD.png)](https://github.com/itzg/docker-minecraft-server/blob/master/README.md)
|
[![Click for more docs](https://i.imgur.com/jS02ebD.png)](https://github.com/itzg/docker-minecraft-server/blob/master/README.md)
|
||||||
|
|
||||||
|
[Full docs available in Github](https://github.com/itzg/docker-minecraft-server/blob/master/README.md)
|
||||||
|
|
||||||
To simply use the latest stable version, run
|
To simply use the latest stable version, run
|
||||||
|
|
||||||
docker run -d -p 25565:25565 --name mc itzg/minecraft-server
|
docker run -d -p 25565:25565 --name mc itzg/minecraft-server
|
||||||
|
@ -470,49 +472,19 @@ variable. An FTB/CurseForge server modpack is available together with its respec
|
||||||
client modpack on https://www.feed-the-beast.com under "Additional Files." Similar you can
|
client modpack on https://www.feed-the-beast.com under "Additional Files." Similar you can
|
||||||
locate the modpacks for CurseForge at https://minecraft.curseforge.com/modpacks .
|
locate the modpacks for CurseForge at https://minecraft.curseforge.com/modpacks .
|
||||||
|
|
||||||
There are a couple of options for obtaining an FTB/CurseForge modpack.
|
|
||||||
One options is that you can pre-download the **server** modpack and copy the modpack to the `/data`
|
|
||||||
directory (see "Attaching data directory to host filesystem”).
|
|
||||||
|
|
||||||
Now you can add a `-e FTB_SERVER_MOD=name_of_modpack.zip` to your command-line.
|
Now you can add a `-e FTB_SERVER_MOD=name_of_modpack.zip` to your command-line.
|
||||||
|
|
||||||
docker run -d -v /path/on/host:/data -e TYPE=FTB \
|
docker run -d -v /path/on/host:/data -e TYPE=FTB \
|
||||||
-e FTB_SERVER_MOD=FTBPresentsSkyfactory3Server_3.0.6.zip \
|
-e FTB_SERVER_MOD=FTBPresentsSkyfactory3Server_3.0.6.zip \
|
||||||
-p 25565:25565 -e EULA=TRUE --name mc itzg/minecraft-server
|
-p 25565:25565 -e EULA=TRUE --name mc itzg/minecraft-server
|
||||||
|
|
||||||
Instead of pre-downloading a modpack from the FTB/CurseForge site, you
|
If you don't want to keep the pre-download modpacks separate from your data directory,
|
||||||
can you set `FTB_SERVER_MOD` (or `CF_SERVER_MOD`) to the **server** URL of a modpack, such as
|
then you can attach another volume at a path of your choosing and reference that.
|
||||||
|
The following example uses `/modpacks` as the container path as the pre-download area:
|
||||||
|
|
||||||
docker run ... \
|
docker run -d -v /path/on/host:/data -v /path/to/modpacks:/modpacks \
|
||||||
-e TYPE=FTB \
|
-e TYPE=FTB \
|
||||||
-e FTB_SERVER_MOD=https://www.feed-the-beast.com/projects/ftb-infinity-lite-1-10/files/2402889
|
-e FTB_SERVER_MOD=/modpacks/FTBPresentsSkyfactory3Server_3.0.6.zip \
|
||||||
|
|
||||||
or for a CurseForce modpack:
|
|
||||||
|
|
||||||
docker run ... \
|
|
||||||
-e TYPE=CURSEFORGE \
|
|
||||||
-e CF_SERVER_MOD=https://minecraft.curseforge.com/projects/enigmatica2expert/files/2663153/download
|
|
||||||
|
|
||||||
### Using the /data volume
|
|
||||||
|
|
||||||
You must use a persistent `/data` mount for this type of server.
|
|
||||||
|
|
||||||
To do this, you will need to attach the container's `/data` directory
|
|
||||||
(see "Attaching data directory to host filesystem”).
|
|
||||||
|
|
||||||
If the modpack is updated and you want to run the new version on your
|
|
||||||
server, you stop and remove the container:
|
|
||||||
|
|
||||||
docker stop mc
|
|
||||||
docker rm mc
|
|
||||||
|
|
||||||
Do not erase anything from your /data directory (unless you know of
|
|
||||||
specific mods that have been removed from the modpack). Download the
|
|
||||||
updated FTB server modpack and copy it to `/data`. Start a new container
|
|
||||||
with `FTB_SERVER_MOD` specifying the updated modpack file.
|
|
||||||
|
|
||||||
$ docker run -d -v /path/on/host:/data -e TYPE=FTB \
|
|
||||||
-e FTB_SERVER_MOD=FTBPresentsSkyfactory3Server_3.0.7.zip \
|
|
||||||
-p 25565:25565 -e EULA=TRUE --name mc itzg/minecraft-server
|
-p 25565:25565 -e EULA=TRUE --name mc itzg/minecraft-server
|
||||||
|
|
||||||
### Fixing "unable to launch forgemodloader"
|
### Fixing "unable to launch forgemodloader"
|
||||||
|
@ -527,8 +499,8 @@ then you apply a workaround by adding this to the run invocation:
|
||||||
|
|
||||||
### Using a client-made curseforge modpack
|
### Using a client-made curseforge modpack
|
||||||
|
|
||||||
If you use something like curseforge, you may end up creating/using modpacks that do not
|
If you use something like CurseForge, you may end up creating/using modpacks that do not
|
||||||
contain server mod jars. Instead, the curseforge setup has `manifest.json` files, which
|
contain server mod jars. Instead, the CurseForge setup has `manifest.json` files, which
|
||||||
will show up under `/data/FeedTheBeast/manifest.json`.
|
will show up under `/data/FeedTheBeast/manifest.json`.
|
||||||
|
|
||||||
To use these packs you will need to:
|
To use these packs you will need to:
|
||||||
|
@ -559,7 +531,7 @@ $ docker run -itd --name derpcraft \
|
||||||
itzg/minecraft-server
|
itzg/minecraft-server
|
||||||
```
|
```
|
||||||
|
|
||||||
Note the `CF_SERVER_MOD` env var should match the url to download the modpack you are targeting.
|
Note the `CF_SERVER_MOD` env var should match the server version of the modpack you are targeting.
|
||||||
|
|
||||||
## Running a SpongeVanilla server
|
## Running a SpongeVanilla server
|
||||||
|
|
||||||
|
@ -1088,3 +1060,11 @@ pass that at the end of `docker run` after the image name or set `-e CONSOLE=FAL
|
||||||
|
|
||||||
Some older servers get confused and think that the GUI interface is enabled. You can explicitly
|
Some older servers get confused and think that the GUI interface is enabled. You can explicitly
|
||||||
disable that by passing `-e GUI=FALSE`.
|
disable that by passing `-e GUI=FALSE`.
|
||||||
|
|
||||||
|
## Running on RaspberryPi
|
||||||
|
|
||||||
|
To run this image on a RaspberryPi 3 B+, 4, or newer, use the image tag
|
||||||
|
|
||||||
|
itzg/minecraft-server:armv7
|
||||||
|
|
||||||
|
> NOTE: you may need to lower the memory allocation, such as `-e MEMORY=750m`
|
|
@ -47,7 +47,6 @@ fi
|
||||||
export SERVER_PROPERTIES=/data/server.properties
|
export SERVER_PROPERTIES=/data/server.properties
|
||||||
export VERSIONS_JSON=https://launchermeta.mojang.com/mc/game/version_manifest.json
|
export VERSIONS_JSON=https://launchermeta.mojang.com/mc/game/version_manifest.json
|
||||||
|
|
||||||
log "Checking version information."
|
|
||||||
case "X$VERSION" in
|
case "X$VERSION" in
|
||||||
X|XLATEST|Xlatest)
|
X|XLATEST|Xlatest)
|
||||||
export VANILLA_VERSION=`curl -fsSL $VERSIONS_JSON | jq -r '.latest.release'`
|
export VANILLA_VERSION=`curl -fsSL $VERSIONS_JSON | jq -r '.latest.release'`
|
||||||
|
@ -62,12 +61,13 @@ case "X$VERSION" in
|
||||||
export VANILLA_VERSION=`curl -fsSL $VERSIONS_JSON | jq -r '.latest.release'`
|
export VANILLA_VERSION=`curl -fsSL $VERSIONS_JSON | jq -r '.latest.release'`
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
log "Resolved version given ${VERSION} into ${VANILLA_VERSION}"
|
||||||
|
|
||||||
cd /data
|
cd /data
|
||||||
|
|
||||||
export ORIGINAL_TYPE=${TYPE^^}
|
export ORIGINAL_TYPE=${TYPE^^}
|
||||||
|
|
||||||
log "Checking type information."
|
log "Resolving type given ${TYPE}"
|
||||||
case "${TYPE^^}" in
|
case "${TYPE^^}" in
|
||||||
*BUKKIT|SPIGOT)
|
*BUKKIT|SPIGOT)
|
||||||
exec /start-deployBukkitSpigot $@
|
exec /start-deployBukkitSpigot $@
|
||||||
|
|
|
@ -107,7 +107,8 @@ export FTB_SERVER_START=$(find "${FTB_BASE_DIR}" $entryScriptExpr)
|
||||||
|
|
||||||
export FTB_DIR=$(dirname "${FTB_SERVER_START}")
|
export FTB_DIR=$(dirname "${FTB_SERVER_START}")
|
||||||
chmod a+x "${FTB_SERVER_START}"
|
chmod a+x "${FTB_SERVER_START}"
|
||||||
sed -i 's/-jar/-Dfml.queryResult=confirm -jar/' "${FTB_SERVER_START}"
|
grep fml.queryResult=confirm ${FTB_SERVER_START} > /dev/null || \
|
||||||
|
sed -i 's/-jar/-Dfml.queryResult=confirm -jar/' "${FTB_SERVER_START}"
|
||||||
sed -i 's/.*read.*Restart now/#\0/' "${FTB_SERVER_START}"
|
sed -i 's/.*read.*Restart now/#\0/' "${FTB_SERVER_START}"
|
||||||
legacyJavaFixerPath="${FTB_DIR}/mods/legacyjavafixer.jar"
|
legacyJavaFixerPath="${FTB_DIR}/mods/legacyjavafixer.jar"
|
||||||
|
|
||||||
|
|
|
@ -119,6 +119,10 @@ EOF
|
||||||
if [ -f "${FTB_DIR}/settings.cfg" ]; then
|
if [ -f "${FTB_DIR}/settings.cfg" ]; then
|
||||||
sed -i "s/MAX_RAM=[^;]*/MAX_RAM=${MAX_MEMORY}/" "${FTB_DIR}/settings.cfg"
|
sed -i "s/MAX_RAM=[^;]*/MAX_RAM=${MAX_MEMORY}/" "${FTB_DIR}/settings.cfg"
|
||||||
fi
|
fi
|
||||||
|
# if missing shebang line, then run file through bash
|
||||||
|
if ! head -1 "${FTB_SERVER_START}"|grep -q "^#!"; then
|
||||||
|
mcServerRunnerArgs="${mcServerRunnerArgs} --shell bash"
|
||||||
|
fi
|
||||||
|
|
||||||
cd "${FTB_DIR}"
|
cd "${FTB_DIR}"
|
||||||
log "Running FTB ${FTB_SERVER_START} in ${FTB_DIR} ..."
|
log "Running FTB ${FTB_SERVER_START} in ${FTB_DIR} ..."
|
||||||
|
|
Loading…
Reference in a new issue