Beenfo

Beenfo

2M Downloads

DO NOT WORK with purpur 1.18.2

chinese-wzq opened this issue · 10 comments

commented

Server version:

[Server] [11:08:18 INFO]: Current: git-Purpur-1632 (MC: 1.18.2)*
[Server] Previous: git-Paper-"df630a2" (MC: 1.18.2)

Error(server):

[Server] [11:05:48 WARN]: [Beenfo] Plugin Beenfo v1.3.3 generated an exception whilst handling plugin message
[Server] java.lang.NoClassDefFoundError: org/bukkit/craftbukkit/v1_18_R1/CraftWorld
[Server]        at de.guntram.bukkit.Beenfo.Main.onPluginMessageReceived(Main.java:112) ~[beenfo-1.18.2-fabric0.47.10-1.3.3.jar:?]
[Server]        at org.bukkit.plugin.messaging.StandardMessenger.dispatchIncomingMessage(StandardMessenger.java:455) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
[Server]        at net.minecraft.server.network.ServerGamePacketListenerImpl.handleCustomPayload(ServerGamePacketListenerImpl.java:3333) ~[?:?]
[Server]        at net.minecraft.network.protocol.game.ServerboundCustomPayloadPacket.handle(ServerboundCustomPayloadPacket.java:37) ~[?:?]
[Server]        at net.minecraft.network.protocol.game.ServerboundCustomPayloadPacket.handle(ServerboundCustomPayloadPacket.java:15) ~[?:?]
[Server]        at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:51) ~[?:?]
[Server]        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.18.2.jar:git-Purpur-1632]
[Server]        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
[Server]        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
[Server]        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1427) ~[purpur-1.18.2.jar:git-Purpur-1632]
[Server]        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:188) ~[purpur-1.18.2.jar:git-Purpur-1632]
[Server]        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
[Server]        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1404) ~[purpur-1.18.2.jar:git-Purpur-1632]
[Server]        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1397) ~[purpur-1.18.2.jar:git-Purpur-1632]
[Server]        at net.minecraft.util.thread.BlockableEventLoop.runAllTasks(BlockableEventLoop.java:114) ~[?:?]
[Server]        at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1531) ~[purpur-1.18.2.jar:git-Purpur-1632]
[Server]        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1247) ~[purpur-1.18.2.jar:git-Purpur-1632]
[Server]        at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:321) ~[purpur-1.18.2.jar:git-Purpur-1632]
[Server]        at java.lang.Thread.run(Thread.java:833) ~[?:?]
[Server] Caused by: java.lang.ClassNotFoundException: org.bukkit.craftbukkit.v1_18_R1.CraftWorld
[Server]        ... 19 more

Thank you for your work!

commented

Are you sure you don't have an older plugin in your plugin folder that's for 1.18 or 1.18.1?

Those versions try to access the org.bukkit.craftbukkit.v1_18_R1.CraftWorld class, which is renamed to org/bukkit/craftbukkit/v1_18_R2/CraftWorld in 1.18.2. I just verified the 1.18.2 version and it indeed accesses the org/bukkit/craftbukkit/v1_18_R2/CraftWorld class.

If you updated from an older version of the server, maybe you added the new plugin, but didn't delete the old one?

commented
server/plugins $ ls                 
backup                                 Dynmap-3.6-spigot.jar            Graves-4.9.jar         PluginMetrics                spark
beenfo-1.18.2-fabric0.47.10-1.3.3.jar  Essentials                       GroupManager           ProtocolLib                  spark-1.10.34.jar
bStats                                 EssentialsX-2.20.0.jar           GroupManager.jar       ProtocolLib.jar              TogglePvp
ChestSort                              EssentialsXAntiBuild-2.20.0.jar  LWC                    SensibleToolbox              TogglePvp-8.1.jar
ChestSort-13.6.3.jar                   EssentialsXChat-2.20.0.jar       LWCExtended-2.3.0.jar  SkinsRestorer                update
CoreProtect                            EssentialsXProtect-2.20.0.jar    OpenInv                SkinsRestorer-14.2.12.jar    Vault.jar.bak
CoreProtect-22.2.jar                   EssentialsXSpawn-2.20.0.jar      OpenInv.jar            Slimefun                     voicechat
dynmap                                 Graves                           Orebfuscator           Slimefun-fe3bb7f-canary.jar  voicechat-bukkit-2.4.19.jar

commented

No, I mean that you probably had an 1.18.1 server with the 1.18.1 version of Beenfo, and when you updated the server to 1.18.2, you downloaded Beenfo-1.18.2 but you didn't remove Beenfo-1.18.1. And that Beenfo-1.18.1 is still in your plugins folder and causes the problem.

commented

