Important Minecraft 1.13+ Performance Issues

Status
Not open for further replies.

Richard_BN

BeastNode Staff
Dec 18, 2015
547
135
108
The Realm of Obscurity.
Note - Due to these performance issues any new service is set up with Spigot, not Vanilla, for the latest Minecraft release once Spigot is considered stable for that version (ie currently a new server will run on Spigot 1.16.5, not Vanilla 1.16.5).
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 - Minecraft 1.13 through to the latest release of 1.16 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 playable, but 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.16.5, 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 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.


Suggestions To Help With Vanilla Minecraft 1.16.5 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 is the same as we have been suggesting for 1.13/1.14/1.15:
- 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 which will help with the CPU usage spikes.
- Avoid loading in a lot of chunks (new or pre-generated) by flying around or travelling long distances by boat/horse/cart etc...
- Make sure to restart the server regularly (recommended at least once a day) to unload excess chunks and entities and refresh the RAM usage.
- Avoiding the usual potential lag causes such as mob build ups/grinders or large amounts of active redstone, excessive use of hoppers etc.. is also recommended.

It would also be advised to use Spigot instead of Vanilla (for new services after the date of this post you will automatically be running Spigot, not 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:

Richard_BN

BeastNode Staff
Dec 18, 2015
547
135
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
547
135
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).
 
Status
Not open for further replies.