Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BentoBox not enabled on start-up #503

Closed
SlimeDog opened this issue Jan 29, 2019 · 25 comments
Closed

BentoBox not enabled on start-up #503

SlimeDog opened this issue Jan 29, 2019 · 25 comments
Assignees
Milestone

Comments

@SlimeDog
Copy link

Description
BentoBox is reported as not enabled on start-up, twice for each BSkyBlock world.

Steps to reproduce the behavior:

  1. Start server
  2. See error

Log (partial)

[12:21:04] [Server thread/INFO]: Could not set generator for world 'world_skyblock': Plugin 'BentoBox v1.2.0' is not enabled^[[m
[12:21:04] [Server thread/INFO]: -------- World Settings For [world_skyblock] --------
[12:21:04] [Server thread/INFO]: Mob Spawn Range: 6
[12:21:04] [Server thread/INFO]: Max TNT Explosions: 100
[12:21:04] [Server thread/INFO]: Tile Max Tick Time: 50ms Entity max Tick Time: 50ms
[12:21:04] [Server thread/INFO]: Experience Merge Radius: 3.0
[12:21:04] [Server thread/INFO]: Cactus Growth Modifier: 100%
[12:21:04] [Server thread/INFO]: Cane Growth Modifier: 100%
[12:21:04] [Server thread/INFO]: Melon Growth Modifier: 100%
[12:21:04] [Server thread/INFO]: Mushroom Growth Modifier: 100%
[12:21:04] [Server thread/INFO]: Pumpkin Growth Modifier: 100%
[12:21:04] [Server thread/INFO]: Sapling Growth Modifier: 100%
[12:21:04] [Server thread/INFO]: Beetroot Growth Modifier: 100%
[12:21:04] [Server thread/INFO]: Carrot Growth Modifier: 100%
[12:21:04] [Server thread/INFO]: Potato Growth Modifier: 100%
[12:21:04] [Server thread/INFO]: Wheat Growth Modifier: 100%
[12:21:04] [Server thread/INFO]: NetherWart Growth Modifier: 100%
[12:21:04] [Server thread/INFO]: Vine Growth Modifier: 100%
[12:21:04] [Server thread/INFO]: Cocoa Growth Modifier: 100%
[12:21:04] [Server thread/INFO]: Entity Activation Range: An 48 / Mo 48 / Mi 32 / Tiv true
[12:21:04] [Server thread/INFO]: Entity Tracking Range: Pl 48 / An 48 / Mo 48 / Mi 32 / Other 64
[12:21:04] [Server thread/INFO]: Hopper Transfer: 8 Hopper Check: 1 Hopper Amount: 1
[12:21:04] [Server thread/INFO]: Random Lighting Updates: true
[12:21:04] [Server thread/INFO]: Custom Map Seeds:  Village: 10387312 Desert: 14357617 Igloo: 14357618 Jungle: 14357619 Swamp: 14357620 Monument: 10387313Ocean: 14357621 Shipwreck: 165745295 Slime: 987234911
[12:21:04] [Server thread/INFO]: View Distance: 10
[12:21:04] [Server thread/INFO]: Allow Zombie Pigmen to spawn from portal blocks: true
[12:21:04] [Server thread/INFO]: Item Merge Radius: 2.5
[12:21:04] [Server thread/INFO]: Item Despawn Rate: 6000
[12:21:04] [Server thread/INFO]: Arrow Despawn Rate: 1200
[12:21:04] [Server thread/INFO]: Zombie Aggressive Towards Villager: true
[12:21:04] [Server thread/INFO]: Nerfing mobs spawned from spawners: false
[12:21:04] [Server thread/INFO]: Preparing start region for level 9 (Seed: -2422758088875895270)
[12:21:04] [Server thread/INFO]: [WorldGuard] (world_skyblock) TNT ignition is PERMITTED.
[12:21:04] [Server thread/INFO]: [WorldGuard] (world_skyblock) Lighters are PERMITTED.
[12:21:04] [Server thread/INFO]: [WorldGuard] (world_skyblock) Lava fire is blocked.
[12:21:04] [Server thread/INFO]: [WorldGuard] (world_skyblock) All fire spread is disabled.
[12:21:04] [Server thread/INFO]: [WorldGuard] Loaded configuration for world 'world_skyblock'
[12:21:04] [Server thread/INFO]: Could not set generator for world 'world_skyblock': Plugin 'BentoBox v1.2.0' is not enabled^[[m

Server Information:

  • Database being used (YAML, JSON, MySQL, MongoDB, MariaDB): YAML
  • OS: CentOS Linux
  • Java Version: 8
  • BentoBox version:
>bbox version
[12:26:26 INFO]: Bentobox version: 1.2.0
[12:26:26 INFO]: Loaded Game Worlds:
[12:26:26 INFO]: world_skyblock (SkyBlock)
[12:26:26 INFO]: Loaded Add-Ons
[12:26:26 INFO]: BSkyBlock 1.1
[12:26:26 INFO]: Challenges 0.3.0
[12:26:26 INFO]: Level 0.2.0
  • Other plugins? MV, Citizens & friends, Skript; 100 total, all latest bleeding-edge dev builds
@tastybento
Copy link
Member

We need the full log from startup because the reason for why BentoBox is not starting up is likely above what you pasted.

@tastybento tastybento self-assigned this Jan 29, 2019
@tastybento tastybento added Type: Bug Status: Need answer Waiting for more information to be provided by the issue's author. labels Jan 29, 2019
@SlimeDog
Copy link
Author

SlimeDog commented Jan 29, 2019

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).

@tastybento
Copy link
Member

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.

@SlimeDog
Copy link
Author

SlimeDog commented Jan 30, 2019

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

@tastybento
Copy link
Member

tastybento commented Jan 30, 2019

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

@SlimeDog
Copy link
Author

SlimeDog commented Jan 30, 2019

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.

@tastybento
Copy link
Member

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?

@SlimeDog
Copy link
Author

SlimeDog commented Jan 30, 2019

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]

@tastybento
Copy link
Member

Let me make you a build with that and you can try and see if that helps at all.

@SlimeDog
Copy link
Author

I can edit plugin.yml myself. :)

@SlimeDog
Copy link
Author

SlimeDog commented Jan 30, 2019

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?

@tastybento
Copy link
Member

tastybento commented Jan 30, 2019

bentobox-1.2.1-SNAPSHOT.jar.zip
Try this one build and see if it works.

@tastybento
Copy link
Member

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?

@SlimeDog
Copy link
Author

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.

@tastybento
Copy link
Member

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?

@BentoBoxWorld BentoBoxWorld deleted a comment from SlimeDog Jan 31, 2019
@SlimeDog
Copy link
Author

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

@SlimeDog
Copy link
Author

SlimeDog commented Jan 31, 2019

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:

  • Is it really load order that is managed by Spigot, and it's just that BentoBox takes longer than whatever limit is imposed, to enable?
  • Does MV need to recognize softdepend and loadbefore directives explicitly, or is that handled by the Spigot loader?

@tastybento
Copy link
Member

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.

bentobox-1.2.1-SNAPSHOT.jar.zip

@SlimeDog
Copy link
Author

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?

@tastybento
Copy link
Member

I'll file a bug report and let's see if they can fix this.

@SlimeDog
Copy link
Author

Thanks. They certainly can. I hope they will. They have not been responsive to the issues I have filed; not even comments. :(

@Poslovitch
Copy link
Member

It's because they're no longer working on this repo. They're using this one: https://github.com/Zrips/Residence/issues

@SlimeDog
Copy link
Author

SlimeDog commented Jan 31, 2019

That's the repo I use. Of the 20 most-recently updated, only 8 have comments (and not all by the devs). :(

@tastybento tastybento removed the Status: Need answer Waiting for more information to be provided by the issue's author. label Jan 31, 2019
@tastybento
Copy link
Member

I'll close this bug for now but we can see if anything comes of the ones I posted.

@Poslovitch Poslovitch added this to the 1.2.1 milestone Jan 31, 2019
@tastybento
Copy link
Member

@SlimeDog Zrips fixed the bug.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants