Important Minecraft 1.13+ Performance Issues

Status
Not open for further replies.

Richard_BN

BeastNode Staff
Dec 18, 2015
551
128
108
The Realm of Obscurity.
Note - Due to these performance issues any new service is now set up with Spigot, not Vanilla, for the latest Minecraft release once Spigot is considered stable for that version.
If you intend on running a "Vanilla" server, simply do not install plugins and it will run the same ingame as a Vanilla server would - it is not recommended to switch to Vanilla itself but you can if you wish, at your own risk of increased performance issues.

To clarify - softwares for Minecraft 1.13 through to the latest release of 1.17 are not stable, particularly Vanilla, and will have a much higher chance for performance issues than older server versions (currently the last Vanilla version considered "Stable" is still 1.12.2 and will remain so until serverside-specific performance fixes are applied in future releases).

The Minecraft 1.13 releases were noticeably poorer for performance compared to 1.12.2 - The main/biggest issues at the time being chunk loading/generation (which persists all the way through to 1.17, though it was less of an issue in 1.13 than later releases) and issues with mob AI (particularly the newly added fish mobs).

When the 1.14 releases dropped they did resolve the issue with the fish AI causing performance drops - however, a lot of other performance issues were introduced and chunk generation/loading performance took a pretty big nose dive.
In particular:
- The newly added Pillagers were a cause for major performance issues - it was very easy for a Pillager to get stuck as it moved around and it's pathfinding to go haywire causing extreme performance drops even just from one or two mobs getting stuck.
- Villagers were also a major issue with their pathfinding/AI causing performance drops, particularly if they became unable to find their job block.
- Leaf decay also caused a drop in performance so biomes heavy on trees were heavy on lag (Jungles for example).
1.14.4 did resolve the worst of the Pillager/Villager AI and pathfinding issues, but it did not improve the performance elsewhere.

While the 1.15 releases were noted to include performance fixes - almost all of these (literally all bar a few small fixes) were for clientside performance issues and they did not touch on, let alone fix, the major issues that were happening serverside.
In the 1.15 releases chunk loading/generation was still a major issue for performance, and mob AI as a whole started to cause heavier load so mob build ups would also drop performance considerably compared to the same mob build ups on older versions.

Unfortunately the Minecraft 1.16 updates did not do much if anything to resolve the major causes of serverside lag introduced in the last few major updates either so the issues 1.15.2 has are still present in 1.16-1.16.5.

The same applies for 1.17 - again, the only "performance fixes" made were clientside, so every issue 1.15.2 had for serverside performance is still present in 1.17.


Suggestions To Help With Vanilla Minecraft 1.13-1.17 Performance Issues

At this time there is little we can suggest if you wish to run Vanilla specifically as the server software itself is the specific issue and will be until a new release fixes the problems.

All we can suggest to try and help with general server performance on Vanilla (though these also apply to other softwares for the same versions):
- Lower the view distance in the server.properties (Files > Config Files > Server Settings on the control panel) to 5 or 6, save changes and restart the server to lower how many chunks will load in around players on the server.
- Avoid loading in a lot of chunks (new or pre-generated) by flying around or travelling long distances by boat/horse/cart etc.. in short periods of time.
- Make sure to restart the server regularly (recommended at least once a day) to unload excess chunks and entities and refresh the RAM usage.
- Avoid the usual potential lag causes such as mob build ups/grinders or large amounts of active redstone, excessive use of hoppers etc..

It would also be advised to use Spigot instead of Vanilla for their performance patches even if you never intend on using plugins - If plugins are not installed then Spigot will run the same ingame as Vanilla does.
When using Spigot it must also be updated regularly to keep up to date with any patches/bug fixes they have issued - to do so simply log into your server files and delete the jar folder before restarting the server (recommended to do at least once a week).

There is also a guide here on some optimisations you can make through the bukkit.yml and spigot.yml files to help with general server performance that are strongly recommended to go through, but they will tweak aspects of the game such as mob spawn rates (as that is what they need to do to aid in the performance): https://www.spigotmc.org/threads/guide-server-optimization⚡.283181/
If Spigot with the above tweaks does not help with performance enough then you can also try using PaperSpigot instead with the tweaks to the paper.yml as listed in the above guide.


Unfortunately beyond this there is little we can suggest for the ongoing Vanilla server issues - the server version/software itself is simply full of performance issues that would require serverside fixes on Mojangs end to improve, and for quite a while now these issues have been ignored.


Plugin Sidenote:
If you do install any plugins they must also be compatible with the server version, installed on their latest release for that server version and should be checked for updates regularly for bug/issue fixes etc... Any plugins that are installed on their latest release and still give errors in the console, particularly regular errors, should be removed/replaced without exception - no plugin should give regular errors in the console, any that do will be causing/contributing to server issues regardless of whether they appear to work or not ingame.