No, I assure you that the Beenfo plugin I downloaded with the filename beenfo-1.18.2-fabric0.47.10-1.3.3.jar definitely matches the server's version of the game! It's in the plugins folder! The server has never been upgraded either.

commented

Yes, but I'm convinced that there is ALSO another version of Beenfo, that is for a previous version of Minecraft, in your plugin folder.

Look, I just downloaded the 1.18.2 version of Purpur, added Beenfo and nothing else to plugins, and started the server.

gbl@natascha$ ls
banned-ips.json      libraries        purpur-1.18.2-1632.jar  whitelist.json
banned-players.json  logs             purpur.yml              world
bukkit.yml           ops.json         server.properties       world_nether
cache                paper.yml        spigot.yml              world_the_end
commands.yml         permissions.yml  usercache.json
eula.txt             plugins          version_history.json
help.yml             pufferfish.yml   versions
gbl@natascha$ ls plugins/
beenfo-1.18.2-fabric0.47.10-1.3.3-spigot.jar  bStats
gbl@natascha$ java -jar purpur-1.18.2-1632.jar 
Starting org.bukkit.craftbukkit.Main
System Info: Java 17 (OpenJDK 64-Bit Server VM 17.0.9+9-Ubuntu-122.04) Host: Linux 6.2.0-39-generic (amd64)
Loading libraries, please wait...
[09:16:28 INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[09:16:29 INFO]: Loaded 7 recipes
[09:16:30 INFO]: Starting minecraft server version 1.18.2
[09:16:30 INFO]: Loading properties
[09:16:30 INFO]: This server is running Purpur version git-Purpur-1632 (MC: 1.18.2) (Implementing API version 1.18.2-R0.1-SNAPSHOT) (Git: dc4a29b on HEAD)
[09:16:30 INFO]: Server Ping Player Sample Count: 12
[09:16:30 INFO]: Using 4 threads for Netty based IO
[09:16:30 WARN]: [Pufferfish] To improve performance, timings have been disabled by default
[09:16:30 WARN]: [Pufferfish] You can still use timings by using /timings on, but they will not start on server startup unless you set timings.really-enabled to true in paper.yml
[09:16:30 WARN]: [Pufferfish] If you would like to disable this message, either set timings.really-enabled to true or timings.enabled to false.
[09:16:30 WARN]: [Pufferfish] SIMD operations are available for your server, but are not configured!
[09:16:30 WARN]: [Pufferfish] To enable additional optimizations, add "--add-modules=jdk.incubator.vector" to your startup flags, BEFORE the "-jar".
[09:16:30 WARN]: [Pufferfish] If you have already added this flag, then SIMD operations are not supported on your JVM or CPU.
[09:16:30 WARN]: [Pufferfish] Debug: Java: 17.0.9, test run: true
[09:16:30 INFO]: Default game type: SURVIVAL
[09:16:30 INFO]: Generating keypair
[09:16:30 INFO]: Starting Minecraft server on *:25565
[09:16:30 INFO]: Using epoll channel type
[09:16:30 INFO]: Paper: Using libdeflate (Linux x86_64) compression from Velocity.
[09:16:30 INFO]: Paper: Using OpenSSL 1.1.x (Linux x86_64) cipher from Velocity.
[09:16:31 INFO]: [Beenfo] Loading Beenfo v1.3.3
[09:16:31 INFO]: Server permissions file permissions.yml is empty, ignoring it
[09:16:31 INFO]: Preparing level "world"

It loads Beenfo without a problem.

If you respond to this, please include a list of all files in your plugins folder.

commented

Ah. That's it. Your version of the plugin is the one that works for Fabric, but not Spigot, it doesn't have the -spigot in its name.

Please download this file, and remove the one you have, this should fix it.

commented

I downloaded this:
图片
You say:

If you're running a Spigot/Paper server, you can support players with the client-side mod as well - just throw the fabric jar file into your plugins folder. Yes, the single jar is a Fabric mod and a Spigot plugin at the same time, and will work with clients with the mod, no matter if they're using Forge or Fabric.

What's wrong?

commented

Well, I messed up with that version, because it has exactly the problem you're describing. That's why I published a new, fixed version in May last year, but it seems like I only published it on Curseforge, never on Modrinth. Which basically means you never had a chance to find the fix when you're only using Modrinth. Sorry.

commented

At least the plugin worked in the end. Have a great day!

commented

Do you mean that there are old plugins in my server (only support 1.18.1), which makes the Beenfo plugin somehow affected and tries to access org.bukkit.craftbukkit.v1_18_R1.CraftWorld?Why does it only affect Beenfo and the other plugins don't encounter any effect occasionally?
That is, should I find the old plugins in the server and upgrade them?