Open Terrain Generator (OTG)

Open Terrain Generator (OTG)

9M Downloads

Biome Bundle 6.1 - Server Performance

Alaberti opened this issue · 13 comments

commented

We been having some terrible TPS on our server recently (with 4+ people on a pack with < 75 mods), and when I ran a tick profiler this is what I got:

Last tick 0.22270685s ago."Server thread" RUNNABLE
at com.pg85.otg.WorldSession.GetParticlesForChunk(WorldSession.java:157)
at com.pg85.otg.forge.events.ServerEventListener.findChunksForSpawning(ServerEventListener.java:516)
at com.pg85.otg.forge.events.ServerEventListener.onServerTick(ServerEventListener.java:618)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_645_ServerEventListener_onServerTick_ServerTickEvent.invoke(.dynamic)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179)
at net.minecraftforge.fml.common.FMLCommonHandler.onPostServerTick(FMLCommonHandler.java:264)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:710)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:524)
at java.lang.Thread.run(Thread.java:745)

I don't t know if there's anything for you to optimize, but I am curious about what these events are?

commented

Based on unrelated but still relavent testing, this is not biome bundle specific and also occurs in vanilla-like OTG worlds as well as any other OTG-generated world no matter the config.
Tested OTG “vanilla gen” vs. true vanilla on same server with same specs, different worlds, same worlds, different dimensions, etc.

(Personal!) Conclusion:
OTG may just need some optimizations. Though OTG is a highly complex and awesome mod that replaces vanilla world gen entirely (hence why I put quotes around “OTG vanilla gen” — it can only recreate vanilla-like worldgen at best) so please keep that in mind if you’re directly waiting.

commented

Hey, thanks for reporting this. That's indeed one of the newer features (Particles) that hasn't been optimised yet, I had a hunch it would be a bit inefficient but didn't think it would be significant. Thanks for tracking this down, will take a look at it asap.

commented

Please fix it, entities moves with pauses.
Or maybe disable this future temporary...

commented

You should be able to get rid of this problem by removing any OTG dimension that uses particles or spawners in custom structures. Are you using OTG-dungeons by any chance?

commented

I use only Biome Bundle and lag spikes causes in Overworld.
I had to remove all the code from here so that there were no such big lags

commented

Could you try this and tell me if it fixes the problem? Thanks!
OTG 1.12.2 v4 - Particles.zip

commented

I too an experiencing a significant amount of lag with only 3-4 players online using OTG and biome bundle.
Would this file simply be added in addition to the otg and biome bundle jars, or replace it?

EDIT: Nvm, I got it. I'll let you know if it helps.

commented

Hi. I'm experiencing a simmilar issue, with all mobs moved with regular pauses, every second or so.
I use Biome Bundle too.
It appeared after pregening a lot, even if pregen is not running.

I managed to fix my problem, but I'm not sure this is the correct way of fixing it.

What I did was, I made a copy of the whole server, and I removed all my region files for overworld.
Still had the same problem with a "new" world.
I then removed a lot of other mods, that didn't help.
So I started to remove other files one by one. And when I removed the StructureData.txt inside "Biome Bundle/OpenTerrainGenerator/" folder, the lag was suddenly gone.
I the did the same to my production server, and the lag was gone.

This file stores every structure it generates with cooordinates, if I read it correct. And by structure, I mean every small formation of rocks in the generator.
When the server starts, it logs that it loads over 30000 structure chunks, before I deleted the file.

What is the purpose of that file? The structures are already saved to world/region files I guess.

Regards,
Morten

commented

I was able to correct the issue by using the OTG 1.12.2 v4 - Particles.zip file. As soon as I used it, the problem went away. The only side effect was some biomes had slightly different coloured grass afterwards.

commented

The only side effect was some biomes had slightly different coloured grass afterwards.

Yes, I confirm also. Autumn Forest from Biomes Bundle became just green like common forest instead cool yellow color.

commented

That is great to hear, I will try it myself too.

I'm just really curious what this StructureData.txt file is for, and if that has anything to do with this problem at all. I had the exact same symptoms, and my problem was fixed by clearing that file.
It seems like it really started to struggle when it past 30000 structure chunks to load at startup.

I can't really remember what part of otg made my server lag. I ran tick profiler, and it got a lot of "lag tick", but I forgot to save the output.
I will run it again later today.

commented

Got this (big) problem too, the "particles.zip file" save the situation.

commented

https://minecraft.curseforge.com/projects/open-terrain-generator/files/2530367 and https://minecraft.curseforge.com/projects/open-terrain-generator/files/2530369 for 1.11.2 and 1.12.2 are available on curseforge and contain this fix. Thanks for the feedback all!

@snurre0: The structuredata file contains data about unfinished structures, particles and spawners. In this case it was querying the structuredata far more often than it should (and I think also saving more than it should, can't recall 100%).