Hbm's Nuclear Tech Mod

Hbm's Nuclear Tech Mod

1M Downloads

EntityGasFlameFX onUpdate causes server hangs

thePalindrome opened this issue ยท 4 comments

commented

version 4242 changed the EntityGasFlame to call moveEntity rather than manually setting position.
With my server hanging for 11 minutes, we ran a profiler trace and traced it to that effect (not sure what's spawning it, as nothing's exploding, we don't really have turrets, haven't used any airstrike callers, and don't have the gas flare placed in world.

Following the profiler, the issue seems to be it doing collision checking for the motion of the gas flame fx, despite it now being flagged as noclip, so hmmm.

Worst comes to worst, we could maybe roll back that change to that file and see if it improves things.

commented

The change in how the "particle" moves was only done in an effort to make it less choppy (surprise, it didn't work). The noclip flag is set for every newly spawned "particle", but despite being a vanilla thing, it's not saved in NBT and is therefore lost as the entity unloads. It's probably a nether geyser or flaming cyclotron at the edge of the last loaded chunk flinging a ton of flame "particles" into an unloaded area, which absolutely murders the game once the chunk loads. Same thing used to happen with the particle controller for regular geysers, but those no longer save when unloaded.

I'll probably just end up removing the "particle" outright and add an actual particle instead, since particles have no real reason to exist serverside anyway.

commented

Checking the tps report, it's in the overworld, and during the times the server responds (which does for a few minutes every so often), we've confirmed our cyclotron is intact, not on fire, and still has plenty of coolant in it.

Admittedly at this point I'd be somewhat curious as to what even created them! The closest reasonable thing that sounds like it could create it is maybe the fracking tower or chemical plant that are at the edge of our automatically chunkloaded area. Either way, switching it to particles would probably help, yeah

commented

EntityGasFlameFX no longer exists with X4251. Where it came from to begin with will probably remain a mystery, the last remaining guess I'd have would be the dropship from an asteroid miner, although its particles only move up and down and wouldn't ever cross chunk borders. Chemical plants use vanilla cloud particles and fracking towers don't use particles at all, so those would be out of the question.

commented

If it was the asteroid miner, that'd make sense. It emits a lot of smoke particles in addition to the fire as it starts up, so it might've just been a matter of the particles getting stuck on the landing pad or whatever and being weird and dumb)

Either way, it's a good idea to move to clientside particles :P