Closed SlimeDog closed 5 years ago
We need the full log from startup because the reason for why BentoBox is not starting up is likely above what you pasted.
https://blackdog.straight8.com/drops/log-for-BentoBox.txt
Note that BentoBox is enabled approximately 6 seconds after the "not enabled" messages. Despite those messages, BentoBox, BSkyBlock, Challenges, and Level are enabled and appear to work correctly.
Please let me know when you have the log file, so I can delete it (I try to keep the dropbox clean).
log.txt.zip I got the file. In the future, you can just zip it and drag and drop into the github text box like this.
Question: Do you have BentoBox specified anywhere in say bukkit.yml? I suspect not, but I thought I'd ask.
What I see is that the worlds are loading before BentoBox is enabled and this error is coming from the server code itself (WorldCreator.java to be specific). I don't know why the server knows that the world generator is BentoBox because BentoBox itself should be the one to load this world. I suspect that it may be a conflict with WorldEdit. I'm going to try and see I can replicate the issue.
No mentions of BentoBox (or any variant lower- or upper-case) in any of the server-level YAML files.
I agree with your assessment. Potentially relevant plugins versions:
Multiverse-Core version 2.7.0-SNAPSHOT-b749
WorldEdit version 7.0.0-SNAPSHOT;4003-fadcf1a
I tried both of those and they're okay. I've been trying to see if Residence causes the worlds to load. Unfortunately, it's a premium plugin and the source code doesn't build due to dependencies so I can't test it. As it is FREE software under the GPL it is absolutely fine for you to place a zipped copy in this ticket so I can test it. I'll delete it afterward out of respect for the author's desire to charge, but I'd appreciate the help.
License: https://github.com/Zrips/Residence/blob/master/LICENSE
Fortunately: With previous developers approval, this plugin went from free to "Premium" to help motivate the active developer and push allot more updates and bug fixes in near feature. If you don't appreciate hard work put on this plugins updates, you are welcome to download the same versions for free here but he will be sad and will come to haunt you in your dreams!
I am using version 4.8.4.4
BTW, I support a lot of developers. You could be one of them, if you posted a donation link.
Thanks. It doesn't seem to be Residences. From the log, it looks like Multiverse is being enabled before BentoBox, but BentoBox has a loadbefore statement in plugin.yml to specifically load before it, so I'm not sure why that would be happening. I can't seem to make it happen on my server. I suspect this should not cause a problem because when BentoBox loads it'll immediately set the generator to BentoBox. Do you see any artifacts or issues?
I do not detect any negative consequences. Only the messages.
It is vaguely worrisome that loadbefore is not honored. However:
loadbefore:
- Treated as if the listed plugin soft depends on this plugin.
so you might be able to resolve it by adding
softdepend: [Multiverse-Core]
Let me make you a build with that and you can try and see if that helps at all.
I can edit plugin.yml myself. :)
That change did not work. Same messages as before. I guess that isn't a complete surprise, given:
loadbefore:
- Treated as if the listed plugin soft depends on this plugin.
Is it possible that [softdepend] and [loadbefore] do not like hyphens?
bentobox-1.2.1-SNAPSHOT.jar.zip Try this one build and see if it works.
Wait, you just tried it yourself. That build won't help.
So, can you try a copy of your server on a test server and see if deleting plugins reveals anything?
Why not? I unzipped the jar, edited plugin.yml to add a softdepend for Multiverse-Core, re-zipped the jar. In my experience, that works fine. But I tried your build also: same result (as expected).
[15:08:34] [Server thread/INFO]: [Multiverse-Core] Loading Multiverse-Core v3.0.0-SNAPSHOT-b758
[15:08:34] [Server thread/INFO]: [BentoBox] Loading BentoBox v1.2.1-SNAPSHOT
[15:08:48] [Server thread/INFO]: [Multiverse-Core] Enabling Multiverse-Core v3.0.0-SNAPSHOT-b758
[15:08:50] [Server thread/INFO]: Could not set generator for world 'world_skyblock_the_end': Plugin 'BentoBox v1.2.1-SNAPSHOT' is not enabled
[15:08:50] [Server thread/INFO]: Could not set generator for world 'world_skyblock_the_end': Plugin 'BentoBox v1.2.1-SNAPSHOT' is not enabled
[15:08:50] [Server thread/INFO]: Could not set generator for world 'world_skyblock_nether': Plugin 'BentoBox v1.2.1-SNAPSHOT' is not enabled
[15:08:50] [Server thread/INFO]: Could not set generator for world 'world_skyblock_nether': Plugin 'BentoBox v1.2.1-SNAPSHOT' is not enabled
[15:08:51] [Server thread/INFO]: Could not set generator for world 'world_skyblock': Plugin 'BentoBox v1.2.1-SNAPSHOT' is not enabled
[15:08:51] [Server thread/INFO]: Could not set generator for world 'world_skyblock': Plugin 'BentoBox v1.2.1-SNAPSHOT' is not enabled
[15:08:55] [Server thread/INFO]: [Multiverse-Core] 17 - World(s) loaded.
[15:08:56] [Server thread/INFO]: [Multiverse-Core] Version 3.0.0-SNAPSHOT-b758 (API v22) Enabled - By Rigby, fernferret, lithium3141, main-- and dumptruckman
[15:09:00] [Server thread/INFO]: [SavageGraveyards] Multiverse-Core detected.
[15:09:17] [Server thread/INFO]: [BentoBox] Enabling BentoBox v1.2.1-SNAPSHOT
[15:09:17] [Server thread/INFO]: [BentoBox] Hooking with Vault...
[15:09:17] [Server thread/INFO]: [BentoBox] Hooking with PlaceholderAPI...
[15:09:17] [Server thread/INFO]: [BentoBox] Loading addons...
[15:09:17] [Server thread/INFO]: [BentoBox] Loading island.schem for world_skyblock
[15:09:17] [Server thread/INFO]: [BentoBox] Loading nether-island.schem for world_skyblock_nether
[15:09:17] [Server thread/INFO]: [BentoBox] Loading end-island.schem for world_skyblock_the_end
[15:09:17] [Server thread/INFO]: [BentoBox] Loaded 3 addons.
[15:09:17] [Server thread/INFO]: [BentoBox] Enabling addons...
[15:09:18] [Server thread/INFO]: [BentoBox] Enabling BSkyBlock...
[15:09:18] [Server thread/INFO]: [BentoBox] Enabling Level...
[15:09:18] [Server thread/INFO]: [BentoBox] Loading challenges...
[15:09:18] [Server thread/INFO]: [BentoBox] Enabling Challenges...
[15:09:18] [Server thread/INFO]: [BentoBox] Addons successfully enabled.
[15:09:19] [Server thread/INFO]: [ItemJoin] Hooked into Multiverse-Core!
[15:09:20] [Server thread/INFO]: [VoidSpawn] BentoBox found, initializing support.
[15:09:20] [Server thread/INFO]: [VoidSpawn] BentoBox support initialized.
[15:09:41] [Server thread/INFO]: [BentoBox] Added world SkyBlock (HARD)
[15:09:41] [Server thread/INFO]: [BentoBox] Hooking with Multiverse-Core...
[15:09:41] [Server thread/INFO]: Success! Property generator was set to BentoBox
[15:09:41] [Server thread/INFO]: Success! Property generator was set to BentoBox
[15:09:41] [Server thread/INFO]: Success! Property generator was set to BentoBox
[15:09:41] [Server thread/INFO]: BentoBox 1.2.1-SNAPSHOT loaded successfully.
[15:11:18] [Server thread/INFO]: BentoBox version 1.2.1-SNAPSHOT
[15:11:18] [Server thread/INFO]: Website: https://bentobox.world
Which plugins would you like me to delete? I don't understand how removing other plugins would change the enable order of BentoBox wrt Multiverse-Core.
Okay, good news - I just had the issue happen and I only have Multiverse and BentoBox on my server, so it does appear like for some reason Multiverse was loading before BentoBox. This was with the build that tried the soft-depend. I recompiled the build to go back to loadbefore and it now loads in the correct order. Here's that version attached. Is it random? I don't know. Can you see if this works for you? bentobox-1.2.1-SNAPSHOT.jar.zip
For donations, um could you send an Amazon gift card code to donate@bentobox.world?
I was wrong. My reading (and some experimentation) suggest that load order is not directly relevant, despite the name of the directive (loadbefore). Enable order is the issue. Looking at CityWorld (another generator), I see in plugin.yml
loadbefore: [Multiverse-Core]
just like BentoBox 1.2.0 (Multiverse-Core has neither loadbefore nor softdepend directives). As you can see, both BentoBox and CityWorld are loaded prior to Multiverse-Core. But CityWorld is enabled prior to Multiverse-Core, and BentoBox is not.
[17:25:17] [Server thread/INFO]: [CityWorld] Loading CityWorld v4.04
[17:25:18] [Server thread/INFO]: [BentoBox] Loading BentoBox v1.2.0
[17:25:18] [Server thread/INFO]: [Multiverse-Core] Loading Multiverse-Core v3.0.0-SNAPSHOT-b758
[17:25:19] [Server thread/INFO]: [CityWorld] Enabling CityWorld v4.04
[17:25:19] [Server thread/INFO]: [CityWorld] Loading default settings
[17:25:19] [Server thread/INFO]: [CityWorld] Enabled
[17:25:36] [Server thread/INFO]: [Residence] - Enabling multiworld plugin: Multiverse-Core
[17:25:36] [Server thread/INFO]: [Multiverse-Core] Enabling Multiverse-Core v3.0.0-SNAPSHOT-b758
[17:25:38] [Server thread/INFO]: Could not set generator for world 'world_skyblock_the_end': Plugin 'BentoBox v1.2.0' is not enabled
[17:25:38] [Server thread/INFO]: Could not set generator for world 'world_skyblock_the_end': Plugin 'BentoBox v1.2.0' is not enabled
[17:25:38] [Server thread/INFO]: Could not set generator for world 'world_skyblock_nether': Plugin 'BentoBox v1.2.0' is not enabled
[17:25:38] [Server thread/INFO]: Could not set generator for world 'world_skyblock_nether': Plugin 'BentoBox v1.2.0' is not enabled
[17:25:38] [Server thread/INFO]: Could not set generator for world 'world_skyblock': Plugin 'BentoBox v1.2.0' is not enabled
[17:25:38] [Server thread/INFO]: Could not set generator for world 'world_skyblock': Plugin 'BentoBox v1.2.0' is not enabled
[17:25:39] [Server thread/INFO]: CityWorld creating world 'world_city_the_end'
[17:25:39] [Server thread/INFO]: [CityWorld] Found Minecraft v1.130, CityWorld is compatible - WOOT!
[17:25:40] [Server thread/INFO]: CityWorld creating world 'world_city_the_end'
[17:25:40] [Server thread/INFO]: [CityWorld] Found Minecraft v1.130, CityWorld is compatible - WOOT!
[17:25:42] [Server thread/INFO]: CityWorld creating world 'world_city'
[17:25:42] [Server thread/INFO]: [CityWorld] Found Minecraft v1.130, CityWorld is compatible - WOOT!
[17:25:43] [Server thread/INFO]: CityWorld creating world 'world_city'
[17:25:43] [Server thread/INFO]: [CityWorld] Found Minecraft v1.130, CityWorld is compatible - WOOT!
[17:25:43] [Server thread/INFO]: CityWorld creating world 'world_city_nether'
[17:25:43] [Server thread/INFO]: [CityWorld] Found Minecraft v1.130, CityWorld is compatible - WOOT!
[17:25:44] [Server thread/INFO]: CityWorld creating world 'world_city_nether'
[17:25:44] [Server thread/INFO]: [CityWorld] Found Minecraft v1.130, CityWorld is compatible - WOOT!
[17:25:44] [Server thread/INFO]: [Multiverse-Core] 17 - World(s) loaded.
[17:25:44] [Server thread/INFO]: [Multiverse-Core] Version 3.0.0-SNAPSHOT-b758 (API v22) Enabled - By Rigby, fernferret, lithium3141, main-- and dumptruckman
[17:25:45] [Server thread/INFO]: [BentoBox] Enabling BentoBox v1.2.0
Just for fun, I inserted
softdepend: [BentoBox]
into Multiverse-Core. This did not have the expected effect: the results were the same. It causes me to muse:
This line is suspicious:
[Residence] - Enabling multiworld plugin: Multiverse-Core
I found this in the Residence code: https://github.com/bekvon/Residence/blob/2759d7e81bad48d899af18487c06977cffa4ed14/src/com/bekvon/bukkit/residence/Residence.java#L204
Clearly it enables the Multiverse plugin if it isn't already enabled. So, what's happening is that Residence is forcing Multiverse to enable when it does. Residence does not put Multiverse-Core as a softdepend in its plugin.yml, probably because they wanted to make the multiword plugin a setting (in their config.yml) but as a result you get this weird behavior where it is breaking the enable ordering and disregarding the load ordering contract that plugins have with the server. They should not be doing that because it now forces all plugins that must load before Multiverse to also now put Residence as a loadbefore item. Hmm.
Here's a BentoBox with Residence as a loadbefore (or you can edit the plugin.yml yourself). Please try it and confirm.
Yikes! I confirm that the errors are gone.
Why do people do this? It would be so simple for Residence to specify loadbefore.
Will you post the issue, or shall I?
I'll file a bug report and let's see if they can fix this.
Thanks. They certainly can. I hope they will. They have not been responsive to the issues I have filed; not even comments. :(
It's because they're no longer working on this repo. They're using this one: https://github.com/Zrips/Residence/issues
That's the repo I use. Of the 20 most-recently updated, only 8 have comments (and not all by the devs). :(
I'll close this bug for now but we can see if anything comes of the ones I posted.
@SlimeDog Zrips fixed the bug.
Description BentoBox is reported as not enabled on start-up, twice for each BSkyBlock world.
Steps to reproduce the behavior:
Log (partial)
Server Information: