MrTJP / MrTJPCore

Common libraries accross all mods
http://projectredwiki.com/
GNU Lesser General Public License v3.0
13 stars 18 forks source link

Cascading Worldgen Lag #30

Open OnyxNewt opened 6 years ago

OnyxNewt commented 6 years ago

Hi. I have this problem occur when generating chunks. It lags my server to the point where all players will time out and be forced to wait until it catches up to reconnect.

I'm currently running MrTJPCore-1.12.2-2.1.2.34 and project red mods: ProjectRed-1.12.2-4.9.0.83-Base ProjectRed-1.12.2-4.9.0.83-compat ProjectRed-1.12.2-4.9.0.83-fabrication ProjectRed-1.12.2-4.9.0.83-integration ProjectRed-1.12.2-4.9.0.83-lighting ProjectRed-1.12.2-4.9.0.83-world

The following is a snippet of what's spammed into the server's console as my server begins to lag due to player exploration:

[04:37:29] [Server thread/WARN] [FML]: MrTJPCore loaded a new chunk [-216, 44] in dimension 0 (overworld) while populating chunk [-214, 45], causing cascading worldgen lag. [04:37:29] [Server thread/WARN] [FML]: Please report this to the mod's issue tracker. This log can be disabled in the Forge config.

I additionally have over 100 mods installed that I will list if requested. I hope the information I've given you is helpful and thank you in advance.

acanady commented 5 years ago

Yeah I'm getting this same problem. I'm using the RyRyPatPatPackPack IV but i've added a few mods

MagicalPsi -1.2 MrTJPCore-1.12.2-2.1.3.35 ProjectRed - 1.12.2-4.9.1.92-Base,compat,fabrication,integration,lighting,mechanical,world Wireless Redstone Chicken Bones Edition WR-CBE-1.12.2-2.3.0.27

Livux commented 5 years ago

Pre-generate the world.

kitlith commented 5 years ago

https://github.com/MrTJP/ProjectRed/issues/1353

in short, Volcanos from ProjectRed-world are likely the culprit of this.

linkjay commented 5 years ago

I am also having this issue. Almost anytime a player loads new chunks on the world, it causes cascading worldgen lag from . I am running Project Red Base, Integration, World, and Mechanical. I am also using Biomes O Plenty as the world type. I also have more mods.

I have tried disabling volcanoes but that does not solve the issue. My best guess is this is due to something underground that Project Red spawns in because everything is seemingly normal on the surface when generating new chunks.

destrofer commented 5 years ago

Same issue here, but I'm not entirely sure that culprit is Project Red.

I was playing around with Advanced Rocketry for several hours before this started happening. I was in the same area all the time and didn't go anywhere so it shouldn't trigger new chunk generation. Besides I'm pretty sure that all chunks in at least 1000 blocks around that area are already generated since me and my friend were exploring a lot the other day. More than that my friend logged out 4 hours ago, so I was alone. I didn't do anything special at the moment when it just started lagging. After restarting Minecraft and loading save in single player the issue remained.

More than that I think it is worth noting that according to log Project Red keeps generating chunks all over the world in an area around 200 by 200 chunks. Here's tiny part of spam from the log:

[00:51:22] [Server thread/WARN]: MrTJPCore loaded a new chunk [-454, -56] in dimension 0 (overworld) while populating chunk [-453, -55], causing cascading worldgen lag.
[00:51:22] [Server thread/WARN]: Please report this to the mod's issue tracker. This log can be disabled in the Forge config.
[00:51:27] [Server thread/WARN]: MrTJPCore loaded a new chunk [-354, -75] in dimension 0 (overworld) while populating chunk [-354, -74], causing cascading worldgen lag.
[00:51:27] [Server thread/WARN]: Please report this to the mod's issue tracker. This log can be disabled in the Forge config.
[00:51:27] [Server thread/WARN]: MrTJPCore loaded a new chunk [-355, -75] in dimension 0 (overworld) while populating chunk [-354, -74], causing cascading worldgen lag.
[00:51:27] [Server thread/WARN]: Please report this to the mod's issue tracker. This log can be disabled in the Forge config.
[00:51:29] [Server thread/WARN]: MrTJPCore loaded a new chunk [-283, -75] in dimension 0 (overworld) while populating chunk [-282, -74], causing cascading worldgen lag.

I counted more than 20 "hot spots" in the log, with one very curious hot spot: it generated more than 70 chunks, which is way too much for just one volcano.

