Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion docs/mods-and-plugins/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
By far the easiest way to work with mod and plugins, especially large numbers of them, is to utilize modpacks with [one of the supported mod platforms](../types-and-platforms/index.md).

The following are some supported mod platforms:
- [Modrinth](../types-and-platforms/mod-platforms/modrinth-modpacks.md)

- [Modrinth](../types-and-platforms/mod-platforms/modrinth-modpacks.md)
- [CurseForge](../types-and-platforms/mod-platforms/auto-curseforge.md)
- [Feed the Beast](../types-and-platforms/mod-platforms/ftb.md)

Expand Down
9 changes: 4 additions & 5 deletions docs/types-and-platforms/mod-platforms/auto-curseforge.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@ To manage a CurseForge modpack automatically with upgrade support, pinned or lat
```

!!! note

Be sure to use the appropriate [image tag for the Java version compatible with the modpack](../versions/java.md).
Be sure to use the appropriate [image tag for the Java version compatible with the modpack](../../versions/java.md).

Most modpacks require a good amount of memory, so it best to set `MEMORY` to at least "4G" since the default is only 1 GB.

Expand All @@ -50,7 +49,7 @@ Pass a page URL to the modpack or a specific file with `CF_PAGE_URL` such as the

Instead of a URL, the modpack slug can be provided as `CF_SLUG`. The slug is the short identifier visible in the URL after "/modpacks/", such as

![cf-slug](../img/cf-slug.png)
![cf-slug](../../img/cf-slug.png)

For example:
```
Expand All @@ -69,7 +68,7 @@ The latest file will be located and used by default, but if a specific version i

The following shows where to get the URL to the specific file and also shows where the file ID is located:

![cf-file-id](../img/cf-file-id.png)
![cf-file-id](../../img/cf-file-id.png)

The following examples all refer to version 1.0.7 of ATM8:

Expand All @@ -92,7 +91,7 @@ Quite often there are mods that need to be excluded, such as ones that did not p
Mods can be excluded by passing a comma or space delimited list of **project** slugs or IDs via `CF_EXCLUDE_MODS`. Similarly, there are some mods that are incorrectly tagged as client only. For those, pass the **project** slugs or IDs via `CF_FORCE_INCLUDE_MODS`. These lists will be combined with the content of the exclude/include file, if given.

A mod's project ID can be obtained from the right hand side of the project page:
![cf-project-id](../img/cf-project-id.png)
![cf-project-id](../../img/cf-project-id.png)

