Code Monkey home page Code Monkey logo

Comments (13)

SlimeDog avatar SlimeDog commented on July 22, 2024 1

With Paper 1.20.4-405, the issue was not presented. So the issue seems to be due to a change in Paper plugin loading code, which changed (again) in build 406 or 405. Interestingly, ExtraMobs was the only plugin in my test suite (60+ of the "usual suspects") that triggered the issue.

Your defensive code in BBox 2251 worked around the issue, verified with Paper 1.20.4-407. Thanks.

Server is running on CentOS Linux release 7.9.2009 (Core) and Java 21.0.2+13-LTS-58.

BTW, you might want to add the Paper/Spigot build to bbox version. At present, it displays only PAPER 1.20.4 (in my current environment) which is not sufficient information.

from bentobox.

tastybento avatar tastybento commented on July 22, 2024 1

@AntwortEinesLebens No need - the issue has been found. It's this commit by Paper - PaperMC/Paper@87ce7c7, which causes fewer exceptions. With my code changes, it should be fine.

Closing now.

from bentobox.

BONNe avatar BONNe commented on July 22, 2024

Could you check which addon is not loaded?
It loads 4, but which one is not loaded from /plugins/bentobox/addons folder?

from bentobox.

SlimeDog avatar SlimeDog commented on July 22, 2024
$ ls -1 plugins/BentoBox/addons//*.jar
plugins/BentoBox/addons//Biomes-2.2.0-b258.jar
plugins/BentoBox/addons//BSkyBlock-1.17.1-b758.jar
plugins/BentoBox/addons//Challenges-1.3.0-b542.jar
plugins/BentoBox/addons//ExtraMobs-1.13-b23.jar
plugins/BentoBox/addons//Level-2.12.1-b560.jar

So: ExtraMobs

from bentobox.

SlimeDog avatar SlimeDog commented on July 22, 2024

Paper 1.20.4-407

All five addons loaded with previous versions of BentoBox and/or Paper. Both are updated regularly.

from bentobox.

AntwortEinesLebens avatar AntwortEinesLebens commented on July 22, 2024

Hi,

I'm also having this issue.

I'm also using Paper 1.20.4-407 and here are the addons that don't work currently but worked before I switched to BentoBox 2.0.0:

/plugins/BentoBox/addons/Border-4.2.1.jar
/plugins/BentoBox/addons/ControlPanel-1.13.1.jar
/plugins/BentoBox/addons/Upgrades-0.3.0-SNAPSHOT-b133.jar

Have a great day / night!

from bentobox.

tastybento avatar tastybento commented on July 22, 2024

@SlimeDog I tried with the same ExtraMobs and it works for me, so I'm thinking maybe the config is different. Could you share your config?

from bentobox.

tastybento avatar tastybento commented on July 22, 2024

@AntwortEinesLebens What is the failure mode for you? I just tried them and they all load on my server, so again maybe it's the config. Please share your zipped folders so we can test. Also, Upgrades is not really compatible yet and uses old API. It does need updating.

> version
[19:33:27 INFO]: Checking version, please wait...
[19:33:28 INFO]: This server is running Paper version git-Paper-407 (MC: 1.20.4) (Implementing API version 1.20.4-R0.1-SNAPSHOT) (Git: 8bc5be8)
You are running the latest version
Previous version: git-Paper-401 (MC: 1.20.4)
> bbox v
[19:33:31 INFO]: Running PAPER 1.20.4.
[19:33:31 INFO]: BentoBox version: 2.0.0
[19:33:31 INFO]: Database: JSON
[19:33:31 INFO]: Loaded Game Worlds:
[19:33:31 INFO]: bskyblock_world (BSkyBlock): Overworld, Nether, The End
[19:33:31 INFO]: oneblock_world (OneBlock): Overworld, Nether*, The End*
[19:33:31 INFO]: Loaded Addons:
[19:33:31 INFO]: AOneBlock 1.15.1-SNAPSHOT-LOCAL (ENABLED)
[19:33:31 INFO]: Border 4.2.1 (ENABLED)
[19:33:31 INFO]: BSkyBlock 1.17.1 (ENABLED)
[19:33:31 INFO]: ControlPanel 1.13.1 (ENABLED)
[19:33:31 INFO]: ExtraMobs 1.13-SNAPSHOT-b23 (ENABLED)
[19:33:31 INFO]: Upgrades 0.3.0-SNAPSHOT-b133 (ENABLED)

