mirror of
https://github.com/itzg/docker-minecraft-server.git
synced 2026-04-12 00:28:52 +00:00
Compare commits
14 Commits
2026.3.3
...
docs/spons
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ef9c4e9195 | ||
|
|
d50e580d85 | ||
|
|
73d5d98ab2 | ||
|
|
eb4fe3c7bf | ||
|
|
8c9e2c653f | ||
|
|
bd98fe57ba | ||
|
|
23205471db | ||
|
|
f8618a5360 | ||
|
|
acc90757a6 | ||
|
|
589872049f | ||
|
|
18403e7db8 | ||
|
|
2625ca2b3c | ||
|
|
5b9c09b7b2 | ||
|
|
b37c2cc3ef |
6
.github/workflows/build.yml
vendored
6
.github/workflows/build.yml
vendored
@@ -55,15 +55,15 @@ jobs:
|
||||
- variant: java21
|
||||
baseImage: eclipse-temurin:21-jre
|
||||
platforms: linux/amd64,linux/arm64
|
||||
mcVersion: latest
|
||||
mcVersion: 1.21.11
|
||||
- variant: java21-jdk
|
||||
baseImage: eclipse-temurin:21
|
||||
platforms: linux/amd64,linux/arm64
|
||||
mcVersion: latest
|
||||
mcVersion: 1.21.11
|
||||
- variant: java21-alpine
|
||||
baseImage: eclipse-temurin:21-jre-alpine
|
||||
platforms: linux/amd64,linux/arm64
|
||||
mcVersion: latest
|
||||
mcVersion: 1.21.11
|
||||
# JAVA 17:
|
||||
- variant: java17
|
||||
# jammy doesn't work until minecraft updates to https://github.com/netty/netty/issues/12343
|
||||
|
||||
@@ -49,13 +49,13 @@ 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-server-runner
|
||||
ARG MC_SERVER_RUNNER_VERSION=1.14.3
|
||||
ARG MC_SERVER_RUNNER_VERSION=1.14.5
|
||||
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
||||
--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
|
||||
|
||||
# renovate: datasource=github-releases packageName=itzg/mc-image-helper versioning=loose
|
||||
ARG MC_HELPER_VERSION=1.55.4
|
||||
ARG MC_HELPER_VERSION=1.56.1
|
||||
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
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
[](https://www.buymeacoffee.com/itzg)
|
||||
[](https://docker-minecraft-server.readthedocs.io/en/latest/?badge=latest)
|
||||
|
||||
[](https://docker-minecraft-server.readthedocs.io/)
|
||||
[](https://docker-minecraft-server.readthedocs.io/)
|
||||
|
||||
There you will find things like
|
||||
- [Quick start with Docker Compose](https://docker-minecraft-server.readthedocs.io/en/latest/#using-docker-compose)
|
||||
@@ -19,3 +19,6 @@ There you will find things like
|
||||
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.
|
||||
|
||||
## 
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
@@ -6,7 +6,7 @@ Small, none, Minecraftia
|
||||
|
||||
Line 2:
|
||||
"Documentation"
|
||||
Large, non, Minecrafter
|
||||
Large, none, Minecrafter
|
||||
|
||||
Overall settings:
|
||||
- drop shadow
|
||||
BIN
docs/img/banner-sponsors.png
Normal file
BIN
docs/img/banner-sponsors.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
9
docs/img/banner-sponsors.txt
Normal file
9
docs/img/banner-sponsors.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
Generated at https://textcraft.net/
|
||||
|
||||
Line 1:
|
||||
"Sponsors"
|
||||
Mid
|
||||
None
|
||||
Minecrafter
|
||||
Drop shadow
|
||||
3d-style view
|
||||
@@ -21,6 +21,30 @@ docker compose -f compose-dev.yml run --rm -it [-e key=value] mc-dev
|
||||
|
||||
To speed up the development cycle, it is recommended to set `SETUP_ONLY` to `true` as part of the run command above.
|
||||
|
||||
## Building the image with a new release of a tool
|
||||
|
||||
In this exapmle, let's say that [mc-image-helper](https://github.com/itzg/mc-image-helper) has been [released](https://github.com/itzg/mc-image-helper/releases) at 1.56.0, but the corresponding changes in the image [scripts](https://github.com/itzg/docker-minecraft-server/tree/23205471db9814cff9c6602361dbc6cdd6c4230a/scripts) need to be tested against that version while updating [the Dockerfile](https://github.com/itzg/docker-minecraft-server/blob/23205471db9814cff9c6602361dbc6cdd6c4230a/Dockerfile#L58).
|
||||
|
||||
```yaml title="tests/manual/optional-projects/compose.yml" hl_lines="7"
|
||||
services:
|
||||
mc:
|
||||
build:
|
||||
# ...or wherever you cloned the docker-minecraft-server repo
|
||||
context: ../../..
|
||||
args:
|
||||
MC_HELPER_VERSION: 1.56.0
|
||||
environment:
|
||||
EULA: true
|
||||
TYPE: "FABRIC"
|
||||
MODRINTH_PROJECTS: |
|
||||
fabric-api
|
||||
pl3xmap?:beta
|
||||
ports:
|
||||
- "25565:25565/tcp"
|
||||
volumes:
|
||||
- ./data:/data
|
||||
```
|
||||
|
||||
## Using development copy of tools
|
||||
|
||||
In the cloned repo, such as [`mc-image-helper`](https://github.com/itzg/mc-image-helper), install the distribution locally by running:
|
||||
|
||||
@@ -86,6 +86,54 @@ Where:
|
||||
|
||||
To temporarily disable processing of the `MODRINTH_PROJECTS` list, then comment out the `MODRINTH_PROJECTS` environment variable.
|
||||
|
||||
## Optional projects
|
||||
|
||||
Projects that are not critical for the server to function can be marked as **optional** by appending a `?` to the project slug or ID. When a compatible version cannot be found for an optional project, the server logs a warning and continues startup instead of failing.
|
||||
|
||||
This is particularly useful for server-side mods that tend to lag behind on Minecraft updates, such as map renderers (Pl3xmap, BlueMap), performance mods (Lithium, C2ME), or admin tools (Spark, LuckPerms).
|
||||
|
||||
```yaml
|
||||
MODRINTH_PROJECTS: |
|
||||
fabric-api
|
||||
lithium
|
||||
pl3xmap?
|
||||
bluemap?:beta
|
||||
```
|
||||
|
||||
The `?` marker can be combined with all existing format options:
|
||||
|
||||
| Format | Example |
|
||||
|----------------------------|---------------------------|
|
||||
| Slug only | `pl3xmap?` |
|
||||
| With version | `pl3xmap?:Oa9ZDzZq` |
|
||||
| With release type | `pl3xmap?:beta` |
|
||||
| With loader prefix | `fabric:pl3xmap?` |
|
||||
| Full combination | `fabric:pl3xmap?:beta` |
|
||||
| In listing files | `pl3xmap?` *(one per line)* |
|
||||
|
||||
When combined with [`VERSION_FROM_MODRINTH_PROJECTS`](#version-from-projects), optional projects are **excluded** from the version calculation. This means an optional mod that hasn't been updated yet will never block a Minecraft version upgrade.
|
||||
|
||||
!!! example "Automatic upgrades without optional-mod breakage"
|
||||
|
||||
```yaml
|
||||
MODRINTH_PROJECTS: |
|
||||
fabric-api
|
||||
lithium
|
||||
pl3xmap?
|
||||
VERSION_FROM_MODRINTH_PROJECTS: true
|
||||
```
|
||||
|
||||
If a new Minecraft version is released and `fabric-api` + `lithium` support it but `pl3xmap` does not:
|
||||
|
||||
1. The resolved `VERSION` is set to the new version (pl3xmap is not considered)
|
||||
2. `fabric-api` and `lithium` are installed normally
|
||||
3. `pl3xmap` is skipped with a warning in the logs
|
||||
4. On a future restart, once pl3xmap publishes a compatible build, it is picked up automatically
|
||||
|
||||
!!! note
|
||||
|
||||
Optional projects marked with `?` in listing files (`@/path/to/file.txt`) are supported ; the `?` is parsed from each line the same way as inline entries.
|
||||
|
||||
## Version from Projects
|
||||
|
||||
When the environment variable `VERSION_FROM_MODRINTH_PROJECTS` is set to "true" the Minecraft [`VERSION`](../versions/minecraft.md) will be automatically determined by looking at the most recent version of Minecraft that is supported by all the projects provided in `MODRINTH_PROJECTS`.
|
||||
@@ -115,4 +163,3 @@ When the environment variable `VERSION_FROM_MODRINTH_PROJECTS` is set to "true"
|
||||
|
||||
`MODRINTH_LOADER`
|
||||
: When using a custom server, set this to specify which loader type will be requested during lookups
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
click==8.3.1
|
||||
click==8.3.2
|
||||
colorama==0.4.6
|
||||
deepmerge==2.0
|
||||
ghp-import==2.1.0
|
||||
griffe==2.0.0
|
||||
griffe==2.0.2
|
||||
Jinja2==3.1.6
|
||||
Markdown==3.10.2
|
||||
MarkupSafe==3.0.3
|
||||
@@ -15,11 +15,11 @@ mkdocstrings-python==2.0.3
|
||||
packaging==26.0
|
||||
pathspec==1.0.4
|
||||
platformdirs==4.9.4
|
||||
Pygments==2.19.2
|
||||
pymdown-extensions==10.21
|
||||
Pygments==2.20.0
|
||||
pymdown-extensions==10.21.2
|
||||
python-dateutil==2.9.0.post0
|
||||
PyYAML==6.0.3
|
||||
pyyaml_env_tag==1.1
|
||||
six==1.17.0
|
||||
watchdog==6.0.0
|
||||
zensical==0.0.27
|
||||
zensical==0.0.31
|
||||
|
||||
@@ -397,6 +397,12 @@ This image maps known server properties as described in [this section](configura
|
||||
<td><code>Randomly generated</code></td>
|
||||
<td>✅</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>RCON_PASSWORD_FILE</code></td>
|
||||
<td>Can be set to read the RCON password from a file. Overrides <code>RCON_PASSWORD</code> if both are set.</td>
|
||||
<td><code></code></td>
|
||||
<td>⬜️</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>RCON_PORT</code></td>
|
||||
<td>The port for RCON</td>
|
||||
|
||||
@@ -2,7 +2,8 @@ To use a different Minecraft version, pass the `VERSION` environment variable (c
|
||||
|
||||
- `LATEST` for latest release (the default)
|
||||
- `SNAPSHOT` for latest snapshot
|
||||
- a specific version, such as `1.7.9`, `25w35a`, `26.1`, or `26.1-snapshot-1`
|
||||
- a specific legacy version, such as `1.7.9`, `25w35a`, `1.15.2-pre2` or `1.21.11-rc1`
|
||||
- a specific [new version numbering system](https://www.minecraft.net/en-us/article/minecraft-new-version-numbering-system) version like `26.1`, `26.1-snapshot-1`, `26.1-pre-1`, or `26.1-rc-1`
|
||||
- or an alpha and beta version, such as "b1.7.3" (server download might not exist)
|
||||
|
||||
For example, to use the latest snapshot:
|
||||
|
||||
@@ -144,6 +144,7 @@
|
||||
"smart-hud",
|
||||
"smithing-template-viewer",
|
||||
"smooth-font",
|
||||
"smooth-swapping",
|
||||
"smoothwater",
|
||||
"sodium",
|
||||
"sodium-extra",
|
||||
|
||||
@@ -94,6 +94,7 @@
|
||||
"seasonhud",
|
||||
"ShoulderSurfing",
|
||||
"skinlayers3d",
|
||||
"smoothswapping",
|
||||
"sodium",
|
||||
"sorted_enchantments",
|
||||
"tooltipfix",
|
||||
|
||||
17
tests/manual/optional-projects/compose.yml
Normal file
17
tests/manual/optional-projects/compose.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
services:
|
||||
mc:
|
||||
build:
|
||||
# ...or wherever you cloned the docker-minecraft-server repo
|
||||
context: ../../..
|
||||
args:
|
||||
MC_HELPER_VERSION: 1.56.0
|
||||
environment:
|
||||
EULA: true
|
||||
TYPE: "FABRIC"
|
||||
MODRINTH_PROJECTS: |
|
||||
fabric-api
|
||||
pl3xmap?:beta
|
||||
ports:
|
||||
- "25565:25565/tcp"
|
||||
volumes:
|
||||
- ./data:/data
|
||||
Reference in New Issue
Block a user