---Last Edited: June 20th 2021
 
Last edited:

Richard_BN

BeastNode Staff
Dec 18, 2015
551
128
108
The Realm of Obscurity.
Again, this post still applies for 1.16.5.

Also - To clarify further as to why lowering the view-distance is strongly recommended (it is recommended for almost all modded setups on shared hosting too, not just for the unstable Vanilla versions), as we frequently get people questioning why they should have to:

A view-distance of 10 (the default setting) means your server is loading in 441 chunks per player.

One of the biggest causes of performance issues on these versions of Minecraft? Chunk generation/loading - less so loading, so playing in pregenerated/already explored areas will perform better compared to exploring constantly and generating new chunks everywhere but it's still a hard hitter. If you are exploring a lot, with a higher view-distance, you are generating and loading in a lot of chunks in a short period which causes big drops in the performance that the server software takes a long time to recover from (short of doing a server restart).

Lowering the view-distance to 6 drops the chunks per player to 169, which can make a massive difference.



Note however that it is not guaranteed to make your server run perfectly.
Even doing every single recommended change mentioned in this thread and in the linked guide for Spigot/PaperSpigot tweaks is not guaranteed to fix your server performance issues. The only guaranteed fix is for the issues to be fixed in the server software itself - which has to come from Mojang's end. These tweaks will simply lessen the issue and make your game playable again, even if it's not as smooth as it was prior to the 1.13/14 releases.
 

Richard_BN

BeastNode Staff
Dec 18, 2015
551
128
108
The Realm of Obscurity.
Unless this thread is updated to state otherwise - assume the same applies to 1.17 when it releases.

So far in the snapshots nothing has been done to improve the serverside performance issues, so hopes are not high that anything will be done to change this - if anything it should also be assumed that performance will actually take another nose dive in 1.17 because of the changes to terrain generation (particularly the increased build height ability - more data in a chunk = more data to be loaded = higher impact on server load when generated/loaded in).




On a side note regarding snapshots - please also be aware that Snapshots/Pre-Releases will have performance issues/lag - and in almost every case there is nothing that can be done about it.

Snapshots/Pre-Releases are development builds, they are not intended for use on active/public servers - they are released publicly to allow players to help with finding and reporting any bugs/issues so they can be fixed before the full release of the next major Vanilla version.
Using these options often means that most of the issues in the last major release are still present (particularly at this time as so many have gone untouched in the bug fixes for years now), with any issues added by the new features and mechanic changes on top of that and without the option to use Spigot/Paper to improve the performance or allow for their config tweaks to be used (or for any plugins that aim for performance improvements to be used). If you run snapshots/pre-releases on your server you do so at your own risk of issues that cannot be fixed - we cannot help with issues caused by snapshots/pre-releases.

Please also note regarding worlds:

If you load a world with snapshots/pre-releases then that world should never be used with anything else but those snapshots/pre-releases - and in general even between different snapshots/pre-releases it is strongly recommended to use a new world.
As an example - a world loaded with the 1.17 snapshots/pre-releases should
not still be used if you switch back to 1.16.5 or older, and should not still be used when you update to the full 1.17 release.
Make a backup of your world before loading it on any snapshots/pre-releases if you wish to use that world on an older version or the next major release.
 

Richard_BN

BeastNode Staff
Dec 18, 2015
551
128
108
The Realm of Obscurity.
As far as any reports I have seen are indicating Vanilla 1.17 still has all of the above issues, so this post still applies for servers running on 1.17 (a number of clientside/rendering improvements have been made - but yet again, the serverside issues appear to have been completely ignored).

As always using Spigot instead of Vanilla is recommended with all of the above tweaks - if all tweaks are not done as recommended then your server will not perform as well as it can (though to reiterate - this is only to help improve the issue, not to fix it - the only fix is for Mojang to start doing something their end).
At this time - until the jar list option for Paper 1.17 no longer states it is a DEV build - it is NOT recommended to use Paper 1.17, only Spigot.

Please also note that 1.17 uses Java 16, so the startup parameters and garbage collection in general is different - it will appear to use more RAM than 1.16.5 did simply due to this. Please remember that the meter on the control panel is not the server active RAM usage, only what it has accessed since the last restart - to see an accurate reading you would need a plugin with the ability to show this (such as EssentialsX's /gc command).
 

Richard_BN

BeastNode Staff
Dec 18, 2015
551
128
108
The Realm of Obscurity.
1.17.1 also does not effect the performance issues, so this thread still stands for servers running on 1.17.1.
 
Status
Not open for further replies.