from bentobox.

SlimeDog avatar SlimeDog commented on July 22, 2024
$ grep -v -e '^ *#' plugins/BentoBox/config.yml 
general:
  default-language: en-US
  use-economy: true
  ready-commands: []
  database:
    type: JSON
    host: localhost
    port: 3306
    name: bentobox
    username: username
    password: password
    backup-period: 5
    max-saved-players-per-tick: 20
    max-saved-islands-per-tick: 20
    max-pool-size: 10
    use-ssl: false
    prefix-character: ''
    custom-properties: {}
    mongodb-connection-uri: ''
  fakeplayers:
  - '[CoFH]'
panel:
  close-on-click-outside: true
  filler-material: LIGHT_BLUE_STAINED_GLASS_PANE
  use-cache-server: false
  head-cache-time: 60
  heads-per-call: 9
  ticks-between-calls: 10
logs:
  clean-super-flat-chunks: true
  github-download-data: true
island:
  concurrent-islands: 1
  cooldown:
    time:
      invite: 60
      coop: 5
      trust: 5
      ban: 10
      reset: 300
    options:
      set-reset-cooldown-on-create: true
  confirmation:
    time: 10
    commands:
      kick: true
      leave: true
      reset: true
    invites: false
  delay:
    time: 0
  name:
    min-length: 4
    max-length: 20
    uniqueness: false
  clear-radius: 5
  portal-search-radius: 64
  paste-speed: 64
  delete-speed: 100
  deletion:
    keep-previous-island-on-reset: false
    slow-deletion: false
  safe-spot-search-vertical-range: 400
  safe-spot-search-range: 16
web:
  github:
    download-data: false
    connection-interval: 120
$ grep -v -e '^ *#' plugins/BentoBox/addons/ExtraMobs/config.yml 
disabled-gamemodes: []
nether-chances:
  wither-skeleton: 0.01
  blaze: 0.1
end-chances:
  shulker: 0.1
overworld-chance:
  guardian: 0.1

from bentobox.

SlimeDog avatar SlimeDog commented on July 22, 2024

No change with ExtraMobs 1.13-b24

from bentobox.

tastybento avatar tastybento commented on July 22, 2024

I think it's a server issue. Can you try Paper Build 405 and see if you still see this error?

Build 406 doesn't even load plugins. So I think they've made some change around plugin loading.

ExtraMobs is not a Pladdon and so the error in the console is correct, but that code should never run. It seems the server is not throwing an exception when it tries to load a non-plugin jar file, which it should. The code is:

Plugin pladdon = Bukkit.getPluginManager().loadPlugin(f);

and when loading a non-plugin, i.e., an addon, it should throw an exception. The fact that it isn't is what is causing this error for you (but not for me, which is weird).

One thing I do note is that since Paper build 406 I get this error on startup of the server:

Loading libraries, please wait...
[22:29:03 ERROR]: [EntrypointUtil] Directory 'plugins/.DS_Store' is not a jar file, cannot load a plugin from it!
java.lang.IllegalArgumentException: Directory 'plugins/.DS_Store' is not a jar file, cannot load a plugin from it!
	at io.papermc.paper.plugin.provider.source.FileProviderSource.prepareContext(FileProviderSource.java:45) ~[paper-1.20.4.jar:git-Paper-406]
	at io.papermc.paper.plugin.provider.source.DirectoryProviderSource.lambda$prepareContext$1(DirectoryProviderSource.java:34) ~[paper-1.20.4.jar:git-Paper-406]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:?]
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.Iterator.forEachRemaining(Iterator.java:133) ~[?:?]
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
	at io.papermc.paper.plugin.provider.source.DirectoryProviderSource.walkFiles(DirectoryProviderSource.java:58) ~[paper-1.20.4.jar:git-Paper-406]
	at io.papermc.paper.plugin.provider.source.DirectoryProviderSource.prepareContext(DirectoryProviderSource.java:32) ~[paper-1.20.4.jar:git-Paper-406]
	at io.papermc.paper.plugin.provider.source.DirectoryProviderSource.prepareContext(DirectoryProviderSource.java:16) ~[paper-1.20.4.jar:git-Paper-406]
	at io.papermc.paper.plugin.util.EntrypointUtil.registerProvidersFromSource(EntrypointUtil.java:14) ~[paper-1.20.4.jar:git-Paper-406]
	at io.papermc.paper.plugin.PluginInitializerManager.load(PluginInitializerManager.java:101) ~[paper-1.20.4.jar:git-Paper-406]
	at net.minecraft.server.Main.main(Main.java:131) ~[paper-1.20.4.jar:git-Paper-406]
	at org.bukkit.craftbukkit.Main.main(Main.java:326) ~[paper-1.20.4.jar:git-Paper-406]
	at io.papermc.paperclip.Paperclip.lambda$main$0(Paperclip.java:42) ~[app:?]
	at java.lang.Thread.run(Thread.java:840) ~[?:?]

It doesn't get shown with build 405. Also, like I said, Build 406 doesn't even load plugins. Let me know if going back a few builds helps. We may have to wait for Paper to release something.

from bentobox.

tastybento avatar tastybento commented on July 22, 2024

I have also put in some defensive code to try and load the addons even if the Bukkit loader doesn't throw an exception. It should be building as 2.0.1 on ci.bentobox.world. If changing the Paper build doesn't work for you, try that BentoBox and see what happens. Also, what OS and Java versions are you using?

from bentobox.

AntwortEinesLebens avatar AntwortEinesLebens commented on July 22, 2024

@AntwortEinesLebens What is the failure mode for you? I just tried them and they all load on my server, so again maybe it's the config. Please share your zipped folders so we can test. Also, Upgrades is not really compatible yet and uses old API. It does need updating.

> version
[19:33:27 INFO]: Checking version, please wait...
[19:33:28 INFO]: This server is running Paper version git-Paper-407 (MC: 1.20.4) (Implementing API version 1.20.4-R0.1-SNAPSHOT) (Git: 8bc5be8)
You are running the latest version
Previous version: git-Paper-401 (MC: 1.20.4)
> bbox v
[19:33:31 INFO]: Running PAPER 1.20.4.
[19:33:31 INFO]: BentoBox version: 2.0.0
[19:33:31 INFO]: Database: JSON
[19:33:31 INFO]: Loaded Game Worlds:
[19:33:31 INFO]: bskyblock_world (BSkyBlock): Overworld, Nether, The End
[19:33:31 INFO]: oneblock_world (OneBlock): Overworld, Nether*, The End*
[19:33:31 INFO]: Loaded Addons:
[19:33:31 INFO]: AOneBlock 1.15.1-SNAPSHOT-LOCAL (ENABLED)
[19:33:31 INFO]: Border 4.2.1 (ENABLED)
[19:33:31 INFO]: BSkyBlock 1.17.1 (ENABLED)
[19:33:31 INFO]: ControlPanel 1.13.1 (ENABLED)
[19:33:31 INFO]: ExtraMobs 1.13-SNAPSHOT-b23 (ENABLED)
[19:33:31 INFO]: Upgrades 0.3.0-SNAPSHOT-b133 (ENABLED)

I didn't change any configurations, I just started adding all the minimal add-ons that I needed.

Like @SlimeDog said, switching to paper 1.20.4-405 solves the issue.

Do you still need the BentoBox zipped folder?

from bentobox.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.