I have discovered with the help of the lag mapping tool that there is an area in the nether that caused extreme levels of lag:
Yellow here means that a chunk as loaded at least once when lag occurred, Red means the chunks were loaded when the worst lag occurred and blue means the chunk was live ALWAYS when lag was occurred. So the yellow areas one can ignore, but the red and blue ones means that this area has been the single biggest source of lag for the whole server, and it’s huge. Every square in this is 16 blocks. It spanned 2×2 regions or more precisely 400×400 blocks. When looking closer at the location, I found the following:
What you can see here is a MASSIVE area of lava flow. Someone (I know at least one person who is involved) has made a huge dig of a nether fortress while building a blaze spawner. While the blaze spawner was not an issue, the lava flow created a huge amount of lag. The server basically immediately went from 20 tps to 10 tps lag (minimum TPS, not 1-minute average) the moment I showed up there – despite the fact that I was alone on the server. Since the lava flow area was so huge and distributed over such a wide area, I could not even fix it. I had to reset the wider area of 4 region files, i.e. 1024×1024 blocks.
I won’t start naming names or banning people here, but this should be a reminder NOT to create unnecessary lava flows.
Oh my!! I can see why this would cause massive lag, good thing u found it!!
Thank you, Uncovery. a reset is more than fair for this.
As likely assumed, this was an attempt to create a lag-less nether fortress farm
With the /tps always showed things to be above 19 on average when I was working in there and seemingly no issues for the other people online during the same time, I had thought I had succeeded.
however, I messed up with the lava lake portion of the build; thinking that it would stop taking up process power once settled. Wish I realized this earlier; would have been trivial to manually lay down the lava buckets compared to the rest of the build.
apologies again, for causing this inconvenience.
It could have been filled in with nether rack
We learn from are mistakes
Just for education:
Water was fixed, lava was not.
In 1.12 water only causes lag during initial spread, and if any player action or block placement, etc, causes it to update, then it rechecks if it should spread.
“Modified liquids” (mojang’s term) such as lava (are there any others?) still cause high amounts of lag and need to be minimized.
The mechanic causing the lag difference is the random block updates function of minecraft. Every tick, the server selects a thousand or so random blocks in any loaded chunks and checks if they can be updated. If yes, they update. This is how crops grow randomly. Blocks closer to players are selected for checking more often.
Water is ignored by this mechanic, it is only triggered when you do something beside it to update it, then it runs until the updates (flowing) hits the end, then back to no use of the server. This is why water flows at a very predictable rate.
In 1.12 lava is checked randomly to see if it can spread. This is why lava spread is uneven and some lava flows before others right beside it, as seen in cobble farms. Worse, is any part of flowing lava is checked, it checks the entire flow (if a lava source is flowing down 10 blocks, if any of the 10 blocks is chosen, it checks all 10). This is half of why flowing lava is laggy. The other half is it also checks to see if the lighting should be updated and this affects every air block until the first solid block up to 15 blocks in every direction of every part of the flow. So if any part of a 10 block flow is checked in an open cavern, the 1 block update turns into 10 (for the flow) + 31 wide (the flow + 15 blocks each way) x 16 high (the flow and 15 above) assuming the floor is solid x 40 long (the flow + 15 blocks each way). This one block update is now a 10 block update and 19840 lighting block update (31x16x40). There is lava beside it and lighting updates take into effect other lights beside to reduce the updates . . blah . .blah . . so in reality it turns a 1 block update into roughly a 495 block update based on testing. Every situation is different, so the math is more an example than hard science. So many variables.
In 1.13 lava will spread at a predictable rate, expanding one block every X ticks (I forget exactly) just like water does now. This may remove the lag issue and it MAY just be like water is now. This is just beta testing.
TL:DR – Flowing lava bad, flowing water, not a big deal once it stops the initial spread but please follow server rules and if you want a lava lake, grab a bucket a place lava one bucket at a time on top of nether rack so there is no flowing lava.
Yes, I research lag ALOT as I do big builds. I am always willing to check a build or provide advice to help so we all have a great building experience.
BTW – your actual farm was very lag efficient. I was impressed as few use such a design and mistake size with efficiency. Small, low lag, high output.
The same applies to the guardian farms many of use have. Usually they are like ~2500 blocks square (~50×50) There is a new-ish design that is only 144 blocks (20×20 X shaped) that produces 90% of the drops of the full size if built low (~Y=39) with some other things that maximize spawning in the few water blocks while minimizing pathing of guardians. I will be converting soon and happy to share.
https://www.youtube.com/watch?v=PcZXtQjhNMo
He uses some flowing lava to shorten the kill drop but encases it in solid blocks to minimize lighting updates. I will not be using lava (given the above and we are on a multiplayer server) and will just have fall damage.
AND . . It changes again. Dinnerbone announced that he is redoing water completely for 1.13. Water will no longer be a “block” but more like a subtype of an air block. No idea on the lag impacts or if it will affect lava as well. I’m sure we will all see in 1.13.