EssentialsX

EssentialsX

2M Downloads

Server stall

Eufranio opened this issue ยท 14 comments

commented

My server won't start anymore because EssentialsX is checking Fake Players for protection perms to break signs. That way, all the server will stall if the sign being broken by a Fake Player is on a loaded chunk on startup. If it matter, that's the stall report: https://gist.github.com/Eufranio/0f2ebcce625dff28af9544fb44bc699a

I can't retrieve versions right now (because ofc the server won't start), but I'm running EssentialsX on a modded server environment, using Thermos build 58, and Forge 1.7.10.

commented

Closing due to inactivity and the use of a no-longer-supported version of Minecraft.

commented

I already fixed it myself.

commented

1.7.10 isn't well supported by recent versions of EssentialsX, and Thermos has been discontinued so there doesn't seem to be much we can do about this.

commented

Can't you add a way to completely disable all sign checks?

commented

This doesn't appear to be an EssentialsX issue, although I can't verify this because I don't know which version of EssentialsX you're running. As far as I can tell, this is an issue with Thermos (CraftBlock#getType, CraftBlock#getTypeId) - there isn't a player check at all in the EssentialsSign#checkIfBlockBreaksSigns method.

commented

It shouldn't be a EssentialsX problem, but a way to disable the checks would help, and since this problem isn't present in other plugins when they call CraftBlock#getType() nor CraftBlock#getTypeId(). It could be a lot of checks (the Fake Player might be doing it every tick), it would take a bit more time to proccess since modded servers have A LOT more block types. Also, since this is a stall and not a crash, something DID take too much time to proccess.

So, my suggestion is to add a config option to disable sign checks. Essentials was the only plugin that caused this problem, and a simple config option wouldn't cause trouble to servers that aren't using it...

commented

You can disable most sign checks by disabling all Essentials signs in the config (including coloured signs). There isn't currently any other way to disable sign checks.

commented

They are already disabled, altrough disabling them won't fix the issue (checkBlockBreaksSign is still called somewhere...)

commented
	at com.earth2me.essentials.signs.EssentialsSign.checkIfBlockBreaksSigns(EssentialsSign.java:201)
	at com.earth2me.essentials.signs.SignBlockListener.protectSignsAndBlocks(SignBlockListener.java:48)
	at com.earth2me.essentials.signs.SignBlockListener.onSignBlockBreak(SignBlockListener.java:38)

If there aren't any signs enabled under enabledSigns, then Essentials will consider signs to be disabled. onSignBlockBreak checks whether or not signs are disabled, and shouldn't try to protect signs if they are. If you have another stall report with a different stack trace then I can try to figure it out from that, but otherwise I don't see what could cause this.

Could you try and retrieve your version from the plugin.yml inside the EssentialsX jar?

commented

I can do that: version: 2.0.1-b472, and I'm sure I don't have signs enabled, my config: https://gist.github.com/Eufranio/5e08e300799cb4ff9a4d1cca33726e9c

commented

@md678685 could you compile a EssentialsX build without the sign stuff?

commented

The changes for "fix silent error when creating signs" - there might have been related changes but what's important is the entire startup log.

commented

Can you update to the latest build of EssX and paste the full log output on Gist?

commented

Will do. What exact commit am I testing that?