Here is what you can expect with 1.14.4 (and optimization suggestions)

Yesterday, I went ahead and upgraded to 1.14.4, from 1.14.3. This is what I found.

Note: I have a dedicated server, with 32 Cores, 128GB of RAM, and it’s all on NVMe drives. This server is a powerhouse and never had TPS issues with 1.13, regardless of the number of players on.

First, let me start with y background with 1.14.3 and previous 1.14 releases, had been a constant daily trial and error of disabling and enabling plugins, changing settings, to see what I could do to get the TPS up. While some things did help, even if just by 1 TPS, that is a big help in the scheme of things. Because a gain of 1 TPS here and there starts to add up.

Here are the highlights that I noticed with 1.14.2 - 1.14.3:

  • The server handled 9 players just fine, but after 9 players the degradation started. The lag started to become slightly annoying at 15 players and over 20, it was unbearably slow. The TPS typically ran between 5-9, and chatting was about the only thing that was going on since breaking blocks was annoying.
  • Timing reports always pointed at Entities as being the issue. But managing entities is hard and I could never see a correlation between lag when people were at horrendously large mob farms or when they weren’t. However, I did see a correlation between entities active on the server and TPS performance.
  • I also disabled and modified the configuration files of plugins that came up with the highest count numbers in the Timings Report, regardless of whether it was shown to be a lag source. My theory was that less activity is better overall. However, I ignored plugins like CMI that were basically the core of the server functionality, even if they had a count.

Here is what helped to various degrees:

  • view-distance: 6 // In 1.13 and earlier, I typically would run 10-12, depending on the world. This alone made having 15-22 players on bearable and playable. Oddly, the only person complaining about the view-distance was me.
  • Keeping world spawns in memory has always been set to true for me in Multi-Verse Core. However, I could see with the /lag command that 80-90% of the players were always in the main world and each world had usually had a number of entities for the server to manage. I change this setting to false for all but my main world, and this made a big step toward usability with more players on.
  • In bukkit.yml, I lowered the spawn-limits of monsters from 70 to 40. In fact, I could probably move this lower now that I have seen the result of 1.14.4, which I will get to shortly.
  • Disabled the Citizens plugin. It always had the highest counts and oddly, when I would unload it, the performance was always slightly better than with it enabled. I don’t know why, I maybe only had 20 NPCs setup.
  • Disabling floating items (aka hidden armorstands) in QuickShopsRemake also made a big difference. Armorstands are entities and if you have a lot of chest shops, this just added to the pain. One bug that allowed someone to create ChestShop with a stack of 16 items. This created 16 armorstands rotating above the chest with the item. The TPS went down to 1, and the server was unplayable. But they fixed that bug. Regardless, disabling that functionality was a huge help.

What happened after 1.14.4?

I was hoping that all my woes would be history, that TPS would go back up to 19.9/20 and life would be grand again. With 9 players online, I was able to use flyspeed 5 and fly around with a view-distance of 6 and it didn’t create any lag. But my hopes quickly faded when view-distance of 8 and 10 both created lag doing the same thing.

It seemed that even when I was in 1.14.3, that when connecting the server with a 1.14.4 client via ViaVersion plugin, that the falling through the world when you TP and waiting for chunks to load went away. In fact, overall performance of the server improved with the 1.14.4 client release. So, I decided to force everyone to 1.14.4 by upgrading the server.

Last night, at one point, we had 28 players online. TPS was around 6-9, but there was little to no noticeable lag, breaking blocks, placing them and playing. It was very surreal. The TPS didn’t seem to have a correlation between its value and player experience. Only when it dropped below 5 did anyone notice anything.

I looked at the timings report over 2 hours long the first 70 mins of it, TPS was great, even with 22 players online, and then the TPS went drastically south as we climbed over that up to 28 players. Aside from the player count itself, the real issue was obvious and it is what the Timings reports have pointed at all along, Entities.

Once our server crossed 3000 entities, TPS tanked. At 2222, it was good, at 2750, it was showing signs of weakness and at 3000, it was over. Entities peaked out about 4750. But again, the server was playable and usable and functional and noticeable gameplay lag was almost non-existent.

Knowing all this, I can see why some of things I did to get better performance from 1.14.3 worked:

  • A lower view-distance means less entities for the server to manage
  • Removing floating item entities in QuickShopRemake lowered that number down
  • Lowered mob numbers in bukkit.yml, lowers entities
  • Removing spawns from memory in rarely used worlds

I have yet to take action directly against anyone’s massive sheep, cow farm or the mob grinders like Enderman, Pigman, Blaze, etc. While I knew they contributed to the madness, they were honestly fine with lower player counts and only become issues at the higher numbers when more entities are exposed. I will likely lower all my spawn-limits more in bukkit.yml and that should allow us to get higher TPS with more players on.

2 Likes

I did the optimisations but still 8-14 TPS with 18 players online.

Send a link to your timings

Already sent you, via private message.

Ok. I didn’t notice it. Sorry. :slight_smile:

Your Entities are around 3500, and as I noted above, everything tanked at the 3000 mark.

Here is what I would do…

