diff --git a/README.md b/README.md index fc8aad9e..226e34d5 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,10 @@ [![](https://img.shields.io/badge/Donate-Buy%20me%20a%20coffee-orange.svg)](https://www.buymeacoffee.com/itzg) [![Documentation Status](https://readthedocs.org/projects/docker-minecraft-server/badge/?version=latest)](https://docker-minecraft-server.readthedocs.io/en/latest/?badge=latest) -## [View the full documentation](https://docker-minecraft-server.readthedocs.io/) + [![](docs/img/docs-banner.png)](https://docker-minecraft-server.readthedocs.io/) +
+Expand to see deprecated docs sections -- soon will be removed ## Intro @@ -25,12 +27,9 @@ where, in this case, the standard server port 25565, will be exposed on your hos > Be sure to always include `-e EULA=TRUE` in your commands and container definitions, as Mojang/Microsoft requires EULA acceptance. -> **DO NOT** port forward RCON on 25575 without first setting `RCON_PASSWORD` to a secure value. It is highly recommended to only use RCON within the container, such as with `rcon-cli`. +> **DO NOT** port forward RCON on 25575 without first setting `RCON_PASSWORD` to a secure value. It is highly recommended to only use RCON within the container, such as with `rcon-cli`. -By default, the container will download the latest version of the "vanilla" [Minecraft: Java Edition server](https://www.minecraft.net/en-us/download/server) provided by Mojang. The [`VERSION`](#versions) and the [`TYPE`](#server-types) can be configured to create many variations of desired Minecraft server. - -
-Expand to see deprecated docs sections -- soon will be removed +By default, the container will download the latest version of the "vanilla" [Minecraft: Java Edition server](https://www.minecraft.net/en-us/download/server) provided by Mojang. The [`VERSION`](#versions) and the [`TYPE`](#server-types) can be configured to create many variations of desired Minecraft server. ## Looking for a Bedrock Dedicated Server diff --git a/docs/img/Going from docker run to compose.drawio.png b/docs/img/Going from docker run to compose.drawio.png new file mode 100644 index 00000000..d12219b5 Binary files /dev/null and b/docs/img/Going from docker run to compose.drawio.png differ diff --git a/docs/img/Minecraft server containment.xml b/docs/img/Minecraft server containment.xml new file mode 100644 index 00000000..de3236e7 --- /dev/null +++ b/docs/img/Minecraft server containment.xml @@ -0,0 +1 @@ +1VVNc5swEP01HDMDUiDOMbGd5pK2Ux96VkGAxgJRIRvcX9+VWD40ODOZ1j0Uz9jS2w+t3ts1Ad1W/SfNmvJNZVwGJMz6gO4CQjZRCN8WuAxA8vgwAIUW2QBFM3AQvziCGFecRMZbz9EoJY1ofDBVdc1T42FMa9X5brmS/qkNK/gKOKRMrtHvIjMlolEYzoZXLooSj97EaPjB0mOh1anG8wJCc/cM5oqNudC/LVmmugVE9wHdaqXMsKr6LZeW2pG2Ie7lHetUt+a1+UgAGQLOTJ74WHEiIfQ5E2dbn7kgJ8nPky3q2fDe3DEpijqgT+AheW5mK6wK/HVZ2obVI7ZT6ZFrCHlVrRkdoLSlzwJ2BYwo8WohXSkMPzQstfsOWhCcSlNJ2EX21JFVu8mFlFsllXahdJ/YD+Bnro0AyZ+Gu+yMslnwZjt3LVd/KurCpgptLlWbA5aBXNs0vH+X/mgSFWaFq4obfQEXDKDYBhd/2809RzeIlYt2mxwZ9nkxZZ61hgXKfV16upK+EjBMmuXmruX67KSCATMMYL2SwDU5z5DkvxAE52NNvdHqyBeOoXs8UWIbplP8A3ES3UCVja/K41oVEl5RJYpuoMr9SpU34B+Qr0rD0ITD0JE4TuI/nopwLcKLexYi6OFet6CT3Pt8TjwtCI3IFUJv0eXxis9v2y+fr/D58P/yGf87PmE7v4ycbfHCp/vf \ No newline at end of file diff --git a/docs/img/cf-project-id.png b/docs/img/cf-project-id.png index e69de29b..ea78cddc 100644 Binary files a/docs/img/cf-project-id.png and b/docs/img/cf-project-id.png differ diff --git a/docs/img/cf-slug.png b/docs/img/cf-slug.png index e69de29b..08406760 100644 Binary files a/docs/img/cf-slug.png and b/docs/img/cf-slug.png differ diff --git a/docs/img/docs-banner.png b/docs/img/docs-banner.png new file mode 100644 index 00000000..53478077 Binary files /dev/null and b/docs/img/docs-banner.png differ diff --git a/docs/img/docs-banner.txt b/docs/img/docs-banner.txt new file mode 100644 index 00000000..370e6e90 --- /dev/null +++ b/docs/img/docs-banner.txt @@ -0,0 +1,12 @@ +Generated at https://textcraft.net/ + +Line 1: +"Click here for" +Small, none, Minecraftia + +Line 2: +"Documentation" +Large, non, Minecrafter + +Overall settings: +- drop shadow \ No newline at end of file diff --git a/docs/img/example-autocf-downloads.drawio.png b/docs/img/example-autocf-downloads.drawio.png index e69de29b..f2a9dc46 100644 Binary files a/docs/img/example-autocf-downloads.drawio.png and b/docs/img/example-autocf-downloads.drawio.png differ diff --git a/docs/img/ftba-version-id-popup.png b/docs/img/ftba-version-id-popup.png index e69de29b..3d460140 100644 Binary files a/docs/img/ftba-version-id-popup.png and b/docs/img/ftba-version-id-popup.png differ diff --git a/docs/img/level-vs-world.drawio.png b/docs/img/level-vs-world.drawio.png index e69de29b..2a600cfe 100644 Binary files a/docs/img/level-vs-world.drawio.png and b/docs/img/level-vs-world.drawio.png differ diff --git a/docs/img/modrinth-project-id.drawio.png b/docs/img/modrinth-project-id.drawio.png index e69de29b..d299f0c0 100644 Binary files a/docs/img/modrinth-project-id.drawio.png and b/docs/img/modrinth-project-id.drawio.png differ diff --git a/docs/img/modrinth-project-slug.drawio.png b/docs/img/modrinth-project-slug.drawio.png index e69de29b..f8dd5154 100644 Binary files a/docs/img/modrinth-project-slug.drawio.png and b/docs/img/modrinth-project-slug.drawio.png differ diff --git a/docs/img/motd-example.png b/docs/img/motd-example.png index e69de29b..265c66a6 100644 Binary files a/docs/img/motd-example.png and b/docs/img/motd-example.png differ diff --git a/docs/img/start-script-flow.drawio.png b/docs/img/start-script-flow.drawio.png new file mode 100644 index 00000000..b2f0e89e Binary files /dev/null and b/docs/img/start-script-flow.drawio.png differ diff --git a/docs/img/world-copy-compose-project.drawio.png b/docs/img/world-copy-compose-project.drawio.png index e69de29b..64976e9c 100644 Binary files a/docs/img/world-copy-compose-project.drawio.png and b/docs/img/world-copy-compose-project.drawio.png differ diff --git a/docs/mods-and-plugins/curseforge.md b/docs/mods-and-plugins/curseforge.md index df066ee5..9c919b7f 100644 --- a/docs/mods-and-plugins/curseforge.md +++ b/docs/mods-and-plugins/curseforge.md @@ -2,6 +2,8 @@ To manage a CurseForge modpack automatically with upgrade support, pinned or latest version tracking, set `TYPE` to "AUTO_CURSEFORGE". The appropriate mod loader (Forge / Fabric) version will be automatically installed as declared by the modpack. This mode will also take care of cleaning up unused files installed by previous versions of the modpack, but world data is never auto-removed. +### API Key + !!! warning "CurseForge API key usage" A CurseForge API key is **required** to use this feature. Go to their [developer console](https://console.curseforge.com/), generate an API key, and set the environment variable `CF_API_KEY`. @@ -36,6 +38,8 @@ To manage a CurseForge modpack automatically with upgrade support, pinned or lat 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. +### Usage + Use one of the following to specify the modpack to install: Pass a page URL to the modpack or a specific file with `CF_PAGE_URL` such as the modpack page "https://www.curseforge.com/minecraft/modpacks/all-the-mods-8" or a specific file "https://www.curseforge.com/minecraft/modpacks/all-the-mods-8/files/4248390". For example: @@ -81,18 +85,23 @@ The following examples all refer to version 1.0.7 of ATM8: -e CF_SLUG=all-the-mods-8 -e CF_FILENAME_MATCHER=1.0.7 ``` +### Exlude client mods + Quite often there are mods that need to be excluded, such as ones that did not properly declare as a client mod via the file's game versions. Similarly, there are some mods that are incorrectly tagged as client only. The following describes two options to exclude/include mods: -Global and per modpack exclusions can be declared in a 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). - -Alternatively, they 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. +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) +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). + If needing to iterate on the options above, set `CF_FORCE_SYNCHRONIZE` to "true" to ensure the exclude/includes are re-evaluated. -> **NOTE:** these options are provided to empower you to get your server up and running quickly. Please help out by reporting an issue with the respective mod project. Ideally mod developers should [use correct registrations for one-sided client mods](https://docs.minecraftforge.net/en/latest/concepts/sides/#writing-one-sided-mods). Understandably, those code changes may be non-trivial, so mod authors can also add "Client" to the game versions when publishing. +!!! important + These options are provided to empower you to get your server up and running quickly. Please help out by reporting an issue with the respective mod project. Ideally mod developers should [use correct registrations for one-sided client mods](https://docs.minecraftforge.net/en/latest/concepts/sides/#writing-one-sided-mods). Understandably, those code changes may be non-trivial, so mod authors can also add "Client" to the game versions when publishing. + +### Extra options Some modpacks come with world/save data via a worlds file and/or the overrides provided with the modpack. Either approach can be selected to set the `LEVEL` to the resulting saves directory by setting `CF_SET_LEVEL_FROM` to either: - `WORLD_FILE`