mirror of
https://github.com/itzg/docker-minecraft-server.git
synced 2026-10-08 13:17:13 +00:00
Compare commits
15
Commits
2026.3.3
...
7b1cb53cda
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7b1cb53cda | ||
|
|
dcfedaa10f | ||
|
|
a9a27df4a6 | ||
|
|
a2fbd4ce9a | ||
|
|
eb4fe3c7bf | ||
|
|
8c9e2c653f | ||
|
|
bd98fe57ba | ||
|
|
23205471db | ||
|
|
f8618a5360 | ||
|
|
acc90757a6 | ||
|
|
589872049f | ||
|
|
18403e7db8 | ||
|
|
2625ca2b3c | ||
|
|
5b9c09b7b2 | ||
|
|
b37c2cc3ef |
No files matched your search
@@ -55,15 +55,15 @@ jobs:
|
|||||||
- variant: java21
|
- variant: java21
|
||||||
baseImage: eclipse-temurin:21-jre
|
baseImage: eclipse-temurin:21-jre
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
mcVersion: latest
|
mcVersion: 1.21.11
|
||||||
- variant: java21-jdk
|
- variant: java21-jdk
|
||||||
baseImage: eclipse-temurin:21
|
baseImage: eclipse-temurin:21
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
mcVersion: latest
|
mcVersion: 1.21.11
|
||||||
- variant: java21-alpine
|
- variant: java21-alpine
|
||||||
baseImage: eclipse-temurin:21-jre-alpine
|
baseImage: eclipse-temurin:21-jre-alpine
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
mcVersion: latest
|
mcVersion: 1.21.11
|
||||||
# JAVA 17:
|
# JAVA 17:
|
||||||
- variant: java17
|
- variant: java17
|
||||||
# jammy doesn't work until minecraft updates to https://github.com/netty/netty/issues/12343
|
# jammy doesn't work until minecraft updates to https://github.com/netty/netty/issues/12343
|
||||||
|
|||||||
+2
-2
@@ -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
|
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
|
||||||
|
|
||||||
# renovate: datasource=github-releases packageName=itzg/mc-server-runner
|
# 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} \
|
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
|
||||||
|
|
||||||
# renovate: datasource=github-releases packageName=itzg/mc-image-helper versioning=loose
|
# 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}
|
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
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
[](https://www.buymeacoffee.com/itzg)
|
[](https://www.buymeacoffee.com/itzg)
|
||||||
[](https://docker-minecraft-server.readthedocs.io/en/latest/?badge=latest)
|
[](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
|
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)
|
||||||
@@ -19,3 +19,20 @@ There you will find things like
|
|||||||
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.
|
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.
|
||||||
|
|
||||||
|
[](#sponsors)
|
||||||
|
|
||||||
|
<a name="sponsors"></a>
|
||||||
|
|
||||||
|
<a href="https://spawnbox.app"><img src="https://spawnbox.app/favicon-48x48.png" alt="SpawnBox logo" width="48" align="left" /></a>
|
||||||
|
|
||||||
|
<a href="https://spawnbox.app"><b>SpawnBox</b></a> - Powered by <code>itzg/minecraft-server</code>, it's a Windows desktop app for parents, teens, and friend groups who want a Minecraft server on their own PC without learning Docker, WSL2, or networking.
|
||||||
|
|
||||||
|
<br clear="left" />
|
||||||
|
|
||||||
|
<!-- additional sponsors repeat the pattern above: floated logo + blurb + clear-left break -->
|
||||||
|
<!-- logo image preferrably hosted on an external, stable site at a size of 48x48px -->
|
||||||
|
<!-- link to sponsor site -->
|
||||||
|
<!-- one or two line summary ideally with a mention of image integration -->
|
||||||
|
|
||||||
|
[and more...](https://github.com/sponsors/itzg)
|
||||||
File renamed without changes.
@@ -6,7 +6,7 @@ Small, none, Minecraftia
|
|||||||
|
|
||||||
Line 2:
|
Line 2:
|
||||||
"Documentation"
|
"Documentation"
|
||||||
Large, non, Minecrafter
|
Large, none, Minecrafter
|
||||||
|
|
||||||
Overall settings:
|
Overall settings:
|
||||||
- drop shadow
|
- drop shadow
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
@@ -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.
|
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
|
## 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:
|
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.
|
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
|
## 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`.
|
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`
|
`MODRINTH_LOADER`
|
||||||
: When using a custom server, set this to specify which loader type will be requested during lookups
|
: 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
|
colorama==0.4.6
|
||||||
deepmerge==2.0
|
deepmerge==2.0
|
||||||
ghp-import==2.1.0
|
ghp-import==2.1.0
|
||||||
griffe==2.0.0
|
griffe==2.0.2
|
||||||
Jinja2==3.1.6
|
Jinja2==3.1.6
|
||||||
Markdown==3.10.2
|
Markdown==3.10.2
|
||||||
MarkupSafe==3.0.3
|
MarkupSafe==3.0.3
|
||||||
@@ -15,11 +15,11 @@ mkdocstrings-python==2.0.3
|
|||||||
packaging==26.0
|
packaging==26.0
|
||||||
pathspec==1.0.4
|
pathspec==1.0.4
|
||||||
platformdirs==4.9.4
|
platformdirs==4.9.4
|
||||||
Pygments==2.19.2
|
Pygments==2.20.0
|
||||||
pymdown-extensions==10.21
|
pymdown-extensions==10.21.2
|
||||||
python-dateutil==2.9.0.post0
|
python-dateutil==2.9.0.post0
|
||||||
PyYAML==6.0.3
|
PyYAML==6.0.3
|
||||||
pyyaml_env_tag==1.1
|
pyyaml_env_tag==1.1
|
||||||
six==1.17.0
|
six==1.17.0
|
||||||
watchdog==6.0.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><code>Randomly generated</code></td>
|
||||||
<td>✅</td>
|
<td>✅</td>
|
||||||
</tr>
|
</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>
|
<tr>
|
||||||
<td><code>RCON_PORT</code></td>
|
<td><code>RCON_PORT</code></td>
|
||||||
<td>The port for RCON</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)
|
- `LATEST` for latest release (the default)
|
||||||
- `SNAPSHOT` for latest snapshot
|
- `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)
|
- or an alpha and beta version, such as "b1.7.3" (server download might not exist)
|
||||||
|
|
||||||
For example, to use the latest snapshot:
|
For example, to use the latest snapshot:
|
||||||
|
|||||||
@@ -144,6 +144,7 @@
|
|||||||
"smart-hud",
|
"smart-hud",
|
||||||
"smithing-template-viewer",
|
"smithing-template-viewer",
|
||||||
"smooth-font",
|
"smooth-font",
|
||||||
|
"smooth-swapping",
|
||||||
"smoothwater",
|
"smoothwater",
|
||||||
"sodium",
|
"sodium",
|
||||||
"sodium-extra",
|
"sodium-extra",
|
||||||
|
|||||||
@@ -94,6 +94,7 @@
|
|||||||
"seasonhud",
|
"seasonhud",
|
||||||
"ShoulderSurfing",
|
"ShoulderSurfing",
|
||||||
"skinlayers3d",
|
"skinlayers3d",
|
||||||
|
"smoothswapping",
|
||||||
"sodium",
|
"sodium",
|
||||||
"sorted_enchantments",
|
"sorted_enchantments",
|
||||||
"tooltipfix",
|
"tooltipfix",
|
||||||
|
|||||||
@@ -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