docs
docs copied to clipboard
Add page documenting gameplay changes and how to reset them
This is a request to list all (major) changes PaperMC makes to gameplay on top of Spigot (i.e. that players would notice versus a vanilla server or that break adventure maps/farms made for vanilla servers) that are enabled by default. I have looked through the docs and while these are listed in the configuration page, it would be very, very helpful to have these listed separately, for example, on the FAQ page (https://paper.readthedocs.io/en/latest/about/faq.html).
This way, instead of looking though the configuration docs/file and figuring out if each setting should be true or false (basically having to read the all the config options and debate if they are different from the vanilla behaviour), it would be a simple glance at the FAQ to figure out which setting(s) to change.
Not only would this benefit first-time setup, but it would also benefit in the case people (like many) have not updated in a while and notice a new build of PaperMC made a gameplay change so they now have to go through several (possibly lots of) commit messages to track down what has changed. In fact, this issue was prompted by the "Don't apply cramming damage to players" patch (https://github.com/PaperMC/Paper/pull/5903) which changes gameplay by default but can be hard to notice, especially as time passes and this build/commit message is not displayed on the downloads page anymore.
A list of the changes I can think of that should be listed:
- The various fixed duplication glitches
- Disabled breaking unbreakable blocks (+headless pistons)
- save-empty-scoreboard-teams
- use-vanilla-world-scoreboard-name-coloring
- allow-non-player-entities-on-scoreboards
- iron-golems-can-spawn-in-air
- disable-unloaded-chunk-enderpearl-exploit
- fix-curing-zombie-villager-discount-exploit
- fix-invulnerable-end-crystal-exploit
- allow-player-cramming-damage
Note that the above list is probably incomplete because (and this illustrates my point) I am not 100% sure if any of the other settings can impact gameplay/break some adventure maps/farms. Also, just to be clear, I am not asking for any of these settings to be removed/changed back to the setting that would match vanilla by default, but to simply point them out in a single location (the FAQ page).
This would also help clear up the confusion that some people have which sometimes leads to server owners choosing Spigot because "Paper changes vanilla too much" but they are not sure exactly what or what setting to change.
TL;DR - please list all the (major) changes PaperMC makes to vanilla with the default configuration in the FAQ.
Would also need to keep track of every single Bukkit and Spigot change. Bukkit also changes vanilla stuff in ways that aren't predictable.
Would also need to keep track of every single Bukkit and Spigot change.
In an ideal world, it would be great if all those changes were listed, but yes, I know what you mean in that it isn't feasible to keep track of all those changes and it's also not the responsibility of the Paper team.
So I see your point (please correct me if I am misunderstanding) of "this list would not encompass all changes to vanilla since Paper is built on top of Bukkit & Spigot which have their own changes" and I agree with it. However, I still believe it would be very useful to have a list of changes Paper makes on top of the Bukkit & Spigot changes.
In other words, "what elements of gameplay would be different on a Paper server compared to a Spigot server, both with default configurations".
Edit: I've edited the first sentence of my original message to clarify this (added "on top of Spigot").
Here's the list I could find (but IDK how I would put it in the docs, because I don't know what style guides exist, etc.): In progress (9/30 done)
World settings
should-remove-dragonis set tofalse, but istrueon Vanillamap-item-frame-cursor-limitis set to128, but is infinite on Vanilla (set to2147483647to restore Vanilla functionality as closely as possible) (see note 2)game-mechanics.disable-unloaded-chunk-enderpearl-exploitis set totrue, but isfalseon Vanilladuplicate-uuid-resolveris set tosaferegen, but isnothingon Vanilla (see note 3)light-queue-sizeis set to20, but is5on Vanillaallow-player-cramming-damageis set tofalse, but istrueon Vanillafilter-nbt-data-from-spawn-eggs-and-relatedis set totrue, but isfalseon Vanillagame-mechanics.fix-curing-zombie-villager-discount-exploitis set totrue, but isfalseon Vanillamax-entity-collisionsis set to8, but is infinite on Vanilla (set to2147483647to restore Vanilla functionality as closely as possible)count-all-mobs-for-spawningis set tofalse, but istrueon Vanillaallow-non-player-entities-on-scoreboardsis set tofalse, but istrueon Vanillause-vanilla-world-scoreboard-name-coloringis interesting. It is set tofalseon Paper and Spigot, but istrueon Vanillaphantoms-do-not-spawn-on-creative-playersis set totrue, but isfalseon Vanillaphantoms-only-attack-insomniacsis set totrue, but isfalseon Vanillaseed-based-feature-searchis set totrue, but isfalseon Vanilla (see notes 4 and 5)unsupported-settings.fix-invulnerable-end-crystal-exploitis set totrue, but isfalseon Vanilladelay-chunk-unloads-byis set to10s, but is0on Vanilla
Additional notes
- I've found that the default for
iron-golems-can-spawn-in-airactually is not changed from Vanilla (at least in my research) map-item-frame-cursor-limitshould not be changed to anything high in my opinion, as it fixes a critical exploit, as detailed in this FitMC video.duplicate-uuid-resolverfixes some weird bugs, and should not be disabled in my opinion (it's disabled when set tonothingorwarn). See https://github.com/PaperMC/Paper/blob/master/patches/server/0353-Duplicate-UUID-Resolve-Option.patch for more info.seed-based-feature-searchis recommended to be set totrue, as it affects nothing, but improves performanceseed-based-feature-search-loads-chunksis not present on Vanilla, due to howseed-based-feature-searchworks. However, setting this tofalsewill makeseed-based-feature-searchnot behave Vanilla
I don't think documenting the differences to spigot is relevant. we want to document the changes needed to make it behave as closely as possible to vanilla. it will however, never be perfect, by design, we aren't vanilla.
looking at the changes you found, you actually did that, so I guess just remove references to spigot and say vanilla instead.
The docs only cover 1.17, and we generally don't support old versions, so for inclusion here only the latest version.
Regarding style, we currently don't have a super set style guide. Even within one page the style changes a decent bit at points (looking at the configuration page). if you would like to PR something for this, really, just look at the other pages and have it decently match. This is something I hope to standardize more in the future. A page like this would go under the server section. If you don't want to PR it, that's fine as well. I'm happy to do that for you as you're already doing the work of compiling a list.
Another thing to consider, and part of why having a section like this is a lot harder than it seems, is a lot of changes made have no config options, are inherited from upstream, or are bugs. However, just having the config changes documented is more than a good start.
Thanks for the encouragement 😄
I'd also love this, my primary complaint over recommending people using paper by default over spigot, is the large amount of changes + default configs that enact changes to vanilla by default.
One way I propose that this information could be conveyed, is on the configuration section, for each option,
- show the default (as it's doing)
- the paper recommendation (this is probably the default, so may not need to be included)
- The value that is most like vanilla.
The other major thing that the config options need, is the common reason or justification of why someone would want to change the setting.
e.g.
disable-sprint-interruption-on-attack: false
As a user I immediately understand the implications of changing this value, but I don't immediately know
- What the vanilla behavior is and
- Whether it's designed to fix a common exploit that hack clients use, or if it's just a 'nice to have' combat change that people prefer.
That information is critical in making an informed decision about whether to use the vanilla behavior, or to correct it.
I made a list of differences, along with the changed config files: https://gist.github.com/Earthcomputer/2296da33b8cc91dba81b48103c0e1fe3
I made a list of differences, along with the changed config files:
https://gist.github.com/Earthcomputer/2296da33b8cc91dba81b48103c0e1fe3
Incredible thank you. I will modify my PR the upcoming days.