From f07cafd1c8dde4a218de2792df67ac69f0f32529 Mon Sep 17 00:00:00 2001 From: Pantera <89838384+Pantera07@users.noreply.github.com> Date: Sun, 5 Dec 2021 15:34:21 +0900 Subject: [PATCH 1/8] 1.18 Change https://github.com/PaperMC/Paper/commit/6697ce361e63e9a7bcacff95847f8a073d64fce5 https://discord.com/channels/685683385313919172/685683802479001625/916937734969491487 1.18 Change --- README.md | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index ff95aa3..e80fb63 100644 --- a/README.md +++ b/README.md @@ -138,12 +138,6 @@ Good starting values: With the help of this entry you can set limits to how many entities of specified type can be saved. You should provide a limit for each projectile at least to avoid issues with massive amounts of projectiles being saved and your server crashing on loading that. You can put any entity id here, see the minecraft wiki to find IDs of entities. Please adjust the limit to your liking. Suggested value for all projectiles is around `10`. You can also add other entities by their type names to that list. This config option is not designed to prevent players from making large mob farms. -#### seed-based-feature-search-loads-chunks - -`Good starting value: true` - -While setting this to `false` will help performance when your `treasure-maps-return-already-discovered` is on `false`, it can result in unexpected behavior, like structures not actually being in the spot marked on the map sometimes. Toggle it if you don't see it as an issue. - --- ## Mobs @@ -237,8 +231,30 @@ You can make mobs spawned by a monster spawner have no AI. Nerfed mobs will do n ``` Good starting values: - soft: 30 - hard: 56 + monster: + soft: 30 + hard: 56 + creature: + soft: 30 + hard: 56 + ambient: + soft: 30 + hard: 56 + axolotls: + soft: 30 + hard: 56 + underground_water_creature: + soft: 30 + hard: 56 + water_creature: + soft: 30 + hard: 56 + water_ambient: + soft: 30 + hard: 56 + misc: + soft: 30 + hard: 56 ``` Lets you adjust entity despawn ranges (in blocks). Lower those values to clear the mobs that are far away from the player faster. You should keep soft range around `30` and adjust hard range to a bit more than your actual view-distance, so mobs don't immediately despawn when the player goes just beyond the point of a chunk being loaded (this works well because of `delay-chunk-unloads-by` in [paper.yml]). When a mob is out of the hard range, it will be instantly despawned. When between the soft and hard range, it will have a random chance of despawning. Your hard range should be larger than your soft range. You should adjust this according to your view distance using `(view-distance * 16) + 8`. This partially accounts for chunks that haven't been unloaded yet after player visited them. @@ -301,12 +317,6 @@ This decides how often specified behaviors and sensors are being fired in ticks. ### [purpur.yml] -#### dont-send-useless-entity-packets - -`Good starting value: true` - -Enabling this option will save you bandwidth by preventing the server from sending empty position change packets (by default the server sends this packet for each entity even if the entity hasn't moved). May cause some issues with plugins that use client-side entities. - #### aggressive-towards-villager-when-lagging `Good starting value: false` @@ -325,12 +335,6 @@ This option can disable portal usage of all entities besides the player. This pr This option allows you to set how often (in ticks) villager brains (work and poi) will tick. Going higher than `3` is confirmed to make villagers inconsistent/buggy. -#### villager.lobotomize - -`Good starting value: true` - -Lobotomized villagers are stripped from their AI and only restock their offers every so often. Enabling this will lobotomize villagers that are unable to pathfind to their destination. Freeing them should unlobotomize them. - --- ## Misc From f8f64dfa9e80bbc96e352890cc8cab5aeb3f8d01 Mon Sep 17 00:00:00 2001 From: Arseniy Motorin <74359983+cubelius@users.noreply.github.com> Date: Sun, 5 Dec 2021 23:33:55 +0200 Subject: [PATCH 2/8] deleted tuinity because this .jar is no more supported --- common-pitfalls-and-best-practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common-pitfalls-and-best-practices.md b/common-pitfalls-and-best-practices.md index b1f3df5..6ec4e9e 100644 --- a/common-pitfalls-and-best-practices.md +++ b/common-pitfalls-and-best-practices.md @@ -9,7 +9,7 @@ There are two types of people - those who make backups, and those who will start By running outdated software versions you risk players abusing unpatched exploits, including item duplication (infinite items). It also adds an inconvenience factor since your players have to specifically downgrade their client version to match your server. This can be circumvented by using a protocol hack, but it's not ideal. ## Don't run Bukkit/Spigot anymore -Bukkit and Spigot are basically in maintenance mode. They update anytime there's a new version and if a critical exploit is found, but don't add any performance updates. This means any performance issues you may experience on those softwares will never be improved over time. To avoid that, upgrade to [Paper](https://papermc.io/downloads), [Tuinity](https://ci.codemc.io/job/Spottedleaf/job/Tuinity) or [Purpur](https://purpur.pl3x.net/downloads). Bukkit/Spigot plugins will work just as well (maybe even better) with the server software listed. If they don't, then it's safe to assume that the plugin dev is either doing things that they shouldn't or did a negligent job creating their plugin. They also add optimization patches like a chunk loading system that can take advantage of multiple cpu threads or a setting that allows the server to tick less chunks than it actually sends to the player. See the [main optimization guide](https://github.com/YouHaveTrouble/minecraft-optimization) for more details. +Bukkit and Spigot are basically in maintenance mode. They update anytime there's a new version and if a critical exploit is found, but don't add any performance updates. This means any performance issues you may experience on those softwares will never be improved over time. To avoid that, upgrade to [Paper](https://papermc.io/downloads), [Purpur](https://purpur.pl3x.net/downloads) or another stable and good fork. Bukkit/Spigot plugins will work just as well (maybe even better) with the server software listed. If they don't, then it's safe to assume that the plugin dev is either doing things that they shouldn't or did a negligent job creating their plugin. They also add optimization patches like a chunk loading system that can take advantage of multiple cpu threads or a setting that allows the server to tick less chunks than it actually sends to the player. See the [main optimization guide](https://github.com/YouHaveTrouble/minecraft-optimization) for more details. ## Avoid shared hosting if possible Shared hosts are usually the cheapest option, and that's for a valid reason. They offer you 2 types of resources - guaranteed and shared. Guaranteed resources are usually laughably low and may not be enough to run a server for a few players. Shared resources on the other hand are usually enough to run a server with decent performance. There is a catch, though; shared resources, like the name implies, are shared between your server and other servers on the same physical machine. Your server can only benefit from having them when no other server uses them. The situation where your server fully utilises shared resources is pretty much impossible to happen, as most shared hosts oversell their resources. Like airplane tickets, the hosting site sells more resources than they have available in hopes that not all of them will be used. This often leads to situations where all servers are bogged down because there aren't enough resources to spare. From 9f305c725b78060e0fcee3f2965980a1bdade9b7 Mon Sep 17 00:00:00 2001 From: Arseniy Motorin <74359983+cubelius@users.noreply.github.com> Date: Sun, 5 Dec 2021 23:54:52 +0200 Subject: [PATCH 3/8] adding patinamc --- common-pitfalls-and-best-practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common-pitfalls-and-best-practices.md b/common-pitfalls-and-best-practices.md index 6ec4e9e..8ae30a5 100644 --- a/common-pitfalls-and-best-practices.md +++ b/common-pitfalls-and-best-practices.md @@ -9,7 +9,7 @@ There are two types of people - those who make backups, and those who will start By running outdated software versions you risk players abusing unpatched exploits, including item duplication (infinite items). It also adds an inconvenience factor since your players have to specifically downgrade their client version to match your server. This can be circumvented by using a protocol hack, but it's not ideal. ## Don't run Bukkit/Spigot anymore -Bukkit and Spigot are basically in maintenance mode. They update anytime there's a new version and if a critical exploit is found, but don't add any performance updates. This means any performance issues you may experience on those softwares will never be improved over time. To avoid that, upgrade to [Paper](https://papermc.io/downloads), [Purpur](https://purpur.pl3x.net/downloads) or another stable and good fork. Bukkit/Spigot plugins will work just as well (maybe even better) with the server software listed. If they don't, then it's safe to assume that the plugin dev is either doing things that they shouldn't or did a negligent job creating their plugin. They also add optimization patches like a chunk loading system that can take advantage of multiple cpu threads or a setting that allows the server to tick less chunks than it actually sends to the player. See the [main optimization guide](https://github.com/YouHaveTrouble/minecraft-optimization) for more details. +Bukkit and Spigot are basically in maintenance mode. They update anytime there's a new version and if a critical exploit is found, but don't add any performance updates. This means any performance issues you may experience on those softwares will never be improved over time. To avoid that, upgrade to [Paper](https://papermc.io/downloads), [Purpur](https://purpur.pl3x.net/downloads) or [PatinaMC](https://github.com/PatinaMC/Patina). Bukkit/Spigot plugins will work just as well (maybe even better) with the server software listed. If they don't, then it's safe to assume that the plugin dev is either doing things that they shouldn't or did a negligent job creating their plugin. They also add optimization patches like a chunk loading system that can take advantage of multiple cpu threads or a setting that allows the server to tick less chunks than it actually sends to the player. See the [main optimization guide](https://github.com/YouHaveTrouble/minecraft-optimization) for more details. ## Avoid shared hosting if possible Shared hosts are usually the cheapest option, and that's for a valid reason. They offer you 2 types of resources - guaranteed and shared. Guaranteed resources are usually laughably low and may not be enough to run a server for a few players. Shared resources on the other hand are usually enough to run a server with decent performance. There is a catch, though; shared resources, like the name implies, are shared between your server and other servers on the same physical machine. Your server can only benefit from having them when no other server uses them. The situation where your server fully utilises shared resources is pretty much impossible to happen, as most shared hosts oversell their resources. Like airplane tickets, the hosting site sells more resources than they have available in hopes that not all of them will be used. This often leads to situations where all servers are bogged down because there aren't enough resources to spare. From 87af8c617f8c7c77940aa858e413f50ddd252c77 Mon Sep 17 00:00:00 2001 From: Arseniy Motorin <74359983+cubelius@users.noreply.github.com> Date: Sun, 5 Dec 2021 23:58:28 +0200 Subject: [PATCH 4/8] del patinamc --- common-pitfalls-and-best-practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common-pitfalls-and-best-practices.md b/common-pitfalls-and-best-practices.md index 8ae30a5..309526b 100644 --- a/common-pitfalls-and-best-practices.md +++ b/common-pitfalls-and-best-practices.md @@ -9,7 +9,7 @@ There are two types of people - those who make backups, and those who will start By running outdated software versions you risk players abusing unpatched exploits, including item duplication (infinite items). It also adds an inconvenience factor since your players have to specifically downgrade their client version to match your server. This can be circumvented by using a protocol hack, but it's not ideal. ## Don't run Bukkit/Spigot anymore -Bukkit and Spigot are basically in maintenance mode. They update anytime there's a new version and if a critical exploit is found, but don't add any performance updates. This means any performance issues you may experience on those softwares will never be improved over time. To avoid that, upgrade to [Paper](https://papermc.io/downloads), [Purpur](https://purpur.pl3x.net/downloads) or [PatinaMC](https://github.com/PatinaMC/Patina). Bukkit/Spigot plugins will work just as well (maybe even better) with the server software listed. If they don't, then it's safe to assume that the plugin dev is either doing things that they shouldn't or did a negligent job creating their plugin. They also add optimization patches like a chunk loading system that can take advantage of multiple cpu threads or a setting that allows the server to tick less chunks than it actually sends to the player. See the [main optimization guide](https://github.com/YouHaveTrouble/minecraft-optimization) for more details. +Bukkit and Spigot are basically in maintenance mode. They update anytime there's a new version and if a critical exploit is found, but don't add any performance updates. This means any performance issues you may experience on those softwares will never be improved over time. To avoid that, upgrade to [Paper](https://papermc.io/downloads) or [Purpur](https://purpur.pl3x.net/downloads). Bukkit/Spigot plugins will work just as well (maybe even better) with the server software listed. If they don't, then it's safe to assume that the plugin dev is either doing things that they shouldn't or did a negligent job creating their plugin. They also add optimization patches like a chunk loading system that can take advantage of multiple cpu threads or a setting that allows the server to tick less chunks than it actually sends to the player. See the [main optimization guide](https://github.com/YouHaveTrouble/minecraft-optimization) for more details. ## Avoid shared hosting if possible Shared hosts are usually the cheapest option, and that's for a valid reason. They offer you 2 types of resources - guaranteed and shared. Guaranteed resources are usually laughably low and may not be enough to run a server for a few players. Shared resources on the other hand are usually enough to run a server with decent performance. There is a catch, though; shared resources, like the name implies, are shared between your server and other servers on the same physical machine. Your server can only benefit from having them when no other server uses them. The situation where your server fully utilises shared resources is pretty much impossible to happen, as most shared hosts oversell their resources. Like airplane tickets, the hosting site sells more resources than they have available in hopes that not all of them will be used. This often leads to situations where all servers are bogged down because there aren't enough resources to spare. From 20f8123dcd06b98e4dc2c2fc183721d9e81fda2f Mon Sep 17 00:00:00 2001 From: Pantera <89838384+Pantera07@users.noreply.github.com> Date: Mon, 6 Dec 2021 12:32:49 +0900 Subject: [PATCH 5/8] Java 17 Java 17 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e80fb63..4bff0e7 100644 --- a/README.md +++ b/README.md @@ -503,7 +503,7 @@ If this option is greater that `0`, players above the set y level will be damage --- # Java startup flags -[Vanilla Minecraft and Minecraft server software in version 1.17 requires Java 16 or higher](https://papermc.io/forums/t/java-16-mc-1-17-and-paper/5615). Oracle has changed their licensing, and there is no longer a compelling reason to get your java from them. Recommended vendors are [Amazon Corretto](https://aws.amazon.com/corretto/) and [Adoptium](https://adoptium.net/). Alternative JVM implementations such as OpenJ9 or GraalVM can work, however they are not supported by paper and have been known to cause issues, therefore they are not currently recommended. +[Vanilla Minecraft and Minecraft server software in version 1.18 requires Java 17 or higher](https://paper.readthedocs.io/en/latest/java-update/index.html). Oracle has changed their licensing, and there is no longer a compelling reason to get your java from them. Recommended vendors are [Amazon Corretto](https://aws.amazon.com/corretto/) and [Adoptium](https://adoptium.net/). Alternative JVM implementations such as OpenJ9 or GraalVM can work, however they are not supported by paper and have been known to cause issues, therefore they are not currently recommended. Your garbage collector can be configured to reduce lag spikes caused by big garbage collector tasks. You can find startup flags optimized for Minecraft servers [here](https://mcflags.emc.gs/) [`SOG`]. Keep in mind that this recommendation will not work on alternative jvm implementations. From 270893988fb5d9197bc92eee34f688b9951c9bc4 Mon Sep 17 00:00:00 2001 From: FishyFissh <67806693+FishyFissh@users.noreply.github.com> Date: Sat, 11 Dec 2021 14:25:15 -0500 Subject: [PATCH 6/8] monster-spawn -> monster-spawns --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4bff0e7..14ec04f 100644 --- a/README.md +++ b/README.md @@ -164,7 +164,7 @@ The math of limiting mobs is `[playercount] * [limit]`, where "playercount" is c ``` Good starting values: - monster-spawn: 10 + monster-spawns: 10 animal-spawns: 400 water-spawns: 400 water-ambient-spawns: 400 From 57a0f840d49f101f71656ca04bfe25e89885c398 Mon Sep 17 00:00:00 2001 From: Encode42 Date: Sat, 18 Dec 2021 21:56:43 -0500 Subject: [PATCH 7/8] Fix broken paper.yml link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 14ec04f..62de7c5 100644 --- a/README.md +++ b/README.md @@ -157,7 +157,7 @@ Good starting values: ambient: 1 ``` -The math of limiting mobs is `[playercount] * [limit]`, where "playercount" is current amount of players on the server. Logically, the smaller the numbers are, the less mobs you're gonna see. `per-player-mob-spawn` applies an additional limit to this, ensuring mobs are equally distributed between players. Reducing this is a double-edged sword; yes, your server has less work to do, but in some gamemodes natural-spawning mobs are a big part of a gameplay. You can go as low as 20 or less if you adjust `mob-spawn-range` properly. Setting `mob-spawn-range` lower will make it feel as if there are more mobs around each player. If you are using Paper, you can set mob limits per world in [`paper.yml`]. +The math of limiting mobs is `[playercount] * [limit]`, where "playercount" is current amount of players on the server. Logically, the smaller the numbers are, the less mobs you're gonna see. `per-player-mob-spawn` applies an additional limit to this, ensuring mobs are equally distributed between players. Reducing this is a double-edged sword; yes, your server has less work to do, but in some gamemodes natural-spawning mobs are a big part of a gameplay. You can go as low as 20 or less if you adjust `mob-spawn-range` properly. Setting `mob-spawn-range` lower will make it feel as if there are more mobs around each player. If you are using Paper, you can set mob limits per world in [paper.yml]. #### ticks-per From b1d7df348113bc62ed9d2e44171a38e8b1dce94f Mon Sep 17 00:00:00 2001 From: Encode42 Date: Sat, 18 Dec 2021 22:00:08 -0500 Subject: [PATCH 8/8] Clarification on view-distance totals --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 62de7c5..9b00977 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,9 @@ Currently Paper has not updated no-tick-view-distance patch, but Mojang has give `Good starting value: 7` -Currently Paper has not updated no-tick-view-distance patch, but Mojang has given us very similiar option. This is the distance in chunks that will be sent to players, similiar to no-tick-view-distance from paper. 1.18 client now respect server side view-distance, which causes ugly fog to appear it this is set low. This is here temporarily until Paper updates no-tick-view-distance patch. +Currently Paper has not updated no-tick-view-distance patch, but Mojang has given us very similiar option. This is the distance in chunks that will be sent to players, similiar to no-tick-view-distance from paper. 1.18 client now respects server side view-distance, which causes ugly fog to appear it this is set low. This is here temporarily until Paper updates no-tick-view-distance patch. + +The total view distance will be equal to the greatest value between `simulation-distance` and `view-distance`. For example, if the simulation distance is set to 4, and the view distance is 12, the total distance sent to the client will be 12 chunks. ### [purpur.yml]