InfernalSuite / AdvancedSlimePaper

Advanced Slime World Manager as a Paper Fork
GNU General Public License v3.0
250 stars 85 forks source link

World unload while Plugin3.0.0 is disabled. #134

Open AKcel222 opened 2 months ago

AKcel222 commented 2 months ago

Describe the issue If I stop my Server i get an zip file closed error.

Spigot version 1.21.LATEST

Plugin version 3.0.0

How to reproduce Unload method override on the paper ? I dont know With this I mean that I saw a Unload Method on Paper or Spigot. Which could get initiliazed with a Method that checks if the worlds are unloaded, then disable the plugin-3.0.0.jar.

Crash reports (if available) [10:32:20 INFO]: Saving chunks for level 'ServerLevel[Spawn]'/minecraft:spawn [10:32:20 INFO]: Saving world Spawn... [10:32:21 WARN]: java.lang.IllegalStateException: zip file closed [10:32:21 WARN]: at java.base/java.util.zip.ZipFile.ensureOpen(ZipFile.java:846) [10:32:21 WARN]: at java.base/java.util.zip.ZipFile.getEntry(ZipFile.java:338) [10:32:21 WARN]: at java.base/java.util.jar.JarFile.getEntry(JarFile.java:516) [10:32:21 WARN]: at java.base/java.util.jar.JarFile.getJarEntry(JarFile.java:471) [10:32:21 WARN]: at io.papermc.paper.plugin.entrypoint.classloader.PaperSimplePluginClassLoader.findClass(PaperSimplePluginClassLoader.java:62) [10:32:21 WARN]: at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593) [10:32:21 WARN]: at io.papermc.paper.plugin.entrypoint.classloader.PaperPluginClassLoader.loadClass(PaperPluginClassLoader.java:118) [10:32:21 WARN]: at io.papermc.paper.plugin.entrypoint.classloader.PaperPluginClassLoader.loadClass(PaperPluginClassLoader.java:107) [10:32:21 WARN]: at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) [10:32:21 WARN]: at plugin-3.0.0.jar//com.grinderwolf.swm.internal.mongodb.client.gridfs.GridFSBucketImpl.uploadFromStream(GridFSBucketImpl.java:189) [10:32:21 WARN]: at plugin-3.0.0.jar//com.infernalsuite.aswm.loaders.mongo.MongoLoader.saveWorld(MongoLoader.java:152) [10:32:21 WARN]: at com.infernalsuite.aswm.level.SlimeLevelInstance.lambda$saveInternal$1(SlimeLevelInstance.java:160) [10:32:21 WARN]: at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) [10:32:21 WARN]: at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) [10:32:21 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) [10:32:21 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) [10:32:21 WARN]: at java.base/java.lang.Thread.run(Thread.java:1583) [10:32:21 INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved [10:32:21 INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved [10:32:21 INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved [10:32:21 INFO]: ThreadedAnvilChunkStorage (Spawn52ef3a3e-8478-400a-bc4d-b220df826a38): All chunks are saved [10:32:21 INFO]: ThreadedAnvilChunkStorage: All dimensions are saved container@pterodactyl~ Server marked as offline...

GrayR0ot commented 2 months ago

I confirm, on my side it comes from MongoDB.

It's appear it comes from the new Class loader close method since bukkit 1.20.3

PR opened at: https://github.com/InfernalSuite/AdvancedSlimePaper/pull/135