diff --git a/docs/mods-and-plugins/index.md b/docs/mods-and-plugins/index.md index 699f596..37891d6 100644 --- a/docs/mods-and-plugins/index.md +++ b/docs/mods-and-plugins/index.md @@ -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) diff --git a/docs/types-and-platforms/mod-platforms/auto-curseforge.md b/docs/types-and-platforms/mod-platforms/auto-curseforge.md index 217a720..e387cf6 100644 --- a/docs/types-and-platforms/mod-platforms/auto-curseforge.md +++ b/docs/types-and-platforms/mod-platforms/auto-curseforge.md @@ -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. @@ -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: ``` @@ -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: @@ -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). diff --git a/docs/types-and-platforms/mod-platforms/ftb.md b/docs/types-and-platforms/mod-platforms/ftb.md index 5d8d091..15cdbe4 100644 --- a/docs/types-and-platforms/mod-platforms/ftb.md +++ b/docs/types-and-platforms/mod-platforms/ftb.md @@ -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" @@ -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 diff --git a/docs/types-and-platforms/mod-platforms/modrinth-modpacks.md b/docs/types-and-platforms/mod-platforms/modrinth-modpacks.md index 7707efc..b1ba2e9 100644 --- a/docs/types-and-platforms/mod-platforms/modrinth-modpacks.md +++ b/docs/types-and-platforms/mod-platforms/modrinth-modpacks.md @@ -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 . 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: @@ -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 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) diff --git a/docs/types-and-platforms/server-types/bukkit-spigot.md b/docs/types-and-platforms/server-types/bukkit-spigot.md index 81e95af..5fabee4 100644 --- a/docs/types-and-platforms/server-types/bukkit-spigot.md +++ b/docs/types-and-platforms/server-types/bukkit-spigot.md @@ -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. ``` @@ -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 diff --git a/docs/types-and-platforms/server-types/fabric.md b/docs/types-and-platforms/server-types/fabric.md index 513b555..1be43e2 100644 --- a/docs/types-and-platforms/server-types/fabric.md +++ b/docs/types-and-platforms/server-types/fabric.md @@ -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. diff --git a/docs/types-and-platforms/server-types/forge.md b/docs/types-and-platforms/server-types/forge.md index d2dd59b..b54183b 100644 --- a/docs/types-and-platforms/server-types/forge.md +++ b/docs/types-and-platforms/server-types/forge.md @@ -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 \ diff --git a/docs/types-and-platforms/server-types/others.md b/docs/types-and-platforms/server-types/others.md index 6708494..bf3e48d 100644 --- a/docs/types-and-platforms/server-types/others.md +++ b/docs/types-and-platforms/server-types/others.md @@ -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 \ diff --git a/docs/types-and-platforms/server-types/paper.md b/docs/types-and-platforms/server-types/paper.md index 9fd2bef..cfdec0a 100644 --- a/docs/types-and-platforms/server-types/paper.md +++ b/docs/types-and-platforms/server-types/paper.md @@ -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=`. -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 @@ -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=`. -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. diff --git a/docs/types-and-platforms/server-types/quilt.md b/docs/types-and-platforms/server-types/quilt.md index 269b1d5..0061b01 100644 --- a/docs/types-and-platforms/server-types/quilt.md +++ b/docs/types-and-platforms/server-types/quilt.md @@ -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. diff --git a/docs/versions/java.md b/docs/versions/java.md index 8d419db..3ec6c27 100644 --- a/docs/versions/java.md +++ b/docs/versions/java.md @@ -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 | @@ -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: