Enjin CMS + DonationCraft Plugin [v3.4.3] API [5.x, 6.x, 7.x]

@Chrisb @Favorlock (hopefully mentioning the devs)

On my server forge 1.10.2 with Sponge adding the Enjin plugin brings idle CPU (no players) from 0% to 90%.

I can reproduce this every time, so if you have any timings requests I can send you, just tell me what to profile.

Iā€™d just recommend providing timings of whatever you can that might point out what is causing the problem. I frankly donā€™t know of anything specific we can ask you to profile.

It seems performance is currently doing okay but I get many errors in the console:

 CONSOLE: value present```

with the `enjin-minecraft-plugin-S-52` counting up rapidly. How can I enable it to show the whole error?

Not sure, it should show. Perhaps Sponge is hiding the errors that occur in a task.

I was searching everywhere but all error options are not workingā€¦

Can we get PermissionManager support? [Abandoned] šŸ”‘ PermissionManager [v3.0.1] [API 5.X] A simple and easy permission plugin
That would be awesome! Thanks.

3 Likes

Been changing and experimenting with the enjin plugin and different versions when running PermissionManager. Sometimes it says the server is online in the status dropdown module editor it says (ON), but then when you see the module on the home page itā€™s down. Now itā€™s back to (OFF). I have no idea whatā€™s going on. It seems weird that I would be able to pass all the debug reports and visit the donation shop in-game, but nothing else works.

We are having a problem with EMP and permissionmanager as well.

Here is a pastebin that shows in startup.

PermissionManager v2 doesnā€™t work with Enjin currently. We are waiting an update from their plugin to support the new version of PermissionManager.

We are aware the plugin is currently incompatible. I will be working on fixing this soon. Currently just been a little busy.

3 Likes

Is this opensource? If not, are you willing to give someone access in order to create a backport of your fixes to Sponge 4.x.x Itā€™s creating a lot of issues for older servers that either canā€™t or wonā€™t update to 1.10 yet for various reasons.

Unfortunately no, Iā€™ve talked with the higher ups on numerous occasions and they say they donā€™t feel open-sourcing the plugin. Iā€™ll think about ways I can potentially implement 4.x support without maintaining a separate branch (if possible), however, my priority is maintaining the plugin at the latest sponge version.

Alternatively someone will likely just decompile it, make it work better and post it somewhere

People have already tried that. Itā€™s pretty simple to have any fake/unofficial EMP plugins removed on spigot/sponge. And if we manage to discover any plugins that use our source code on any of the version management websites it only takes a DMCA request to pull the plug on them. Weā€™ve done it before, albeit we simply messaged them asking them to remove the source and they complied.

Unless servers just pass it around in private or places that you wonā€™t look, what iā€™m really trying to get at is that whoever runs enjin need to either pay you more so you can spend more time on it or get you a team, cos so far the Forge port on Curse worked better than your current version from what i have read and heard from server owners.
Absolutely no offence intended to you, i understand the position you are in, i have several Pixelmon side-mods that i maintain mostly on my own and everyone expects them to always be updated but thatā€™s not always possible

Yeah, the 3rd party forge mod is based on our 2.x series source, so they just improved our previous series. I know a lot of the issues that have been reported have been extremely difficult to reproduce as they appear to be context sensitive, so itā€™s been a bit of a struggle fixing some of the issues. As for sponge, it just has less priority than spigot given that bukkit has always been our main platform. Iā€™ll be working more on all the plugins here soon, I was on an extended hiatus for a couple months while dealing with some other stuff, but all that is out of the way now. Enjin prefers to keep the team smaller, and itā€™s not like they are super rich and can afford to hire teams of people to just work on a plugin when thatā€™s only a small portion of their actual service.

All good, the frustrating bit was when you moved to only supporting 5.0.0 was before API 5 was released.

The main 2 problems I can see, is the spam saying that UUIDā€™s are in an invalid format.

[15:07:01] [Server thread/ERROR] [Sponge/]: The Scheduler tried to run the task com.enjin.sponge-S-9861 owned by org.spongepowered.mod.plugin.SpongeModPluginContainer@1e99c8a6, but an error occured.
java.lang.IllegalArgumentException: Invalid UUID string: 
	at java.util.UUID.fromString(UUID.java:194) ~[?:1.8.0_91]
	at com.enjin.sponge.sync.SpongeInstructionHandler.lambda$execute$0(SpongeInstructionHandler.java:67) ~[SpongeInstructionHandler.class:?]
	at org.spongepowered.api.scheduler.Task$Builder.lambda$execute$0(Task.java:138) ~[Task$Builder.class:1.8.9-1890-4.2.0-BETA-1762]
	at org.spongepowered.common.scheduler.SchedulerBase.lambda$startTask$0(SchedulerBase.java:177) ~[SchedulerBase.class:1.8.9-1890-4.2.0-BETA-1762]
	at org.spongepowered.common.scheduler.SyncScheduler.executeTaskRunnable(SyncScheduler.java:66) ~[SyncScheduler.class:1.8.9-1890-4.2.0-BETA-1762]
	at org.spongepowered.common.scheduler.SchedulerBase.startTask(SchedulerBase.java:174) ~[SchedulerBase.class:1.8.9-1890-4.2.0-BETA-1762]
	at org.spongepowered.common.scheduler.SchedulerBase.processTask(SchedulerBase.java:160) ~[SchedulerBase.class:1.8.9-1890-4.2.0-BETA-1762]
	at java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4707) [?:1.8.0_91]
	at org.spongepowered.common.scheduler.SchedulerBase.runTick(SchedulerBase.java:104) [SchedulerBase.class:1.8.9-1890-4.2.0-BETA-1762]
	at org.spongepowered.common.scheduler.SyncScheduler.tick(SyncScheduler.java:41) [SyncScheduler.class:1.8.9-1890-4.2.0-BETA-1762]
	at org.spongepowered.common.scheduler.SpongeScheduler.tickSyncScheduler(SpongeScheduler.java:191) [SpongeScheduler.class:1.8.9-1890-4.2.0-BETA-1762]
	at org.spongepowered.mod.SpongeMod.onTick(SpongeMod.java:222) [SpongeMod.class:1.8.9-1890-4.2.0-BETA-1762]
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_8_SpongeMod_onTick_ServerTickEvent.invoke(.dynamic) [?:?]
	at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:49) [ASMEventHandler.class:?]
	at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:112) [EventBus.class:?]
	at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:83) [EventBus.class:?]
	at net.minecraftforge.fml.common.FMLCommonHandler.onPreServerTick(FMLCommonHandler.java:266) [FMLCommonHandler.class:?]
	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:594) [MinecraftServer.class:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:481) [MinecraftServer.class:?]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_91]

And that commands seemed to be running asynchronously instead of the main thread.

Fixing those 2 only would reduce the 2 biggest problems, the fact that the logs are being spammed with exceptions making them almost unreadable, and that command processing randomly breaks.

I couldā€™ve sworn we switched to 5.x only once they released it. PEX had already switched by that time from what I remember. Iā€™ll look into that error. I changed some stuff with UUID handling, but Iā€™m not 100% sure that weā€™ve pushed a new update for sponge since then.

on August 19th

API 5.0.0 was released as stable shortly after the State of Sponge which occurred on October 15th.

What you have been targetting between then has been the snapshots/bleeding which means the API you are building against is potentially changing each commit.

Itā€™s appreciated that plugins have releases for snapshot / bleeding (for people to test developmental builds and discover bugs) but they should be concentrating on the current release.

So Iā€™m sure you can start to understand the frustration that server operators must have been feeling, given the implied message ā€œUpdate to dev builds which there isnā€™t even a stable API out for, let alone stable implementations.ā€

Some of them did, as they saw being on 1.10 a bigger draw then using stable software.

Ah, my bad, I mistook it as a release version based off what people were telling me and what I was seeing with other plugins. Iā€™ll look and see what I can do to support the most recent version of 4.x along with 5.x if possible.