public

Paper vs Vanilla Minecraft

Introduction / Background Paper is a performance focused Minecraft server software that aims to provide the best multiplayer experience while also fixes many long standing exploits and bugs that exist in

24 days ago

Latest Post Minecraft Basic Troubleshooting Steps for [Nether Piglin Farm] by EterNity public

Introduction / Background

Paper is a performance focused Minecraft server software that aims to provide the best multiplayer experience while also fixes many long standing exploits and bugs that exist in Vanilla/Spigot Minecraft. Most notably, Paper has a completely rewritten light engine called Starlight and recently a brand new chunk system as an initial step toward a true parallel chunk ticking in the planned future.

As Paper gains more popularity, the differences between Paper and Vanilla gameplay has been brought up many times, this article is written to document the technical differences and the minor gameplay tweaks that server owners may wish to adjust to better fit the need of their communities.


Last updated: November 29th, 2022 for Paper version 1.19.2


Table of Contents

Prerequisites
General Gameplays
.
View Distance
Entity Tracking Range
General Spawning
Portal Based Farms
Chunk Loaders
Iron Farms
Redstones
TNT, Carpet, and Rail Duplication
Bedrock and End Portal block Breaking
Gravity and Sand block Duplication
.
Advanced Gameplays
.
Villager Discount Exploit
Ender Pearl Stasis Chamber
Void Trading
RNG Manipulation
Light Suppression
.
Closing Notes

PrerequisitesπŸ”—

In the following section, it will cover the major differences between Vanilla Minecraft and Paper. The focus of this post is not to optimize the server further; rather, it focus on preserving Vanilla gameplay experience with some cost of server performance. Essentially, an unoptimizing guide!

The sections will be categorized into general and advanced gameplay changes. It may be beneficial for majority of small servers to go through the general gameplay section and adjust as needed; for advanced category, it will list several gameplay changes that may be considered as expliots by most communities. Please take great consideration of the possible negative side effects of those changes and adjust as needed.

πŸ˜…
According to bStats, an average Minecraft server has roughly 0.58 average players online.

The vest majority of the Minecraft servers serve small-scale community and providing a better gameplay experience may be a stronger focus than the common lag reductions measures.


General GameplaysπŸ”—

View Distance

View distance determines how far away terrain is displayed to players. Some players may prefer to see further than the default 10 chunks and here is where Paper shines! Unlike Vanilla Minecraft where chunk data is always sent regardless of client perference, Paper would respect the client config on how much chunks should be sent, this not only saves the server resource but also preventing perfornace issue on the client as well.

Depends on the size of your server, you may opt to increase view distance from 10 up to a maximum of 32 if you do wish to push the limit. Keep it in mind that each additional numerial increase will result in exponential growth with how much chunks a player loads. A more detailed info on view distance can be found here.

πŸ’‘
Alternatively, you can also utilize client side fabric mod to cache terrain locally without the increased workload on the server.

You can read more about client optimization mods here.


Entity-Tracking-Range

Perhaps one of the most noticiable difference between Vanilla single player and Paper server, the entity tracking range on Paper servers is slightly lower by default in order to reduce server workloads.

The default entity distance is 160 blocks in Vanilla single player assuming the entity distance scroll is set to 100%

The relative config options can be found in spigot.yml

entity-tracking-range:
  players: 48
  animals: 48
  monsters: 48
  misc: 32
  other: 64

For a small server with sufficient hardware to support it, it may be benefitial to increase entity-tracking-range for players category so players can see each other more than 48 blocks away to boost gameplay experience. The Value is in blocks and if you do decide to increase them, please keep it at maximum equal or below (simulation distance-1)x16.

Bumping any other category may impose a heavy performance hit to your server; making small adjustments accordingly and observe how well your server is handling the increased workload will be the best approach.

πŸ’‘
It may be a good idea to bump the value of entity-activation-range accordingly with the increasing entity-activation-range so entity that are ticked at reduced rate will not be too noticeable to your players.

For more advanced information, please visit the relevant section on the server optimization guide


General Spawning

The default spawning value in Paper generally follows closely to Vanilla default; however, there are few things that our upstream spigot/CraftBukkit breaks that has not been fixed on Paper.

It is worth playing around the default value and find a sweet spot for your server. The default value is absurdly high and majority of the entities may spawn out of sight of a player. Please consult the server optimization guide for further details

Mob farm efficiency may decrease drastically on multiplayer server due to how mobspawning is determined in Minecraft. Paper does attempts to mitigate this issue with per-player-mob-spawns located in paper-world-defaults.yml.

Vanilla mob spawning is not only complicated, but also inherently flawed on multiplayer servers.

For example, we have two players in the Nether dimension - Player A is AFKing high up on a Nether ceiling Piglin farm while player B is just chilling on Nether Waste biome.

Even though the spawn attempts are made on all loaded chunks around both players; a vast majority of the successful mob-spawn attempts will end up around the player with the most favorable spawning conditions.

In this case, player B will be getting most of the mobs while player A gets a little simply because there are more spawnable chunks around player B overall.


Portal Based Farm may not function properly

As the title indicates, due to an upstream behavioral change, mobs will instantly despawn when going through a portal without a player on the other side.

Certain Vanilla farm designs utilize portal to bypass the world spawn limits (by transfering mob temporary to the Nether/End to bump down the mob cap in overworld) in order to increase the yeild on the farm. On Paper, these types of farm will not function properly without a player in both side of the portals. Currently there is no fix yet; below is a post on issue tracker if you'd like to subscribe for future updates.

