PG85 / OpenTerrainGenerator

Minecraft Terrain Generator for Bukkit/Spigot/Forge
MIT License
197 stars 84 forks source link

[Bug]: 'Pre-generator data saved' causes regular tick lag #957

Closed nickleijenhorst closed 2 years ago

nickleijenhorst commented 2 years ago

Is there an existing issue for this?

Current Behavior

Modpack used: Roguelike Adventures and Dungeons 1.12.2

Server details: Windows 10 Ryzen 2600X 16GB DDR4 500GB Samsung EVO 960 NVMe SSD

Problem I have been battling a problem in my minecraft server which causes a lag spike (duration 1000 - 1500ms) every 45 seconds. After enabling the debug logging with OTG, and monitoring lag with Spark, I can observe the following behavior (printed from server terminal):

[15:56:44] [spark-forge-async-worker/INFO] [minecraft/DedicatedServer]: [?] Tick #805 included GC lasting 43 ms. (type = Young Gen)
[15:56:51] [Server thread/INFO] [OTG]: DEBUG: Pre-generator data saved
[15:56:51] [spark-forge-async-worker/INFO] [minecraft/DedicatedServer]: [?] Tick #929 lasted 1098.4 ms. (2107.92% increase from avg)
[15:56:52] [spark-forge-async-worker/INFO] [minecraft/DedicatedServer]: [?] Tick #930 lasted 388.14 ms. (680.21% increase from avg)
[15:57:36] [Server thread/INFO] [OTG]: DEBUG: Pre-generator data saved
[15:57:36] [spark-forge-async-worker/INFO] [minecraft/DedicatedServer]: [?] Tick #1829 lasted 957.02 ms. (1823.73% increase from avg)

Is this normal behavior? This is a brand new world, and my player is just standing idle. I don't know exactly what Pre-generator data is, and why this needs to be saved so often...

Expected Behavior

I expect that with a brand new world, this lag should not occur on such a regular interval.

Which platforms have you reproduced this issue using?

Forge Multiplayer

OTG Version

OTG 1.12.2-V9.3

Platform Version

No response

Steps To Reproduce

Download the latest Roguelike dungeons modpack, install spark, create a new server and use /spark tickmonitor to see tick lag every 45 seconds

Log file

[15:56:44] [spark-forge-async-worker/INFO] [minecraft/DedicatedServer]: [?] Tick #805 included GC lasting 43 ms. (type = Young Gen) [15:56:51] [Server thread/INFO] [OTG]: DEBUG: Pre-generator data saved [15:56:51] [spark-forge-async-worker/INFO] [minecraft/DedicatedServer]: [?] Tick #929 lasted 1098.4 ms. (2107.92% increase from avg) [15:56:52] [spark-forge-async-worker/INFO] [minecraft/DedicatedServer]: [?] Tick #930 lasted 388.14 ms. (680.21% increase from avg) [15:57:36] [Server thread/INFO] [OTG]: DEBUG: Pre-generator data saved [15:57:36] [spark-forge-async-worker/INFO] [minecraft/DedicatedServer]: [?] Tick #1829 lasted 957.02 ms. (1823.73% increase from avg)

Anything else?

No response

SXRWahrheit commented 2 years ago

The modpack you're using may be automatically running a pre-generator task. Chunk generation is the most expensive task in Minecraft, and the relevant data is rather significant as a result. Unless this can be reproduced outside of the modpack and in a situation where the bug should not occur, this is a modpack configuration issue, not a bug with OTG. Additionally, we generally consider 1.12.2 to be End of Life at this point and are focusing all of our development work on new versions. We welcome any pull requests for 1.12.2 to preserve the version for those who wish to use it, but we cannot reliably continue development work or bug fixes given the long initial support period and the amount of work required for supporting newer versions.