mirror of
https://github.com/itzg/docker-minecraft-server.git
synced 2026-02-17 23:16:24 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c9341ec125 | ||
|
|
95da3c52bc | ||
|
|
6bab6766d4 | ||
|
|
93f31f5ddc |
2
.github/workflows/stale-check.yml
vendored
2
.github/workflows/stale-check.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- name: Process Stale Issues
|
||||
uses: actions/stale@v6
|
||||
uses: actions/stale@v7
|
||||
with:
|
||||
stale-issue-label: status/stale
|
||||
stale-pr-label: status/stale
|
||||
|
||||
46
README.md
46
README.md
@@ -421,6 +421,8 @@ Enable Bukkit/Spigot server mode by adding a `-e TYPE=BUKKIT` or `-e TYPE=SPIGOT
|
||||
-e TYPE=SPIGOT \
|
||||
-p 25565:25565 -e EULA=TRUE --name mc itzg/minecraft-server
|
||||
|
||||
If the downloaded server jar is corrupted, set `FORCE_REDOWNLOAD` to "true" to force a re-download during next container startup. After successfully re-downloading, you should remove that or set to "false".
|
||||
|
||||
If you are hosting your own copy of Bukkit/Spigot you can override the download URLs with:
|
||||
|
||||
- -e BUKKIT_DOWNLOAD_URL=<url>
|
||||
@@ -1004,7 +1006,7 @@ renders
|
||||
|
||||
To produce a multi-line MOTD, you will need to double escape the newline such as
|
||||
|
||||
-e MOTD="Line one\\nLine two"
|
||||
-e MOTD="Line one\\nLine two"
|
||||
|
||||
### Difficulty
|
||||
|
||||
@@ -1498,15 +1500,47 @@ To let the JVM calculate the heap size from the container declared memory limit,
|
||||
|
||||
General JVM options can be passed to the Minecraft Server invocation by passing a `JVM_OPTS`
|
||||
environment variable. The JVM requires `-XX` options to precede `-X` options, so those can be declared in `JVM_XX_OPTS`. Both variables are space-delimited, raw JVM arguments.
|
||||
|
||||
```
|
||||
-e JVM_OPTS="-someJVMOption someJVMOptionValue"
|
||||
docker run ... -e JVM_OPTS="-someJVMOption someJVMOptionValue" ...
|
||||
```
|
||||
|
||||
For some cases, if e.g. after removing mods, it could be necessary to startup minecraft with an additional `-D` parameter like `-Dfml.queryResult=confirm`. To address this you can use the environment variable `JVM_DD_OPTS`, which builds the params from a given list of values separated by space, but without the `-D` prefix. To make things running under systems (e.g. Plesk), which doesn't allow `=` inside values, a `:` (colon) could be used instead. The upper example would look like this:
|
||||
`JVM_DD_OPTS=fml.queryResult:confirm`, and will be converted to `-Dfml.queryResult=confirm`.
|
||||
**NOTE** When declaring `JVM_OPTS` in a compose file's `environment` section with list syntax, **do not** include the quotes:
|
||||
|
||||
```yaml
|
||||
environment:
|
||||
- EULA=true
|
||||
- JVM_OPTS=-someJVMOption someJVMOptionValue
|
||||
```
|
||||
|
||||
Using object syntax is recommended and more intuitive:
|
||||
|
||||
```yaml
|
||||
environment:
|
||||
EULA: "true"
|
||||
JVM_OPTS: "-someJVMOption someJVMOptionValue"
|
||||
# or
|
||||
# JVM_OPTS: -someJVMOption someJVMOptionValue
|
||||
```
|
||||
|
||||
As a shorthand for passing several system properties as `-D` arguments, you can instead pass a comma separated list of `name=value` or `name:value` pairs with `JVM_DD_OPTS`. (The colon syntax is provided for management platforms like Plesk that don't allow `=` inside a value.)
|
||||
|
||||
For example, instead of passing
|
||||
|
||||
```yaml
|
||||
JVM_OPTS: -Dfml.queryResult=confirm -Dname=value
|
||||
```
|
||||
|
||||
you can use
|
||||
|
||||
```yaml
|
||||
JVM_DD_OPTS: fml.queryResult=confirm,name=value
|
||||
```
|
||||
|
||||
### Extra Arguments
|
||||
|
||||
Arguments that would usually be passed to the jar file (those which are written after the filename) can be passed via the `EXTRA_ARGS` environment variable.
|
||||
|
||||
### Jarfile Options
|
||||
Options that would usually be passed to the jar file (those which are written after the filename) can be passed via the `EXTRA_ARGS` environment variable.
|
||||
See [Custom worlds directory path](#custom-worlds-directory-path) for an example.
|
||||
|
||||
### Interactive and Color Console
|
||||
|
||||
@@ -72,7 +72,7 @@ function downloadSpigot {
|
||||
fi
|
||||
|
||||
setServerVar
|
||||
if [ -f $SERVER ]; then
|
||||
if [ -f "$SERVER" ] && ! isTrue "$FORCE_REDOWNLOAD"; then
|
||||
# tell curl to only download when newer
|
||||
curlArgs="-z $SERVER"
|
||||
fi
|
||||
@@ -80,7 +80,7 @@ function downloadSpigot {
|
||||
curlArgs="$curlArgs -v"
|
||||
fi
|
||||
log "Downloading $match from $downloadUrl ..."
|
||||
curl -fsSL -o $SERVER $curlArgs "$downloadUrl"
|
||||
curl -fsSL -o "$SERVER" $curlArgs "$downloadUrl"
|
||||
if [[ $? != 0 || $(grep -c "DOCTYPE html" $SERVER) != 0 ]]; then
|
||||
cat <<EOF
|
||||
|
||||
@@ -92,12 +92,12 @@ ERROR: failed to download from $downloadUrl
|
||||
|
||||
EOF
|
||||
|
||||
if isDebugging && [[ $(grep -c "DOCTYPE html" $SERVER) != 0 ]]; then
|
||||
cat $SERVER
|
||||
if isDebugging && [[ $(grep -c "DOCTYPE html" "$SERVER") != 0 ]]; then
|
||||
cat "$SERVER"
|
||||
fi
|
||||
|
||||
# remove invalid download
|
||||
rm $SERVER
|
||||
rm "$SERVER"
|
||||
exit 3
|
||||
fi
|
||||
|
||||
@@ -118,7 +118,7 @@ function setServerVar {
|
||||
|
||||
if isTrue "$BUILD_SPIGOT_FROM_SOURCE" || isTrue "$BUILD_FROM_SOURCE"; then
|
||||
setServerVar
|
||||
if [ ! -f $SERVER ] || [ -n "$FORCE_REDOWNLOAD" ]; then
|
||||
if [ ! -f "$SERVER" ] || isTrue "$FORCE_REDOWNLOAD"; then
|
||||
buildSpigotFromSource
|
||||
fi
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user