Skip to content

Commit

Permalink
Document vanilla breaking changes
Browse files Browse the repository at this point in the history
Co-authored-by: Joseph Burton <[email protected]>
  • Loading branch information
Leguan16 and Earthcomputer committed Jun 3, 2024
1 parent acebc7d commit b740d57
Show file tree
Hide file tree
Showing 5 changed files with 169 additions and 0 deletions.
61 changes: 61 additions & 0 deletions config-specs/paper/vanilla/paper-global.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
commands:
fix-target-selector-tag-completion:
default: "false"
suggest-player-names-when-null-tab-completions:
default: "false"
time-command-affects-all-worlds:
default: "true"
item-validation:
book:
author:
default: "2147483647"
title:
default: "2147483647"
page:
default: "2147483647"
display-name:
default: "2147483647"
book-size:
page-max:
default: "2147483647"
total-multiplier:
default: "1.0"
lore-line:
default: "2147483647"
resolve-selectors-in-books:
default: "true"
misc:
max-joins-per-tick:
default: "2147483647"
fix-entity-position-desync:
default: "false"
packet-limiter:
default: "<expand>"
description: >-
Vanilla has no packet limit by default (to disable it for all practical purposes set `all-packets.interval` to 0.000001 and `all-packets.max-packet-rate` to 999999.0,
but it's better for security to set more specific limits). It's not feasible to reach Paper's default packet limit with a vanilla client.
This defaults to 500 packets per 7 seconds. If you want you can override this setting for specific packets.
spam-limiter:
default: "<expand>"
description: >-
You may want to look into this for fast crafting. Vanilla has no spam limit (set the limits to 2147483647 for this), although it's not feasible to reach Paper's default spam limit with a vanilla client.
unsupported-settings:
inline-docs-warning:
title: "Unsupported Settings"
message: >-
The following settings are provided by Paper but are not officially
supported. Use them at your own risk and they may be removed at any time.
allow-headless-pistons:
default: "true"
allow-permanent-block-break-exploits:
default: "true"
allow-piston-duplication:
default: "true"
perform-username-validation:
default: "false"
allow-grindstone-overstacking:
default: "true"
allow-unsafe-end-portal-teleportation:
default: "true"
allow-tripwire-disarming-exploits:
default: "true"
45 changes: 45 additions & 0 deletions config-specs/paper/vanilla/paper-world-defaults.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
chunks:
delay-chunk-unloads-by:
default: "0s"
max-auto-save-chunks-per-tick:
default: "200"
collisions:
allow-player-cramming-damage:
default: "true"
max-entity-collisions:
default: "2147483647"
description: >-
The actual default value would be infinity. 2147483647 is the closest to infinity.
entities:
behavior:
phantoms-do-not-spawn-on-creative-players:
default: "false"
phantoms-only-attack-insomniacs:
default: "false"
spawning:
count-all-mobs-for-spawning:
default: "true"
per-player-mob-spawns:
default: "false"
duplicate-uuid:
mode:
default: "NOTHING"
filter-bad-tile-entity-nbt-from-falling-blocks:
default: "false"
filtered-entity-tag-nbt-paths:
default: "<expand>"
description: "The default value is: []"
fixes:
disable-unloaded-chunk-enderpearl-exploit:
default: "false"
hopper:
cooldown-when-full:
default: "false"
maps:
item-frame-cursor-limit:
default: "2147483647"
unsupported-settings:
disable-world-ticking-when-empty:
default: "true"
fix-invulnerable-end-crystal-exploit:
default: "false"
24 changes: 24 additions & 0 deletions config-specs/paper/vanilla/spigot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
world-settings:
default:
merge-radius:
item:
default: "0.5"
exp:
default: "0.5"
entity-activation-range:
animals:
default: "0"
monsters:
default: "0"
raiders:
default: "0"
misc:
default: "0"
water:
default: "0"
villagers:
default: "0"
flying-monsters:
default: "0"
max-tnt-per-tick:
default: "0"
1 change: 1 addition & 0 deletions config/sidebar.paper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ const paper: SidebarsConfig = {
"admin/how-to/update",
"admin/how-to/aikars-flags",
"admin/how-to/anti-xray",
"admin/how-to/get-to-vanilla",
],
},
{
Expand Down
38 changes: 38 additions & 0 deletions docs/paper/admin/how-to/get-to-vanilla.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
slug: /vanilla
description: This page lists all changes that result in a different experience than vanilla.
---

# Hot to get a vanilla experience

import React from 'react';
import ConfigDocBlock from '@site/src/components/config/ConfigDocBlock';
import VanillaWorldDefaults from '!!raw-loader!@site/config-specs/paper/vanilla/paper-world-defaults.yml'
import VanillaGlobalDefaults from '!!raw-loader!@site/config-specs/paper/vanilla/paper-global.yml'
import SpigotChanges from '!!raw-loader!@site/config-specs/paper/vanilla/spigot.yml'

Due to the way how the Bukkit platform is built and because it fixes vanilla bugs, the gameplay experience between Vanilla and Paper can lead to inconsistencies.
While some people might not notice those inconsistencies, especially tech players might have troubles getting their machines to work like they should.
This page aims to provide a starting point for players, who want to get as close to vanilla as possible.
This page is inspired by [earthcomputer's collection](https://gist.github.com/Earthcomputer/2296da33b8cc91dba81b48103c0e1fe3) of Vanilla breaking changes.

:::warning

This guide will only help you to get as close to vanilla as possible.
Unfortunately, it currently is not possible to get a 100% Vanilla experience in Paper.

:::

## paper-world-defaults.yml
<ConfigDocBlock data={VanillaWorldDefaults}/>

## paper-global.yml
<ConfigDocBlock data={VanillaGlobalDefaults}/>

## spigot.yml
<ConfigDocBlock data={SpigotChanges}/>

## Further considerations

* `settings.timeout-time` in `spigot.yml` mirrors the watchdog setting in the `server.properties` file. Keep in mind that the `spigot.yml` setting is in seconds while the default setting is in milliseconds.
* `watchdog` in `paper-global.yml` controls the watchdog early warning. While this is only a warning you might want to disable it as it can get annoying.

0 comments on commit b740d57

Please sign in to comment.