youhavetrouble / minecraft-optimization Goto Github PK
View Code? Open in Web Editor NEWMinecraft server optimization guide
Minecraft server optimization guide
Please clarify what you mean here.
You can specify the degree of impact of the configuration on performance using tags.
For example:
view-distance | Impact: Heavy
https://www.spigotmc.org/resources/view-distance-tweaks-1-14-1-17.75164/
Imagine for a moment that the server changed the simulation distance and the view distance (view-distance & no-tick-view-distance) depending on how many active players there are and if the tps go up and down it acts accordingly.
Imagine: 2 players on a 16gb ram machine with a modern i7? HELL YEAH BABY, YOU CAN WATCH 32 CHUNKS and the server ticks let's say a distance of 16
oh shit, suddenly pewdiepie joined and all his fans joined too! we have 200 people online! Well, time to optimize: you can see 8 chunks and the server is ticking like 4.
lag? minimum
now stop imagining all that. this plugin with the apropiate configuration can do it.
What i mean is that you might want to add this to the guide because its a great tool.
I hope I could do soemthing slightly useful for your guide.
Regards
PurpurMC/Purpur#1478
https://purpurmc.org/docs/purpur/configuration/#search-radius
Reducing the villager search radius can significantly enhance server performance with minimal impact on gameplay. Lowering this value from 48 to 16 can greatly improve performance.
Originally posted by emielderckx January 28, 2022
ignore-occluding-blocks: true
should probably be added to the guide
https://paper.readthedocs.io/en/latest/server/configuration.html#hopper
Paper writes this error.
[12:38:57 ERROR]: Invalid entity-per-chunk-save-limit config, 'fireworks_rocket' is not a valid entity type. Correct this in paper.yml.
Since build 241 of Paper (PaperMC/Paper@ea1efef#diff-93e368bf452ceaca8ba6d6d9c063395a89cbd8a44fda0cd57f64767102eed4aa).
If you follow this guide you'll get this error:
[Server thread/ERROR]: [MapSerializer] Could not deserialize key grass into class net.minecraft.world.item.Item at [entities, spawning, alt-item-despawn-rate, items]
This is due to the renaming of grass to short_grass (why??) Just thought I'd give a heads up.
A lot of these settings and recommendations will break a lot of redstone mechanics and contraptions, because some developers of them think that certain vanilla features are actually a bug or an exploit instead. Please put up disclaimers on settings that break things, or recommend using fabric or quilt instead, as those do not go out of their way to fix what did not need fixing, while having even better performance in some circumstances. I have seen this issue multiple times on different servers, and the people who manage those servers are tired of players complaining about their redstone contraptions breaking.
First of all, excellent guide. Thank you. Saves me time of having to write all this information when teaching people how to make an MC server. Instead I can just link them your guide.
Secondly, on this page I noticed it mentions using tuinity. That server software has been merged into Paper and thus should be removed as a suggestion.
Please Note: I do not check Github regularly and thus will likely not see replies.
alt-item-despawn-rate:
enabled: true
items:
COBBLESTONE: 300
NETHERRACK: 300
SAND: 300
RED_SAND: 300
GRAVEL: 300
DIRT: 300
GRASS: 300
SEED: 300
PUMPKIN: 300
PUMPKIN_SEED: 300
MELON_SLICE: 300
MELON_SEED: 300
KELP: 300
BAMBOO: 300
SUGAR_CANE: 300
TWISTING_VINES: 300
WEEPING_VINES: 300
OAK_LEAVES: 300
SPRUCE_LEAVES: 300
BIRCH_LEAVES: 300
JUNGLE_LEAVES: 300
ACACIA_LEAVES: 300
DARK_OAK_LEAVES: 300
AZALEA_LEAVES: 300
FLOWERING_AZALEA: 300
CACTUS: 300
DIORITE: 300
GRANITE: 300
ANDESITE: 300
SCAFFOLDING: 300
SAND_STONE: 300
STONE: 300
COBBLED_DEEPSLATE: 300
TUFF: 300
COAL: 300
AMETHYST_SHARD: 300
RAW_COPPER: 300
CALCITE: 300
DEEPSLATE: 300
GLOW_INK_SAC: 300
REDSTONE_DUST: 300
EGG: 300
BASALT: 300
BLACKSTONE: 300
GOLD_NUGGET: 300
FEATHER: 300
ROTTEN_FLESH: 300
INK_SAC: 300
STRING: 300
SPIDER_EYE: 300
BONE: 300
ARROW: 300
BOW: 300
WHEAT: 300
STICK: 300
AZALEA: 300
OAK_SAPLING: 300
SPRUCE_SAPLING: 300
ACACIA_SAPLING: 300
DARK_OAK_SAPLING: 300
Purpur is Paper fork, not Pufferfish
It would be extremely helpful if there was included files which contained all of the 'good starting values', so you could simply drag & drop into new (or existing) server instances and have the optimizations done and ready to go once the server starts. Missing keys are automatically added to the files so this shouldn't cause any issues.
The Spark documentation moved from its GitHub wiki to https://spark.lucko.me/docs/, moving the following pages:
Finding the cause of lag spikes
moved to https://spark.lucko.me/docs/guides/Finding-lag-spikesCommand Usage
moved to https://spark.lucko.me/docs/Command-UsageAffects the following section: https://github.com/YouHaveTrouble/minecraft-optimization#spark
As you can see the default paper.yml
has underscores in the entity names, I think the examples in README.md
contains typo's because of this.
entity-per-chunk-save-limit:
- fireball: -1
- small_fireball: -1
- experience_orb: -1
- snowball: -1
- ender_pearl: -1
- arrow: -1
+ arrow: 16
+ dragonfireball: 3
+ egg: 8
+ ender_pearl: 128
+ experience_orb: 16
+ fireball: 8
+ firework: 8
+ largefireball: 8
+ lingeringpotion: 8
+ llamaspit: 3
+ shulkerbullet: 8
+ sizedfireball: 8
+ snowball: 8
+ spectralarrow: 16
+ splashpotion: 3
+ thrownexpbottle: 3
+ trident: 16
+ witherskull: 4
+ wither_skull: 4
The following quote is taken from the guide right at the end of the Mobs > paper.yml > tick-rates section.
It is not recommended to change these values from their defaults while Pufferfish's DAB is enabled!
What does this apply to? Is it saying the entire Mobs configurations should stay default if DAB is turned on, the paper.yml section specifically, or just the tick-rates in that section?
A great thing to include in the guide: Server optimization and Minecraft limits
Hello,
Paper recently merged some optimizations from Tuinity in build #232 , and it affects most of us. (PaperMC/Paper#6413)
Details of chunk-loading
patch: (https://github.com/PaperMC/Paper/blob/20903fcf5e227a1a03e2afd89f01bfe951b2b328/patches/server/0771-Replace-player-chunk-loader-system.patch)
I hope someone could take a look into the chunk-loading
settings and find the best way to optimize them.
I am currently having problems with a very delayed chunk loading after update to the new Paper build, on an online server with over 40 players.
If you want to translate the guide and put it up on your own site, you're free to do it.
However, please link to the original guide and do not remove credit/links from the guide's content.
bukkit.yml
https://github.com/YouHaveTrouble/minecraft-optimization#spawn-limits
spawn-limits:
monsters: 70
animals: 10
water-animals: 5
water-ambient: 20
water-underground-creature: 5
ambient: 15
Add 'water-underground-creature'
https://github.com/YouHaveTrouble/minecraft-optimization#ticks-per
ticks-per:
animal-spawns: 400
monster-spawns: 1
water-spawns: 1
water-ambient-spawns: 1
water-underground-creature-spawns: 1
ambient-spawns: 1
autosave: 6000
Add 'water-underground-creature-spawns'
There is a new entry in the bukkit.yml config so you need to add optimizations.
I think it would be better to reduce or disable 'no-tick-view-distance' in 'world_nether'.
In the Nether, you can't see far in the fog.
On my server, due to the multitude of unique items, users have consistently experienced low FPS levels. While elsewhere they might have around 100-120 FPS, in my lobby, for example, it's around 50-60. You could try adjusting the "entity-broadcast-range-percentage" setting similarly to the "entity-tracking-range" setting. However, this setting affects everything that could cause lag and may also benefit those with poor internet connections. Here are a few visual examples with a value of 20:
This fork includes optimizations oriented towards large servers.
https://github.com/TECHNOVE/Airplane
Hello,
Thank you for putting together this excellent guide. I've run servers before, but I only found this last week; it's wonderful.
A friend asked me to put up a Fabric server for them, which I've never worked with before. I'm treating it like a vanilla server with an added mod pack API. To that end, I looked in the document here for adjustments specific to Vanilla and Fabric itself, and ignored the other server types. Is that the way to go?
I ended up adjusting sync chunk writes
, network compression threshold
, and the simulation
and view
distances, and otherwise leaving everything else alone for now. Everything else seemed to not apply, since I'm not running another server type. Am I missing anything?
The experience_orb limit starting value is missing from the section.
#71
Add to the startup flags section. It enables feature's in Pufferfish:
It uses SIMD instructions on your CPU, making some math faster (Only used for map rendering at this moment).
Paper writes this error.
[10:01:25 ERROR]: Invalid entity-per-chunk-save-limit config, 'ender_signal' is not a valid entity type. Correct this in paper.yml.
[10:01:25 ERROR]: Invalid entity-per-chunk-save-limit config, 'firework' is not a valid entity type. Correct this in paper.yml.
[10:01:25 ERROR]: Invalid entity-per-chunk-save-limit config, 'splash_potion' is not a valid entity type. Correct this in paper.yml.
[10:01:25 ERROR]: Invalid entity-per-chunk-save-limit config, 'thrown_exp_bottle' is not a valid entity type. Correct this in paper.yml.
Hello,
I am a minecraft player and also a developer who come from China. I think compared with the traditional, your guide gives more detailed introduction to the configuration. It is flabbergasted to let the server owner make his own choice and gradually adjust the configuration,this is a great innovation and inspired me a lot!
So, could you allow me to translate this guide into Chinese and publish it on MCBBS,which is the most prestigious forum and I can also pull request to this repository at the same time?
Please correct your sayings about mohist. Its completly open source and no maliscius software. If you believe such false rumors, please take this git down. Here is more about the rumors stated: https://discord.com/channels/311256119005937665/550911071188418571/912420621835731024
:emoji_2: Hello everyone, i see a lot of people saying Mohist is malicious because of the EssentialsX PSA published a few months ago about Mohist. Of couse, Mohist is not malicious, and i even wrote an article about it.
Please know that almost all (and maybe all) of the information of that PSA is false and outdated.
Of course, we do not replace plugins jar by malicious jars, since all of them are free and open source on GitHub since the begenning, and you can find the modified EssentialsX repository which contains all of the source code here https://github.com/KR33PY/Essentials. That's why I highly recommend everyone who read the PSA to read this https://github.com/Shawiizz/MohistEssentialsX/blob/main/README.md to understand why you shouldn't trust the content of the EssentialsX PSA.
By the way, know that the Mohist plugin checker always ask your permission before downloading a plugin, and you can even disable it in the mohist.yml confirguration file (disable_plugins_blacklist option) and it has always been the case since the creation of this plugin checker. It even gives you the url of the GitHub repository so that you can check the source code easily. We don't really understand the behavior of EssentialsX team, and we still don't know exactly why this PSA has been written.
To finish, please do not trust everyone! As you can see, a lot of false information can be wrote about something, and in this case, the EssentialsX team wrote a lot of false information about the Mohist project and about our team, while they do not know anything about it and the consequences that this could have on the Mohist project.
Thanks for reading, and I hope this announcement will make some people know the truth about this subject.
The Mohist Team
Here the full explanation https://github.com/Shawiizz/MohistEssentialsX/blob/main/README.md
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.