Mobs despawn when going through portal due to CB ticking all worlds Β· Issue #6456 Β· PaperMC/Paper
Expected behavior I expected a wither skeleton to come through the nether portal Observed/Actual behavior So I went to the farm and a wither skeleton spawned, so I saw it went into the nether porta...

Chunk Loader may not work as expected

Due to the above mentioned issue on upstream CB, the chunk loader may not work as expected. Some chunk loader design does keep the chunk loaded in a 3x3 area; however, entites would still despawn when crossing through portal into a dimension without a player within range, crops may not grow, and redstone contraptions will not be working properly.

Below is an example of such chunk loader...


Design an Iron Farm that works in your server

There are many ways to approach in designing an Iron Farms and not all of them will work efficiently in your server; some of them may not even work at all. Let it be a direct impact of the two behavioral changes listed above or a side effect of server optimizations, generally speaking, Iron Farms do work on a Paper server. The issue is only amplified by clueless copycat builders that blindly copy a build from Youtube without making necessary adjustments such as the shortened activation ranges, simulation distances, and dozens of other factors. I suggest going through this sections and then ensure you've meet all requirement for villagers to spawn an Iron Golem quickly and reliably.

Here is a very insightful videos going in depth on several design philosophy and its efficiency. It should grant you useful tips and hopefully get your iron farm to work on a Paper server!


Redstones Implementations

Paper provides two additional optimized redstone implementations for server owner to choice from. You can find the options in config/paper-world-defaults.yml under redstone-implementation. The default here is vanilla; however alternate-current is recommended here as it is more optimized and mostly preserves the Vanilla behavior in my personal experience.

If you are building large redstone contraptions with lots of minecarts & rails that relies on hopper transfers, it may be worth setting misc to -1 on entity-activation-range in spigot.yml

πŸ’‘
Majority of Redstone contraptions work fine on Paper server. It may need some tweaking on tick-rates in some time-sensitive builds but it isn't impossible to achieve. 

TNT, Carpet, and Rail duping requires your manual configuation

Paper fixes every and all publicly known duplication glitches exist in Vanilla Minecraft which includes the famous TNT/carpet duper. If you would like to restore such functionality, please toggle allow-piston-duplication to true in config/paper-global.yml


Bedrock and End portal block breaking requires your manual configuation.

To allow permanent blocks destruction such as bedrocks and end portal blocks, toggle allow-permanent-block-break-exploits to true in config/paper-global.yml.


Gravity and Sand block duplication

To re-enable gravity/sand block duplication, please install this community made plugin GravityControl.

If you need additional help using this plugin, please join the support Discord for help.

GravityControl - Sand Dupe Enabler for Paper Servers
Paper plugin to enable sand duping. WorldGuard integration, configurable per-world per-block.

Advanced GameplaysπŸ”—

The exploits here completely break the sandbox game as they often enable players to gain unlimited resoruce with little to no efforts required, you may as well give your players creative modes. Some exploits can be re-enabled by config options provided by Paper; however, due to risk and complexity of certain exploits, not all of them can be reverted this way.

If you are running a highly technical server, please consider using Vanilla or Fabric as no technical server uses anything Craftbukkit/Spigot/Paper due to behavioral changes.

Zombie Villager Curing Discount Exploit

By default, Paper fixes the exploit that allows player to stack rewards from curing zombie villagers repeatedly.

This can be reverted by toggling fix-curing-zombie-villager-discount-exploit to false in paper-world-defaults.yml.


Ender Pearl Stasis Chamber

By default, Paper fixes the exploit that enable Enderpearl to stay suspended in air when the chunk unloads.

This can be reverted by toggling disable-unloaded-chunk-enderpearl-exploit to false in paper-world-defaults.yml.


Void Trading

This exploit is fixed by Paper without ability to re-enable. If you would like to granted your players unlimited resources, you can either give them creative mode or set up an NPC with a shop plugin and provides unlimited trades that way. Alternatively, you can customize wandering traders with this plugin and provide an acutal diverse gameplay instead of allowing your players to gain unlimited free itmes.


RNG manipulation

The technical details is a bit complicated but bascially RNG manipulation enable the players the ability to use program assisted method to get desireable outcomes. This is a game breaking exploit and should not really be possible; however, if you want to re-enable this exploit, you can use the plugin listed below.

https://modrinth.com/plugin/randomcontrol

Below is a client mod released by Earthcomputer to automate the RNG manipulation.

https://github.com/Earthcomputer/clientcommands/releases

πŸ’‘
Currently, RandomControl plugin does NOT work with fishing manipulation.

Light Suppression

Light Supression exploits the slowness of Vanilla Minecraft light updates to supress/skip the light/block update to achieve varies effects. Due to Paper using a complete rewritten light engine called Starlight, the Light Supression simply does not work on Paper and there is and will never be a configuation to re-enable it. Consider using Vanilla if you are running such highly technical server.


Closing NotesπŸ”—

In conculsion, of all forks downstreams of Spigot/CraftBukkit, Paper provides the most noticiable performance gains while being relatively stable and retains the most Vanilla behaviors compare to all other downstream forks.

For majority of the Minecraft server owners, new or returning, Paper is the most ideal choice of server software with the largest supporting community behind it. We welcome you to join us on Paper Discord if you have more questions that this post fails to answer.

Futher more, if you have any suggestion or feedback in regard to this article, please reach out to EterNity on Discord or email me at [email protected].


Special Thanks

Owen for providing epic graphics.


Paper Chan Hideout: https://paper-chan.moe/discord
Epic emojis, stickers, and more!

EterNity

Published 24 days ago