For more complex scenarios, global and per modpack exclusions can be declared in a container-accessible JSON file and referenced with `CF_EXCLUDE_INCLUDE_FILE`. By default, [the file bundled with the image](https://raw.githubusercontent.com/itzg/docker-minecraft-server/master/files/cf-exclude-include.json) will be used, but can be disabled by setting this to an empty string. The schema of this file [is documented here](https://github.com/itzg/mc-image-helper#excludeinclude-file-schema).

Expand Down
5 changes: 2 additions & 3 deletions docs/types-and-platforms/mod-platforms/ftb.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# Feed the Beast

!!! note

Requires one of the Ubuntu with Hotspot images listed in [the Java versions section](../versions/java.md).
Requires one of the Ubuntu with Hotspot images listed in [the Java versions section](../../versions/java.md).

[Feed the Beast application](https://www.feed-the-beast.com/) modpacks are supported by setting `MOD_PLATFORM` or `TYPE` to "FTBA"

Expand All @@ -18,7 +17,7 @@ This mod platform type will automatically take care of downloading and installin
https://www.feed-the-beast.com/modpacks/23-ftb-infinity-evolved-17
^^
```
- `FTB_MODPACK_VERSION_ID`: optional, the numerical ID of the version to install. If not specified, the latest version will be installed. The "Version ID" can be obtained by hovering over a server file entry and grabbing [this ID in the URL](../img/ftba-version-id-popup.png).
- `FTB_MODPACK_VERSION_ID`: optional, the numerical ID of the version to install. If not specified, the latest version will be installed. The "Version ID" can be obtained by hovering over a server file entry and grabbing [this ID in the URL](../../img/ftba-version-id-popup.png).

### Upgrading

Expand Down
6 changes: 3 additions & 3 deletions docs/types-and-platforms/mod-platforms/modrinth-modpacks.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ The desired modpack project is specified with the `MODRINTH_PROJECT` environment

- The project "slug", which is located in the URL shown here:

![](../img/modrinth-project-slug.drawio.png)
![](../../img/modrinth-project-slug.drawio.png)
- The project ID, which is located in the bottom of the left panel, shown here

![](../img/modrinth-project-id.drawio.png)
![](../../img/modrinth-project-id.drawio.png)
- The project page URL, such as <https://modrinth.com/modpack/cobblemon-fabric>. As described below, this can further be the page URL of a modpack's version page.

The automatic modpack version resolving can be narrowed in a few ways:
Expand All @@ -22,4 +22,4 @@ The selected version can also be narrowed to a particular mod loader by setting

Instead of auto resolving, a specific version of modpack file can be specified by passing the version's page URL to `MODRINTH_PROJECT`, such as <https://modrinth.com/modpack/cobblemon-fabric/version/1.3.2> or by setting `MODRINTH_VERSION` to the version ID or number located in the Metadata section, as shown here

![](../img/modrinth-version-id.drawio.png)
![](../../img/modrinth-version-id.drawio.png)
6 changes: 4 additions & 2 deletions docs/types-and-platforms/server-types/bukkit-spigot.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Bukkit/Spigot

Enable Bukkit/Spigot server mode by adding a `-e TYPE=BUKKIT` or `-e TYPE=SPIGOT` to your command-line.

```
Expand All @@ -15,9 +17,9 @@ If you are hosting your own copy of Bukkit/Spigot you can override the download

You can build spigot from source by adding `-e BUILD_FROM_SOURCE=true`

Plugins can either be managed within the `plugins` subdirectory of the [data directory](../data-directory.md) or you can also [attach a `/plugins` volume](../mods-and-plugins/index.md#optional-plugins-mods-and-config-attach-points). If you add plugins while the container is running, you'll need to restart it to pick those up.
Plugins can either be managed within the `plugins` subdirectory of the [data directory](../../data-directory.md) or you can also [attach a `/plugins` volume](../../mods-and-plugins/index.md#optional-plugins-mods-and-config-attach-points). If you add plugins while the container is running, you'll need to restart it to pick those up.

[You can also auto-download plugins using `SPIGET_RESOURCES`.](../mods-and-plugins/index.md#auto-downloading-spigotmcbukkitpapermc-plugins-with-spiget)
[You can also auto-download plugins using `SPIGET_RESOURCES`.](../../mods-and-plugins/spiget.md)

!!! note

Expand Down
2 changes: 1 addition & 1 deletion docs/types-and-platforms/server-types/fabric.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ docker run -d -v /path/on/host:/data ... \
- Provide the path to a custom launcher jar available to the container with `FABRIC_LAUNCHER`, relative to `/data` (such as `-e FABRIC_LAUNCHER=fabric-server-custom.jar`)
- Provide the URL to a custom launcher jar with `FABRIC_LAUNCHER_URL` (such as `-e FABRIC_LAUNCHER_URL=http://HOST/fabric-server-custom.jar`)

See the [Working with mods and plugins](../mods-and-plugins/index.md) section to set up Fabric mods and configuration.
See the [Working with mods and plugins](../../mods-and-plugins/index.md) section to set up Fabric mods and configuration.
2 changes: 1 addition & 1 deletion docs/types-and-platforms/server-types/forge.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Enable [Forge server](http://www.minecraftforge.net/) mode by adding a `-e TYPE=FORGE` to your command-line.

The overall version is specified by `VERSION`, [as described in the section above](../versions/minecraft.md) and will run the recommended Forge version by default. You can also choose to run a specific Forge version with `FORGE_VERSION`, such as `-e FORGE_VERSION=14.23.5.2854`.
The overall version is specified by `VERSION`, [as described in the section above](../../versions/minecraft.md) and will run the recommended Forge version by default. You can also choose to run a specific Forge version with `FORGE_VERSION`, such as `-e FORGE_VERSION=14.23.5.2854`.

```
docker run -d -v /path/on/host:/data \
Expand Down
2 changes: 1 addition & 1 deletion docs/types-and-platforms/server-types/others.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Enable SpongeVanilla server mode by adding a `-e TYPE=SPONGEVANILLA` to your com
By default the container will run the latest `STABLE` version.
If you want to run a specific version, you can add `-e SPONGEVERSION=1.11.2-6.1.0-BETA-19` to your command-line.

Beware that current [Sponge](https://www.spongepowered.org) `STABLE` versions for Minecraft 1.12 require using [the Java 8 tag](../versions/java.md):
Beware that current [Sponge](https://www.spongepowered.org) `STABLE` versions for Minecraft 1.12 require using [the Java 8 tag](../../versions/java.md):

``` shell
docker run -d -v /path/on/host:/data -e TYPE=SPONGEVANILLA \
Expand Down
8 changes: 4 additions & 4 deletions docs/types-and-platforms/server-types/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ By default, the container will run the latest build of [Paper server](https://pa

If you are hosting your own copy of Paper you can override the download URL with `PAPER_DOWNLOAD_URL=<url>`.

If you have attached a host directory to the `/data` volume, then you can install plugins via the `plugins` subdirectory. You can also [attach a `/plugins` volume](../mods-and-plugins/index.md#optional-plugins-mods-and-config-attach-points). If you add plugins while the container is running, you'll need to restart it to pick those up.
If you have attached a host directory to the `/data` volume, then you can install plugins via the `plugins` subdirectory. You can also [attach a `/plugins` volume](../../mods-and-plugins/index.md#optional-plugins-mods-and-config-attach-points). If you add plugins while the container is running, you'll need to restart it to pick those up.

[You can also auto-download plugins using `SPIGET_RESOURCES`.](../mods-and-plugins/index.md#auto-downloading-spigotmcbukkitpapermc-plugins-with-spiget)
[You can also auto-download plugins using `SPIGET_RESOURCES`.](../../mods-and-plugins/spiget.md)

## Alternatives

Expand Down Expand Up @@ -57,9 +57,9 @@ By default, the container will run the latest build of [Folia server](https://pa

If you are hosting your own copy of Folia you can override the download URL with `FOLIA_DOWNLOAD_URL=<url>`.

If you have attached a host directory to the `/data` volume, then you can install plugins via the `plugins` subdirectory. You can also [attach a `/plugins` volume](../mods-and-plugins/index.md#optional-plugins-mods-and-config-attach-points). If you add plugins while the container is running, you'll need to restart it to pick those up.
If you have attached a host directory to the `/data` volume, then you can install plugins via the `plugins` subdirectory. You can also [attach a `/plugins` volume](../../mods-and-plugins/index.md#optional-plugins-mods-and-config-attach-points). If you add plugins while the container is running, you'll need to restart it to pick those up.

[You can also auto-download plugins using `SPIGET_RESOURCES`.](../mods-and-plugins/index.md#auto-downloading-spigotmcbukkitpapermc-plugins-with-spiget)
[You can also auto-download plugins using `SPIGET_RESOURCES`.](../../mods-and-plugins/spiget.md)

!!! note
The Folia type inherits from the Paper type. Paper's variables will override the Folia ones.
2 changes: 1 addition & 1 deletion docs/types-and-platforms/server-types/quilt.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ docker run -d -v /path/on/host:/data ... \
- Provide the path to a custom launcher jar available to the container with `QUILT_LAUNCHER`, relative to `/data` (such as `-e QUILT_LAUNCHER=quilt-server-custom.jar`)
- Provide the URL to a custom launcher jar with `QUILT_LAUNCHER_URL` (such as `-e QUILT_LAUNCHER_URL=http://HOST/quilt-server-custom.jar`)

See the [Working with mods and plugins](../mods-and-plugins/index.md) section to set up Quilt mods and configuration.
See the [Working with mods and plugins](../../mods-and-plugins/index.md) section to set up Quilt mods and configuration.
9 changes: 8 additions & 1 deletion docs/versions/java.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@

For Forge versions less than 1.18, you _must_ use the `java8-multiarch` (or other java8) image tag.

In general, if you see the following line in a server startup failure, then it means you need to be using Java 8 instead of the latest image Java version:

```
Caused by: java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader
cannot be cast to class java.net.URLClassLoader
```

When using the image `itzg/minecraft-server` without a tag, the `latest` image tag is implied from the table below. To use a different version of Java, please use an alternate tag to run your Minecraft server container.

| Tag name | Java version | Linux | JVM Type | Architecture |
Expand All @@ -23,7 +30,7 @@ When using the image `itzg/minecraft-server` without a tag, the `latest` image t
| java17-graalvm-ce | 17 | Oracle | GraalVM CE | amd64,arm64 |
| java17-alpine | 17 | Alpine | Hotspot | amd64 |
| java20-alpine | 19 | Alpine | Hotspot | amd64 |
| java20 | 19 | Ubuntu | Hotspot | amd64,arm64 |
| java20 | 19 | Ubuntu | Hotspot | amd64,arm64 |

For example, to use Java version 8 on any supported architecture:

Expand Down