Terrain Control

Terrain Control

235k Downloads

CPU Spikes if OP changes worlds or brand new user joins

corvusmc opened this issue ยท 5 comments

commented

CB: #2712 1.5.1-R0.1 has happened since #2689 1.5-R0.1
TerrainControl: Terrain Control v2.4.9 (has happened since Terrain Control v2.4.8

Hardware: Xeon Quadcore E3-1240
RAM: 5GB
HD: 120GB SSD

Issue:
If a brand new user joins my server, my CPU spikes to 100% and lags the server. If an op changes worlds, the same thing happens. Now this is when a brand new players comes into the already generated spawn, so no generation should be occuring at all.

I disabled TerrainControl (while systematically disabling/enabling each plugin to find the source) and the issue stops completely. So I have two questions.

  • Is there a way to pinpoint what part of Terrain Control is doing this in order to try to keep Terrain Control.
  • Or, if I generate my entire world, since I have a world border set, (well .. two worlds currently) and then uninstall Terrain Control, will this mess anything up?
commented

Uninstalling will of course "fix" the problem.

On world change and login, TC does some logic to send the TC packet, but that should be barely noticeable.

If you want to profile your server, sk89q has written an article over here (scroll down on that page until you see Profiling Minecraft).

commented

I know it is a 'workaround' but I'd prefer to keep TC if possible as it is a phenomenal plugin. This just didn't happen prior to 1.5, so it's a bit confusing. The article on profiling is nice, but I do not have that kind of access to the server, is there a plugin that you are aware of that will do something similar and output a report? Similar to NoLagg /examine.. but that actually works

commented

Maybe /timings?

commented

@corvusmc Did some small changes to how packets are sent.

Could you please test the new (Bukkit-only) build?

commented

I did /timings and discovered that TC only provided a small spike. The issue was actually bPermissions, so I changed to PEX and kept TC and everything ran a lot smoother.

Thank you for the /timings suggestion, I've never used that before and it was extremely informative. Most plugin devs would have stopped at /timings and closed the case. Great dev for a great plugin.