diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c5ec61783..de76f9a2b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -132,6 +132,7 @@ These constants can be imported and used in MDX, like so: import { LATEST_MC_RELEASE, LATEST_PAPER_RELEASE, + LATEST_PAPER_BUILD_API_VERSION, LATEST_VELOCITY_RELEASE, LATEST_FOLIA_RELEASE, LATEST_WATERFALL_RELEASE, @@ -139,6 +140,7 @@ import { } from "/src/utils/versions"; Latest Paper version is {LATEST_PAPER_RELEASE}. +Latest Paper API build version is {LATEST_PAPER_BUILD_API_VERSION} Latest Velocity version is {LATEST_VELOCITY_RELEASE}. Latest Minecraft version is {LATEST_MC_RELEASE}. Latest Folia version is {LATEST_FOLIA_RELEASE}. diff --git a/astro.config.ts b/astro.config.ts index c88575946..51057c59f 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -15,6 +15,7 @@ import { LATEST_ANSI_RELEASE, LATEST_FOLIA_RELEASE, LATEST_MC_RELEASE, + LATEST_PAPER_BUILD_API_VERSION, LATEST_PAPER_RELEASE, LATEST_USERDEV_RELEASE, LATEST_VELOCITY_RELEASE, @@ -562,6 +563,7 @@ export default defineConfig({ constants: { LATEST_MC_RELEASE, LATEST_PAPER_RELEASE, + LATEST_PAPER_BUILD_API_VERSION, LATEST_VELOCITY_RELEASE, LATEST_FOLIA_RELEASE, LATEST_WATERFALL_RELEASE, diff --git a/src/content/docs/misc/java-install.md b/src/content/docs/misc/java-install.md index 9b3b6f80b..4fa155c5b 100644 --- a/src/content/docs/misc/java-install.md +++ b/src/content/docs/misc/java-install.md @@ -1,6 +1,6 @@ --- title: Installing or updating Java -description: How to install or update to Java 21 on Linux (apt/rpm), Windows, or Mac. +description: How to install or update to Java 25 on Linux (apt/rpm), Windows, or Mac. slug: misc/java-install --- @@ -31,7 +31,7 @@ previous hostile licensing. ### Ubuntu/Debian -Installing Java 21 on Debian-based Linux distributions is very simple. First, ensure your system has +Installing Java 25 on Debian-based Linux distributions is very simple. First, ensure your system has all required tools to successfully install Java. ```bash @@ -46,18 +46,18 @@ wget -O - https://apt.corretto.aws/corretto.key | sudo gpg --dearmor -o /usr/sha echo "deb [signed-by=/usr/share/keyrings/corretto-keyring.gpg] https://apt.corretto.aws stable main" | sudo tee /etc/apt/sources.list.d/corretto.list ``` -Then, install Java 21 and other dependencies using the following command: +Then, install Java 25 and other dependencies using the following command: ```bash sudo apt-get update -sudo apt-get install -y java-21-amazon-corretto-jdk libxi6 libxtst6 libxrender1 +sudo apt-get install -y java-25-amazon-corretto-jdk libxi6 libxtst6 libxrender1 ``` Proceed to [verify your installation](#verifying-installation). ### RPM-based -To install Java 21 on CentOS, RHEL, Fedora, openSUSE, SLES, or any other RPM-based Linux +To install Java 25 on CentOS, RHEL, Fedora, openSUSE, SLES, or any other RPM-based Linux distribution, execute the following commands depending on your package manager. Once you have finished, precede to [verify your installation](#verifying-installation). @@ -68,7 +68,7 @@ DNF is used on Fedora, CentOS/RHEL 7+, and related distributions. ```bash sudo rpm --import https://yum.corretto.aws/corretto.key sudo curl -Lo /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo -sudo dnf -y install java-21-amazon-corretto-devel +sudo dnf -y install java-25-amazon-corretto-devel ``` #### Zypper @@ -78,7 +78,7 @@ Zypper is used on openSUSE, SLES, and related distributions. ```bash sudo zypper addrepo https://yum.corretto.aws/corretto.repo sudo zypper refresh -sudo zypper install java-21-amazon-corretto-devel +sudo zypper install java-25-amazon-corretto-devel ``` #### YUM @@ -88,14 +88,14 @@ YUM is used on older releases of CentOS/RHEL, and excessively old releases of Fe ```bash sudo rpm --import https://yum.corretto.aws/corretto.key sudo curl -Lo /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo -sudo yum -y install java-21-amazon-corretto-devel +sudo yum -y install java-25-amazon-corretto-devel ``` ## Windows 10 & 11 If you're on Windows 10 or 11, installing Java is just like installing any other program. Download the Amazon Corretto installer from -[their website](https://corretto.aws/downloads/latest/amazon-corretto-21-x64-windows-jdk.msi). +[their website](https://corretto.aws/downloads/latest/amazon-corretto-25-x64-windows-jdk.msi). Once you have run the installer, it is safe to click "next" through the whole process. No additional bloatware or toolbars will be installed, and all the required features are enabled out of the box. @@ -109,7 +109,7 @@ If you're on macOS, the best way to manage Java installations is with a tool cal terminal run the following command: ```bash -brew install openjdk@21 +brew install openjdk@25 ``` Once this command has completed, continue to [verify your installation](#verifying-installation). @@ -129,14 +129,14 @@ prompt you to update like this: ![Pterodactyl Automatic Prompt](./assets/pterodactyl-prompt.png) If this does not show up for you, the Java version can be manually changed. Navigate to the -"Startup" tab of your server, select `Java 21` from the "Docker Image" +"Startup" tab of your server, select `Java 25` from the "Docker Image" dropdown as shown in the image below. ![Pterodactyl Manual Java Version Change](./assets/pterodactyl-manual.png) :::note -If you don't see `Java 21` in the dropdown, an administrator account is required to update the Paper egg. +If you don't see `Java 25` in the dropdown, an administrator account is required to update the Paper egg. ::: @@ -144,7 +144,7 @@ The Verifying Installation section does not apply for Pterodactyl. ## Verifying installation -Now that you have installed Java 21, run this command in your terminal to ensure the process was +Now that you have installed Java 25, run this command in your terminal to ensure the process was successful. ```bash @@ -152,13 +152,13 @@ java -version ``` The output should be similar to this. The important parts to look out for is that it starts with -`openjdk 21` and contains `64-Bit` in the last line. If the output you get is similar to +`openjdk 25` and contains `64-Bit` in the last line. If the output you get is similar to `java: command not found`, try creating a new terminal session. ``` -openjdk version "21" 2023-09-19 LTS -OpenJDK Runtime Environment Corretto-21.0.0.35.1 (build 21+35-LTS) -OpenJDK 64-Bit Server VM Corretto-21.0.0.35.1 (build 21+35-LTS, mixed mode, sharing) +openjdk version "25" 2025-09-16 +OpenJDK Runtime Environment (build 25+36-3489) +OpenJDK 64-Bit Server VM (build 25+36-3489, mixed mode, sharing) ``` If your installation has failed, do not hesitate to reach out in the `#paper-help` channel of our diff --git a/src/content/docs/paper/admin/getting-started/getting-started.mdx b/src/content/docs/paper/admin/getting-started/getting-started.mdx index 9bc0eaf8e..cede419c1 100644 --- a/src/content/docs/paper/admin/getting-started/getting-started.mdx +++ b/src/content/docs/paper/admin/getting-started/getting-started.mdx @@ -8,7 +8,7 @@ slug: paper/getting-started :::tip -Paper requires at least **Java 21** to run, which [is easy to download and install](/misc/java-install). +Paper requires at least **Java 25** to run, which [is easy to download and install](/misc/java-install). ::: diff --git a/src/content/docs/paper/admin/getting-started/migration.md b/src/content/docs/paper/admin/getting-started/migration.md index 8766611e3..7c9e52c0a 100644 --- a/src/content/docs/paper/admin/getting-started/migration.md +++ b/src/content/docs/paper/admin/getting-started/migration.md @@ -16,33 +16,6 @@ See our [Backup Guide](/paper/updating#step-1-backup) for more information. ## Migrating to Paper -### From CraftBukkit or Spigot - -It's easy to migrate from CraftBukkit or Spigot to Paper. Follow the steps below. - -1. Stop your server if it is running, and create a full backup. -2. Download Paper from [our downloads page](https://papermc.io/downloads). -3. Rename the downloaded file to match the name specified in the [start command](/paper/getting-started#running-the-server). -4. Replace your existing JAR file with your freshly downloaded Paper JAR. -5. Start your new server. - -Up until 1.20.5, Paper retained full compatibility with all Spigot plugins. However, plugins using Spigot API -added **after** 1.20.5 version will not work. Such plugins may often provide Paper-compatible builds. If they -do not do that, you will need to look for alternatives. However, nowadays most plugins are built and tested -against Paper, so you typically will not encounter incompatible plugins. - -:::note - -Your new Paper server will still use [`bukkit.yml`](/paper/reference/bukkit-configuration) -and [`spigot.yml`](/paper/reference/spigot-configuration). -New configuration options can be found in [`config/paper-global.yml`](/paper/reference/global-configuration) -and [`config/paper-world-defaults.yml`](/paper/reference/world-configuration). - -::: - -If you have any issues migrating from CraftBukkit or Spigot, do not hesitate to reach out for -support on [our Discord server](https://discord.gg/papermc) (`#paper-help` channel). - ### From Vanilla When migrating to Paper from Vanilla, the way worlds are stored will automatically be changed. @@ -52,7 +25,8 @@ closely, as manual changes will be required. 1. Stop your Vanilla server if it is running, and create a full backup. 2. Download Paper from [our downloads page](https://papermc.io/downloads) and replace your Vanilla server JAR with your freshly downloaded Paper JAR. -3. Rename the downloaded file to match the name specified in the [start command](/paper/getting-started#running-the-server). +3. Rename the downloaded file to match the name specified in + the [start command](/paper/getting-started#running-the-server). 4. Start your new Paper server. You have now successfully migrated to Paper. If you encounter any issues, do not hesitate to reach @@ -69,10 +43,59 @@ Additionally, note that Paper does not support Fabric or Forge mods. You will ne replacements. Any hybrids that attempt to support both mods and plugins are fundamentally flawed and not recommended for use. +### From Spigot/CraftBukkit + +Spigot and CraftBukkit modify the Vanilla world directory structure, making a direct migration as of `26.1` +fundamentally impossible. If you wish to migrate from Spigot/CraftBukkit anyway, you will +first need to **migrate from Spigot/CraftBukkit to Vanilla**, after which you can safely follow +the [Vanilla Migration Guide](#from-vanilla). For instructions on how to do this, please +refer to the Spigot documentation. + ## Migrating from Paper ### To Vanilla +Because Paper shares a similar world structure to Vanilla, all you need to do is move around some files. +The following list shows which files you will need to move where. **Before you move around any files, +make sure your server is fully stopped**. + +:::note + +These steps assume a `level-name` (as set in `server.properties`) of `world`. If this is not the +case for you, replace `world` with your `level-name` for all steps below. + +::: + +The following files will need to be moved **from** `world/dimensions/minecraft/overworld/data/minecraft/` +**into** `world/data/minecraft/`: + +- `game_rules.dat` +- `scheduled_events.dat` +- `wandering_trader.dat` +- `weather.dat` +- `world_gen_settings.dat` + +After you have moved these files, you can now replace the Paper server JAR with a Vanilla server JAR +and start your Vanilla server! + +### To Fabric/Forge + +Because both Fabric and Forge use the same directory structure for world storage as Vanilla, follow +the [Vanilla Migration Guide](#to-vanilla) for this process. Note that neither Fabric nor Forge will +support Paper plugins! You will be required to find replacement mods. + +## Other Migration + +:::caution + +The guides below display outdated information no longer relevant for modern Paper servers. They are +kept for historical purposes and people still using older versions. Please note that you will +**not receive support for using outdated versions.** + +::: + +### To Vanilla (pre 26.1) + Because Paper stores worlds slightly differently than Vanilla, manual work is required to migrate. If these steps are not taken, your nether and end will look like they have been reset. Don't worry! Even if this has happened, you haven't lost any data. The Vanilla server just doesn't know where to @@ -81,7 +104,7 @@ find it. Here is a chart to show the difference between how Vanilla and Paper store worlds. | Server Software | Overworld | Nether | End | -| --------------- | --------- | --------------------- | --------------------- | +|-----------------|-----------|-----------------------|-----------------------| | Vanilla | `/world` | `/world/DIM-1` | `/world/DIM1` | | Paper | `/world` | `/world_nether/DIM-1` | `/world_the_end/DIM1` | @@ -106,12 +129,6 @@ case for you, replace `world` with your `level-name` for all steps below. ### To CraftBukkit or Spigot -Paper does **not** support migration to either CraftBukkit or Spigot! While you may find success -(both CraftBukkit and Spigot use the same directory structure as Paper), **do not** reach out for +Paper does **not** support migration to either CraftBukkit or Spigot! +While you may find success, **do not** reach out for support with issues you encounter and note that data loss is possible. - -### To Fabric/Forge - -Because both Fabric and Forge use the same directory structure for world storage as Vanilla, follow -the [Vanilla Migration Guide](#to-vanilla) for this process. Note that neither Fabric nor Forge will -support Paper plugins! You will be required to find replacement mods. diff --git a/src/content/docs/paper/admin/reference/system-properties.md b/src/content/docs/paper/admin/reference/system-properties.md index ebcbecbec..8b03fad4f 100644 --- a/src/content/docs/paper/admin/reference/system-properties.md +++ b/src/content/docs/paper/admin/reference/system-properties.md @@ -4,7 +4,8 @@ description: Documentation for the system properties and environment variables P slug: paper/reference/system-properties --- -These system properties and environment variables can be set when you start your server allowing for the configuration of various settings. +These system properties and environment variables can be set when you start your server allowing for the configuration +of various settings. :::danger[Danger Ahead] @@ -15,7 +16,8 @@ If you are unsure about what a flag does, it is recommended that you **do not us ## How they work -System properties are set when you start your server. For example, if you are using a `.bat` or a `.sh` file to start your server, you can add the system properties to the file. For example: +System properties are set when you start your server. For example, if you are using a `.bat` or a `.sh` file to start +your server, you can add the system properties to the file. For example: ```bash java -Dcom.mojang.eula.agree=true -jar paper.jar @@ -23,12 +25,14 @@ java -Dcom.mojang.eula.agree=true -jar paper.jar :::note -Some of Paper's system properties contain a `.` character in their name. When using PowerShell, these will require wrapping in quotes. +Some of Paper's system properties contain a `.` character in their name. When using PowerShell, these will require +wrapping in quotes. i.e. `"-Dcom.mojang.eula.agree=true"` ::: -Where a `-D` is used to set a system property, and the system property is `com.mojang.eula.agree` with a value of `true`. Otherwise, just add them to the start command. +Where a `-D` is used to set a system property, and the system property is `com.mojang.eula.agree` with a value of +`true`. Otherwise, just add them to the start command. :::note @@ -46,12 +50,20 @@ In most cases, you will not need to use these, unless you are running Paper in a #### paper.playerconnection.keepalive - **default**: `30` -- **description**: Controls how long the player connection will wait before closing when not receiving any keepalives, in seconds. +- **description**: Controls how long the player connection will wait before closing when not receiving any keepalives, + in seconds. #### timings.bypassMax +:::danger[Deprecation] + +Timings are deprecated. Due to that, this flag does not have any effect. + +::: + - **default**: `unset` -- **description**: Allows for bypassing the max amount of data to send to the Aikar's Timings API. Setting this will not permit bypassing the limit unless the API is configured to allow it. +- **description**: Allows for bypassing the max amount of data to send to the Aikar's Timings API. Setting this will not + permit bypassing the limit unless the API is configured to allow it. #### LetMeReload @@ -61,7 +73,8 @@ In most cases, you will not need to use these, unless you are running Paper in a #### paper.disableChannelLimit - **default**: `unset` -- **description**: Disables the plugin channel limit for the server. This will disable the limit of 128 plugin channels per player. +- **description**: Disables the plugin channel limit for the server. This will disable the limit of 128 plugin channels + per player. #### net.kyori.adventure.text.warnWhenLegacyFormattingDetected @@ -71,7 +84,8 @@ In most cases, you will not need to use these, unless you are running Paper in a #### Paper.DisableClassPrioritization - **default**: `unset` -- **description**: Disables the class prioritization system - mostly an issue when failing to relocate or shade properly. +- **description**: Disables the class prioritization system - mostly an issue when failing to relocate or shade + properly. #### Paper.disableFlushConsolidate @@ -106,32 +120,17 @@ In most cases, you will not need to use these, unless you are running Paper in a #### Paper.ignoreWorldDataVersion - **default**: `unset` -- **description**: Ignores the world data version when loading a world. This is not recommended and will likely cause issues. +- **description**: Ignores the world data version when loading a world. This is not recommended and will likely cause + issues. #### Paper.bypassHostCheck - **default**: `unset` - **description**: Bypasses the host pattern matching attempt for the client when connecting to the server. -#### paper.ticklist-warn-on-excessive-delay - -- **default**: `unset` -- **description**: Enables the warning when a tick list is scheduled with an excessive delay. - -#### debug.rewriteForIde - -- **default**: `unset` -- **description**: Removes the NMS revision from the stack trace to allow for easier debugging in IDEs. -It also remaps plugin CB calls to remove the version information. - -#### convertLegacySigns - -- **default**: `unset` -- **description**: Converts legacy signs to the new format. - #### paper.maxCustomChannelName -- **default**: `64` +- **default**: `32767` - **description**: Sets the largest size that a plugin channel name can take. #### Paper.maxSignLength @@ -142,12 +141,20 @@ It also remaps plugin CB calls to remove the version information. #### Paper.minPrecachedDatafixVersion - **default**: `Minecraft world version + 1` -- **description**: If you are expecting to convert a large number of chunks you might consider setting this to only convert from a point onwards. +- **description**: If you are expecting to convert a large number of chunks you might consider setting this to only + convert from a point onwards. #### Paper.WorkerThreadCount - **default**: half of available physical (**not logical**) cores or `1` if 3 or fewer cores are available -- **description**: Sets the number of worker threads to use for chunk loading. See [here](/paper/reference/global-configuration#chunk_system_worker_threads) for more info. +- **description**: Sets the number of worker threads to use for chunk loading. + See [here](/paper/reference/global-configuration#chunk_system_worker_threads) for more info. + +#### Paper.MaxViewDistance + +- **default**: `32` +- **description**: Overrides the maximum view distance of the server. This does not set the current view distance, + it simply modifies the limit. #### Paper.excessiveTELimit @@ -158,21 +165,24 @@ It also remaps plugin CB calls to remove the version information. - **default**: `unset` - **description**: Suppresses the nag message about using `System.out`/`System.err` in a plugin. +- -#### paper.strict-thread-checks +#### io.papermc.paper.sout.nags.timeout -- **default**: `unset` -- **description**: This sets the status of the AsyncCatcher so that it will always log an error if code is not run on the main thread. +- **default**: `5000` +- **description**: Time in milliseconds between nag messages about using `System.out`/`System.err` in a plugin. + A value equal to or less than 0 results in time-based nags being disabled entirely. -#### Paper.skipServerPropertiesComments +#### io.papermc.paper.sout.nags.interval -- **default**: `unset` -- **description**: Skips the comments in the `server.properties` file. +- **default**: `200` +- **description**: Amount of repeated `System.out`/`System.err` uses to wait before nagging again. Gets reset if + the timeout triggers first. A value equal to or less than 0 results in message-based nags being disabled entirely. -#### Paper.debugInvalidSkullProfiles +#### Paper.skipServerPropertiesComments - **default**: `unset` -- **description**: Enables debug logging for invalid skull profiles. This logs any invalid skulls in the world with the appropriate location information. +- **description**: Skips the comments in the `server.properties` file. #### paper.alwaysPrintWarningState @@ -184,108 +194,154 @@ It also remaps plugin CB calls to remove the version information. - **default**: `true` - **description**: Sets whether to parse comments in YAML files by default. -#### paperclip.patchonly: +#### paperclip.patchonly - **default**: `false` -- **description**: If the server is started via the Paperclip patch utility (the default distribution on the downloads page) then this sets whether it should only patch the Vanilla server and download libraries without starting the server. +- **description**: If the server is started via the Paperclip patch utility (the default distribution on the downloads + page) then this sets whether it should only patch the Vanilla server and download libraries without starting the + server. #### Paper.IgnoreJavaVersion - **default**: `false` -- **description**: Allows you to bypass the Java version check. See [here](/paper/faq#unsupported-java-detected-what-do-i-do) for more info. +- **description**: Allows you to bypass the Java version check. + See [here](/paper/faq#unsupported-java-detected-what-do-i-do) for more info. #### paper.disableStartupVersionCheck - **default**: `unset` -- **description**: If set, disables the automatic update checking on startup. See [here](/paper/misc/update-checker) for more info. +- **description**: If set, disables the automatic update checking on startup. See [here](/paper/misc/update-checker) for + more info. #### paper.useLegacyPluginLoading - **default**: `false` -- **description**: Allows cyclic plugin loading. See [here](/paper/reference/paper-plugins#cyclic-plugin-loading) for more info. +- **description**: Allows cyclic plugin loading. See [here](/paper/reference/paper-plugins#cyclic-plugin-loading) for + more info. -#### Paper.DisableCommandConverter +#### paper.disableOldApiSupport - **default**: `false` -- **description**: Disables Paper's automatic upgrading of commands, including items with custom data defined in command blocks and other places that may contain commands, to the new component format introduced in version 1.20.5. +- **description**: Disables plugin compatibility measures that can otherwise result in a considerable delay of class + loading (also known as "Commodore" plugin rewriting). This generally requires all of your plugins to be compiled + against a recent API version. -#### paper.disableOldApiSupport +#### paper.preferSparkPlugin - **default**: `false` -- **description**: Disables plugin compatibility measures that can otherwise result in a considerable delay of class loading (also known as "Commodore" plugin rewriting). This generally requires all of your plugins to be compiled against a recent API version. +- **description**: Whether the bundled spark profiler should be disabled in favor of a standalone plugin. If the spark + plugin is not found, the bundled version will be loaded regardless of the setting, unless it + is [explicitly disabled](/paper/reference/global-configuration#spark_enabled). -#### paper.disablePluginRemapping +#### paper.disableWorldSymlinkValidation - **default**: `false` -- **description**: Disables plugin remapping introduced in 1.20.5. For more information see the [userdev](/paper/dev/userdev#1205-and-beyond) documentation and the official [announcement](https://discord.com/channels/289587909051416579/976631292747735080/1232740079097876570). +- **description**: Disables the folder walk and symlink validation when loading a world. Significantly improves world + loading speed on massive worlds (>1TB). This does not disable symlink verification of datapacks. -#### paper.preferSparkPlugin +#### paper.disableMigrationDelay -- **default**: `false` -- **description**: Whether the bundled spark profiler should be disabled in favor of a standalone plugin. If the spark plugin is not found, the bundled version will be loaded regardless of the setting, unless it is [explicitly disabled](/paper/reference/global-configuration#spark_enabled). +:::caution -#### paper.disableWorldSymlinkValidation +It is not suggested that you use this flag on production servers. Always make sure to back up important data +and know what you are doing. -- **default**: `false` -- **description**: Disables the folder walk and symlink validation when loading a world. Significantly improves world loading speed on massive worlds (>1TB). This does not disable symlink verification of datapacks. +::: + +- **default**: `unset` +- **description**: Disables the 30-second delay before starting a world migration. #### paper.disableGameRuleLimits +:::note + +Whilst this system property exists, its associated code is not currently referenced anywhere, +resulting in this property not having any effect. + +::: + - **default**: `false` - **description**: Disables limits on certain game rule values, e.g. `minecartMaxSpeed` and `spawnChunkRadius`. #### minecraft.api.session.host - **default**: `https://sessionserver.mojang.com` -- **description**: Allows specifying of a custom session server URL e.g. for caching. [`minecraft.api.services.host`](#minecraftapiserviceshost) needs to be set too for this to apply. +- **description**: Allows specifying of a custom session server URL e.g. for caching. [ + `minecraft.api.services.host`](#minecraftapiserviceshost) needs to be set too for this to apply. #### minecraft.api.services.host - **default**: `https://api.minecraftservices.com` -- **description**: Allows specifying of a custom services API URL e.g. for caching. [`minecraft.api.session.host`](#minecraftapisessionhost) needs to be set too for this to apply. +- **description**: Allows specifying of a custom services API URL e.g. for caching. [ + `minecraft.api.session.host`](#minecraftapisessionhost) needs to be set too for this to apply. #### com.mojang.eula.agree - **default**: `false` -- **description**: Setting this to true indicates that you have agreed with [Mojang's EULA](https://aka.ms/MinecraftEULA), skipping `eula.txt` checks. +- **description**: Setting this to true indicates that you have agreed + with [Mojang's EULA](https://aka.ms/MinecraftEULA), skipping `eula.txt` checks. #### org.bukkit.plugin.java.LibraryLoader.centralURL - **default**: `https://maven-central.storage-download.googleapis.com/maven2` -- **description**: Sets the default central repository URL, from which plugins' dependencies declared using the [`libraries`](/paper/dev/plugin-yml#libraries) plugin.yml field are resolved. This is overridden by the [`PAPER_DEFAULT_CENTRAL_REPOSITORY`](#paper_default_central_repository) environment variable, if it is set. +- **description**: Sets the default central repository URL, from which plugins' dependencies declared using the [ + `libraries`](/paper/dev/plugin-yml#libraries) plugin.yml field are resolved. This is overridden by the [ + `PAPER_DEFAULT_CENTRAL_REPOSITORY`](#paper_default_central_repository) environment variable, if it is set. :::caution -If you wish to configure this with Maven Central, use a mirror, as using Maven Central directly as a CDN is against the Maven Central Terms of Service, and you may hit rate limits. +If you wish to configure this with Maven Central, use a mirror, as using Maven Central directly as a CDN is against the +Maven Central Terms of Service, and you may hit rate limits. -By default, this uses Google's NA mirror of Maven Central. You may also use region-specific mirrors listed [here](https://storage-download.googleapis.com/maven-central/index.html). +By default, this uses Google's NA mirror of Maven Central. You may also use region-specific mirrors +listed [here](https://storage-download.googleapis.com/maven-central/index.html). ::: #### paper.debugEntitiesWithInvalidIds + - **default**: `false` -- **description**: Enables logging the full entity NBT when an entity with a missing or otherwise invalid entity id is attempted to be loaded. (Whenever 'Skipping Entity with id' is logged to the console.) +- **description**: Enables logging the full entity NBT when an entity with a missing or otherwise invalid entity id is + attempted to be loaded. (Whenever 'Skipping Entity with id' is logged to the console.) #### paper.maxChatCommandInputSize + - **default**: `256` - **description**: The maximum length a chat command may have. A Vanilla client cannot send more than 256 characters. +#### management.tls.keystore.password + +- **default**: `unset` +- **description**: Overrides the value set for `management-server-tls-keystore-password` in `server.properties`. + ## List of environment variables #### PAPER_VELOCITY_SECRET - **default**: `unset` -- **description**: Overrides the [`proxies.velocity.secret`](/paper/reference/global-configuration#proxies_velocity_secret) global configuration option. +- **description**: Overrides the [ + `proxies.velocity.secret`](/paper/reference/global-configuration#proxies_velocity_secret) global configuration option. #### PAPER_DEFAULT_CENTRAL_REPOSITORY - **default**: `https://maven-central.storage-download.googleapis.com/maven2` -- **description**: Sets the default central repository URL, from which plugins' dependencies declared using the [`libraries`](/paper/dev/plugin-yml#libraries) plugin.yml field are resolved. This overrides the [`org.bukkit.plugin.java.LibraryLoader.centralURL`](#orgbukkitpluginjavalibraryloadercentralurl) system property, if it is set. +- **description**: Sets the default central repository URL, from which plugins' dependencies declared using the [ + `libraries`](/paper/dev/plugin-yml#libraries) plugin.yml field are resolved. This overrides the [ + `org.bukkit.plugin.java.LibraryLoader.centralURL`](#orgbukkitpluginjavalibraryloadercentralurl) system property, if it + is set. + +#### MINECRAFT_MANAGEMENT_TLS_KEYSTORE_PASSWORD + +- **default**: `unset` +- **description**: Overrides the value set for `management-server-tls-keystore-password` in `server.properties`. This + take precedence over the `management.tls.keystore.password` system property. :::caution -If you wish to configure this with Maven Central, use a mirror, as using Maven Central directly as a CDN is against the Maven Central Terms of Service, and you may hit rate limits. +If you wish to configure this with Maven Central, use a mirror, as using Maven Central directly as a CDN is against the +Maven Central Terms of Service, and you may hit rate limits. -By default, this uses Google's NA mirror of Maven Central. You may also use region-specific mirrors listed [here](https://storage-download.googleapis.com/maven-central/index.html). +By default, this uses Google's NA mirror of Maven Central. You may also use region-specific mirrors +listed [here](https://storage-download.googleapis.com/maven-central/index.html). ::: diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-attributes.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-attributes.mp4 deleted file mode 100644 index 8dc0c9e56..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-attributes.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-banner-pattern.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-banner-pattern.mp4 deleted file mode 100644 index c8ea8de4a..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-banner-pattern.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-biome.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-biome.mp4 deleted file mode 100644 index da5a19d9b..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-biome.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-block.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-block.mp4 deleted file mode 100644 index e0c3916a5..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-block.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-cat-variant.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-cat-variant.mp4 deleted file mode 100644 index 7ca007baf..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-cat-variant.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-chicken-variant.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-chicken-variant.mp4 deleted file mode 100644 index d47c13089..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-chicken-variant.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-cow-variant.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-cow-variant.mp4 deleted file mode 100644 index 9b6854fe3..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-cow-variant.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-damage-type.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-damage-type.mp4 deleted file mode 100644 index 7a7343c1d..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-damage-type.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-data-component-type.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-data-component-type.mp4 deleted file mode 100644 index 0c7fcc05c..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-data-component-type.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-dialog.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-dialog.mp4 deleted file mode 100644 index 166f9fb67..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-dialog.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-enchantment.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-enchantment.mp4 deleted file mode 100644 index a97b45595..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-enchantment.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-entity-type.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-entity-type.mp4 deleted file mode 100644 index d3f18394c..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-entity-type.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-fluid.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-fluid.mp4 deleted file mode 100644 index 9429144da..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-fluid.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-frog-variant.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-frog-variant.mp4 deleted file mode 100644 index 5ac199f73..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-frog-variant.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-game-event.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-game-event.mp4 deleted file mode 100644 index d5184925e..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-game-event.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-instrument.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-instrument.mp4 deleted file mode 100644 index d32e36be6..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-instrument.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-jukebox-song.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-jukebox-song.mp4 deleted file mode 100644 index ef30eaf07..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-jukebox-song.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-map-decoration-type.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-map-decoration-type.mp4 deleted file mode 100644 index 4428ee2fd..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-map-decoration-type.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-memory-module-type.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-memory-module-type.mp4 deleted file mode 100644 index 0aa7f89f2..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-memory-module-type.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-menu.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-menu.mp4 deleted file mode 100644 index 2b1c89132..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-menu.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-mob-effect.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-mob-effect.mp4 deleted file mode 100644 index 846948784..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-mob-effect.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-painting-variant.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-painting-variant.mp4 deleted file mode 100644 index 5ffdbe764..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-painting-variant.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-particle-type.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-particle-type.mp4 deleted file mode 100644 index 43f3eb1bc..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-particle-type.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-pig-variant.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-pig-variant.mp4 deleted file mode 100644 index a357ae47b..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-pig-variant.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-potion.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-potion.mp4 deleted file mode 100644 index 95f39b4f1..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-potion.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-sound-event.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-sound-event.mp4 deleted file mode 100644 index 254ed7318..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-sound-event.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-structure-type.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-structure-type.mp4 deleted file mode 100644 index 483adb589..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-structure-type.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-trim-material.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-trim-material.mp4 deleted file mode 100644 index 054f149ce..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-trim-material.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-trim-pattern.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-trim-pattern.mp4 deleted file mode 100644 index 03c7e312f..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-trim-pattern.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-villager-profession.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-villager-profession.mp4 deleted file mode 100644 index 28319039d..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-villager-profession.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-villager-type.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-villager-type.mp4 deleted file mode 100644 index c8f21913d..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-villager-type.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-wolf-sound-variant.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-wolf-sound-variant.mp4 deleted file mode 100644 index 042f132a3..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-wolf-sound-variant.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-wolf-variant.mp4 b/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-wolf-variant.mp4 deleted file mode 100644 index 786e54752..000000000 Binary files a/src/content/docs/paper/dev/api/command-api/arguments/assets/registry-arguments/resource-wolf-variant.mp4 and /dev/null differ diff --git a/src/content/docs/paper/dev/api/command-api/arguments/registry.mdx b/src/content/docs/paper/dev/api/command-api/arguments/registry.mdx index d781aada3..26f7288c3 100755 --- a/src/content/docs/paper/dev/api/command-api/arguments/registry.mdx +++ b/src/content/docs/paper/dev/api/command-api/arguments/registry.mdx @@ -2,44 +2,10 @@ title: Registry description: Documentation for arguments retrieving registry values. slug: paper/dev/command-api/arguments/registry -version: 1.21.5 +version: 26.1.1 --- -import ResourceAttributes from "./assets/registry-arguments/resource-attributes.mp4"; -import ResourceBannerPattern from "./assets/registry-arguments/resource-banner-pattern.mp4"; -import ResourceBiome from "./assets/registry-arguments/resource-biome.mp4"; -import ResourceBlock from "./assets/registry-arguments/resource-block.mp4"; -import ResourceCatVariant from "./assets/registry-arguments/resource-cat-variant.mp4"; -import ResourceChickenVariant from "./assets/registry-arguments/resource-chicken-variant.mp4"; -import ResourceCowVariant from "./assets/registry-arguments/resource-cow-variant.mp4"; -import ResourceDamageType from "./assets/registry-arguments/resource-damage-type.mp4"; -import ResourceDataComponentType from "./assets/registry-arguments/resource-data-component-type.mp4"; -import ResourceDialog from "./assets/registry-arguments/resource-dialog.mp4"; -import ResourceEnchantment from "./assets/registry-arguments/resource-enchantment.mp4"; -import ResourceEntityType from "./assets/registry-arguments/resource-entity-type.mp4"; -import ResourceFluid from "./assets/registry-arguments/resource-fluid.mp4"; -import ResourceFrogVariant from "./assets/registry-arguments/resource-frog-variant.mp4"; -import ResourceGameEvent from "./assets/registry-arguments/resource-game-event.mp4"; -import ResourceInstrument from "./assets/registry-arguments/resource-instrument.mp4"; import ResourceItem from "./assets/registry-arguments/resource-item.mp4"; -import ResourceJukeboxSong from "./assets/registry-arguments/resource-jukebox-song.mp4"; -import ResourceMapDecorationType from "./assets/registry-arguments/resource-map-decoration-type.mp4"; -import ResourceMemoryModuleType from "./assets/registry-arguments/resource-memory-module-type.mp4"; -import ResourceMenu from "./assets/registry-arguments/resource-menu.mp4"; -import ResourceMobEffect from "./assets/registry-arguments/resource-mob-effect.mp4"; -import ResourcePaintingVariant from "./assets/registry-arguments/resource-painting-variant.mp4"; -import ResourceParticleType from "./assets/registry-arguments/resource-particle-type.mp4"; -import ResourcePigVariant from "./assets/registry-arguments/resource-pig-variant.mp4"; -import ResourcePotion from "./assets/registry-arguments/resource-potion.mp4"; -import ResourceSoundEvent from "./assets/registry-arguments/resource-sound-event.mp4"; -import ResourceStructureType from "./assets/registry-arguments/resource-structure-type.mp4"; -import ResourceTrimMaterial from "./assets/registry-arguments/resource-trim-material.mp4"; -import ResourceTrimPattern from "./assets/registry-arguments/resource-trim-pattern.mp4"; -import ResourceVillagerProfession from "./assets/registry-arguments/resource-villager-profession.mp4"; -import ResourceVillagerType from "./assets/registry-arguments/resource-villager-type.mp4"; -import ResourceWolfSoundVariant from "./assets/registry-arguments/resource-wolf-sound-variant.mp4"; -import ResourceWolfVariant from "./assets/registry-arguments/resource-wolf-variant.mp4"; - import ResourceKeyItem from "./assets/registry-arguments/resourcekey-item.mp4"; import EnchantsRegistry from "./assets/registry-arguments/enchants-registry.mp4"; @@ -101,8 +67,8 @@ Here is how it looks in-game: :::caution -There are certain edge-cases, where this argument, due to missing registries on the client, will cause a **Network Protocol Error**. -Basically, the only argument where this is the case right now is with the `STRUCTURE` registry key. +There are certain edge-cases where this argument, due to missing registries on the client, will cause a **Network Protocol Error**. +Currently, the only resource where this is the case, is with the `STRUCTURE` registry key. ```java // Registering this command will cause clients to not be able to connect to the server. @@ -111,7 +77,7 @@ final LiteralCommandNode invalidRegistryArgument = Commands. .build(); ``` -Due to this fact, it is advised to only use the `STRUCTURE` registry key argument with a `resourceKey(...)` argument type and parse the values yourself. +Due to this fact, it is advised to only use the `STRUCTURE` registry key with a `resourceKey(...)` argument type and parse the values yourself. ::: @@ -120,10 +86,10 @@ For the client, there is barely any difference between the using `ArgumentTypes. using `ArgumentTypes.resourceKey` does not provide **error checking**. We can visualize this using `RegistryKey.ITEM`. Here is the tab completion when using `ArgumentTypes.resource(RegistryKey.ITEM)`: -