My MrTJPCore mod version is 1.12.2-2.1.3.35.

For now the save became unplayable and I really hope that this issue will be fixed, since I spent quite a lot of time to build my laboratories and space port.

UPDATE: Today I tried disabling Project Red and MrTJPCore and loading a copy of my save. Server was still overloaded, but started reporting same issue with Thaumcraft. I disabled Thaumcraft and now it was Actually Additions. Later on I created a new game with all mods back on and started it while watching log. There were several warnings of same type about MrTJPCore, but all points were in a very small area around me. More than that it didn't have any noticable impact on server load. So no, this warning in the log has nothing to do with what actually happened. Something else triggered a very wide area chunk generation. For now I'm trying to find out what actually caused the issue. I'll have an update with what I could or couldn't find out later.

UPDATE2: Nothing. Unable to repeat the same issue. I created a new world and constructed a lot of machinery similar way it was before overload. Played around with it. Went over 10k blocks east and then took another path back. Seen several volcanoes, which generated the warning, but it was always in a nearby area and didn't affect game at all. When I returned to starting point I played around with other machinery a bit more. Everything seems to work fine without any hiccups or lag.

For now I'm dropping investigation as checking all the mods by enabling/disabling would require more than a week for me to do these trials with potentially getting no results. For now we'll restart in another world. I'll post any useful information if by chance I get something.

MrTJP commented 5 years ago

Cascading generation typically happens when very large structures are being generated. Since chunks are generated one by one, when a Volcano decides to pop up, there is a good chance that it will be large enough to cover several chunks in all directions. Some of those chunk will not have been generated yet. This forces an adjacent chunk B to be generated even if Minecraft asked Project Red to only generate chunk A.

This is a common issue with many mods. That's why you may see very large amounts of chunks generated. If a volcano cascades and generates 3 extra chunks, and each of those chunks generates a structure from another mod that cascades out another 3 chunks each, then the log will report that Project Red cascaded 9 chunks when it only did 3.

This is not high priority but I do plan to address it in the next major version.

Kylar1014 commented 4 years ago

Hey MrTJP, just wanted to ask if you'd been able to find a fix for this issue? Love the volcanos, but the lag can be a killer sometimes.

Bjonnfesk commented 4 years ago

Hey MrTJP, just wanted to ask if you'd been able to find a fix for this issue? Love the volcanos, but the lag can be a killer sometimes.

It's not really something you can just fix as such. Cascading worldgen lag is practically inherent when large structures are generated using the current Minecraft world generation system. MrTJP explained it very well in his previous post here.

Kylar1014 commented 4 years ago

Bjonnfesk, Thank you for responding to my post. I asked the question because MrTJP clearly stated that he intends to address the issue. As a fan of the mod and what it brings to the game we all love, I simply wanted to see how things were going. Cheers and hope you're having an awesome 2020!

msgerbs commented 4 years ago

Hey MrTJP, just wanted to ask if you'd been able to find a fix for this issue? Love the volcanos, but the lag can be a killer sometimes.

It's not really something you can just fix as such. Cascading worldgen lag is practically inherent when large structures are generated using the current Minecraft world generation system. MrTJP explained it very well in his previous post here.

That's not really true. Look at how vanilla mineshafts and such are done, they generate 1 chunk at a time.

Fraeduu commented 4 years ago

Hey MrTJP, just wanted to ask if you'd been able to find a fix for this issue? Love the volcanos, but the lag can be a killer sometimes.

It's not really something you can just fix as such. Cascading worldgen lag is practically inherent when large structures are generated using the current Minecraft world generation system. MrTJP explained it very well in his previous post here.

That's not really true. Look at how vanilla mineshafts and such are done, they generate 1 chunk at a time.

and I'm sure you know how many generation issues there can be with mineshafts

ZKing1000 commented 4 years ago

I've been having this issue with my mod pack for a while now, also.

msgerbs commented 4 years ago

Hey MrTJP, just wanted to ask if you'd been able to find a fix for this issue? Love the volcanos, but the lag can be a killer sometimes.

It's not really something you can just fix as such. Cascading worldgen lag is practically inherent when large structures are generated using the current Minecraft world generation system. MrTJP explained it very well in his previous post here.

That's not really true. Look at how vanilla mineshafts and such are done, they generate 1 chunk at a time.

and I'm sure you know how many generation issues there can be with mineshafts

As a server admin I would rather have occasionally bugged volcano generation than have 10+ second total hangups while MrTJPCore generates 30+ chunks in one tick.