a) Remove Citizens (as I noted above, removing this helped somewhat)
b) Remove CitizensCMD (since its connected with the one you are removing)
c) SkinsRestorer (likely not an issue, but just for fun, remove it)
d) Wildstacker and SAML, which are entity lag reducers. These plugins aren’t working, so lets take them out.
e) This one showed some lag, you don’t need to remove it if you must have it, but if its not really being used, disable it for now. AuthMe.

See what happens to your server then.

Note… Today I was running around 18-20 people all day at 20TPS… and I reduced my entities in bukkit.yml down a lot more than I had them. I was running around 2000-2400 entities all day. Smooth sailing. That is running Dynmap, and tons of plugins, many which are similar to what you have. But not Citizens (for now), and no lag plugins.

monsters: 20
animals: 5
water-animals: 2
ambient: 8

Obviously, not ideal settings for a MC server mob wise… BUT… its playable and the code Mojang gave us is not ideal, so we have to work with what we got.

If the above combination of plugins and settings fixes the issue to make it usable on your server, then you can go back and add the AuthMe, and SkinRestorer and see how things are still. If the same improved state, great, keep those plugins. Citizens, I’d hold off on for awhile and those lag plugins, no need for them.

The other mob settings, you can slowing increase and make note of changes and always wait until you have 11+ people on, before making any decisions on what has worked or hasn’t.

can you help me with mine?
my server is lagging so bad when it reach 15+ player.
This is my Timings

I’ve removed some of the plugins but not the AuthMe and optimised the bukkit.yml. Let’s see how it goes, hope 1.15 solves these 1.14 server problems :confused: .

Sylvtreeya…

You have the greater than 3000 entities issue too. I would recommend removing…

React (lag performance plugin)

I would modify your bukkit.yml to refect…

monsters: 20
animals: 5
water-animals: 2
ambient: 8

instead of what you have:

monsters: 55
ambient: 3
animals: 12
water-animals: 12

Plus - Make sure your view-distance in server.properties is set to 6, unless you have it set it spigot.yml. Change it in both locations.

1 Like

Performance really improved TPS at 20 with 16 people right now, but I hope these erros get fixed soon because I’ve reduced a lot of game features and removed plugins :frowning:

sixamscrew,

Awesome. It’s refreshing to know that my troubleshooting and narrowing down the cause of lag on my server (and the countless hours spent doing that) and what I thought the cause was, indeed is what it is. Hopefully, others will post if this indeed helped them too.

sixamscrew,

Feel free to add back SkinRestorer and see how it goes. If things are still smooth sailing, then go ahead and put back in Citizens and the other related plugin and see how it goes. I was hit and miss with Citizens plugin on my server. It seemed fine for awhile and then as the player count went up, the TPS started dropping and I’d remove Citizens and things would return to normal. I’m not a a plugin developer, but it seems that Citizens has some interaction going on with everything being done on the server, and perhaps with a NPC plugin, that is the only option, but doesn’t seem like that would really be the case.

View Distance and Mob numbers alone, might be good enough to increase your TPS. But any LAG plugin or stacker plugin, is going to be added processes to monitoring entities that is already horribly programmed, so the last thing you want to do is to put something else into the mix that either increases entities, or something that is snooping in on entities like a lag plugin.

Unfortunately with 25 people the went back to 14.65 :(, even with view-distance set to 1. This version is really bad for servers.
Thank you for the help, I will re-add plugins to see what happens.

sixamscrew,

Like I mentioned in my original post… you will see lower TPS numbers with more players, but you may not see actual game-play performance issues. Honestly, I’m quite peachy if TPS is 10 and no one is complaining of lag and I’m not noticing it either. I feel weird saying that, having run a server for 6+ years, but it is what it is.

It’s probably unrealistic to expect more than 30-35 players on a server without major lag. If your server is unusable over 20 players, then set your cap at 20.

Server CPU and Memory at some point are a factor in all of this as well, but doesn’t seem to be a game changer to overall expectations of how 1.14 performs.

Hi…

Anyone viewing this thread for considerations on what to do with their server optimization… as of this post (it may not be an issue in a week or 3 months from now), these plugins have major impact on improving overall server performance when removed…

a) AsyncWorldEdit
b) Citizens
c) Any LAG reducing or Entity Stacker plugin (WildStacker, SAML, etc)
d) Any Anti-Cheat plugins (these are very intrusive and creates a lot of overhead you need)

2 Likes

I want to point out that on my server citizens isn’t causing lag but mob farms / mine able spawners plugin which killed my performance . With 15 people I’ve got 20 tps roc stablé with some serious clocks and view distance is set to 8 . Im on a Threadripper 1900x and 32 gigs of ram and an Nvme . If it can help ^^

Hey, you know how you can help this server? I have fewer and fewer ideas …
Timings: https://timings.aikar.co/?id=2ca9d08ee7c74c84b7c405106a96ef18

Hello! I have lag problems on the server, I have seen that you look a little above what people send you and I was wondering if you would have some time to take a look at mine …
Here the link: https://timings.aikar.co/?id=e766058260d24f878771a2b8ec7f5ec4#timings
Thank you.

I’ve also noticed this. Server ran fine on 1.13.2. Now on 1.14.4 we’re down to 12 TPS but gameplay doesn’t seem to take that big of a hit.

Update your Paper server file.

¿What Paper File?