froobynooby / ViewDistanceTweaks

Paper plugin that allows for dynamic simulation and view distances.
https://ci.froobworld.com/job/ViewDistanceTweaks/
MIT License
87 stars 16 forks source link

Crash on startup - purpur 1.20.6 #59

Closed trentnbauer closed 1 week ago

trentnbauer commented 2 months ago

Hi, Feeling a little silly, not sure what I'm doing wrong here! I started getting an error after updating my server, so I deleted the config files and re-ran the server and I get this message in the log image

I then update the config file to below and restart the server image

and I get this error in the log and the plugin does not load image

[18:31:06 INFO]: [ViewDistanceTweaks] Enabling ViewDistanceTweaks v1.5.7
[18:31:06 INFO]: [ViewDistanceTweaks] Using PaperSimulationDistanceHook for the simulation distance hook.
[18:31:06 INFO]: [ViewDistanceTweaks] Using PaperViewDistanceHook for the view distance hook.
[18:31:06 INFO]: [ViewDistanceTweaks] Using PaperTickHook for the tick hook.
[18:31:06 ERROR]: Error occurred while enabling ViewDistanceTweaks v1.5.7 (Is it up to date?)
java.lang.NumberFormatException: For input string: "org.bukkit.craftbukkit"
        at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67) ~[?:?]
        at java.base/java.lang.Integer.parseInt(Integer.java:662) ~[?:?]
        at java.base/java.lang.Integer.parseInt(Integer.java:778) ~[?:?]
        at ViewDistanceTweaks-1.5.7.jar/com.froobworld.viewdistancetweaks.util.NmsUtils.getMajorVersion(NmsUtils.java:31) ~[ViewDistanceTweaks-1.5.7.jar:?]
        at ViewDistanceTweaks-1.5.7.jar/com.froobworld.viewdistancetweaks.limiter.ClientViewDistanceManager.init(ClientViewDistanceManager.java:32) ~[ViewDistanceTweaks-1.5.7.jar:?]
        at ViewDistanceTweaks-1.5.7.jar/com.froobworld.viewdistancetweaks.ViewDistanceTweaks.onEnable(ViewDistanceTweaks.java:50) ~[ViewDistanceTweaks-1.5.7.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:287) ~[purpur-api-1.20.6-R0.1-SNAPSHOT.jar:?]
        at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:202) ~[purpur-1.20.6.jar:git-Purpur-2197]
        at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:109) ~[purpur-1.20.6.jar:git-Purpur-2197]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:519) ~[purpur-api-1.20.6-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.CraftServer.enablePlugin(CraftServer.java:653) ~[purpur-1.20.6.jar:git-Purpur-2197]
        at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:565) ~[purpur-1.20.6.jar:git-Purpur-2197]
        at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:685) ~[purpur-1.20.6.jar:git-Purpur-2197]
        at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:444) ~[purpur-1.20.6.jar:git-Purpur-2197]
        at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:358) ~[purpur-1.20.6.jar:git-Purpur-2197]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1154) ~[purpur-1.20.6.jar:git-Purpur-2197]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:329) ~[purpur-1.20.6.jar:git-Purpur-2197]
        at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
[18:31:06 INFO]: [ViewDistanceTweaks] Disabling ViewDistanceTweaks v1.5.7

image

[18:34:51 INFO]: Current: git-Purpur-2197 (MC: 1.20.6)*
Previous: git-Purpur-2196 (MC: 1.20.6)
* You are running the latest version

I have crossposted on Spigotmc

froobynooby commented 2 months ago

Hey, the plugin has not been updated yet for 1.20.6. Normally it would give you a message saying it's incompatible with your version, but even that has broken with the update

trentnbauer commented 2 months ago

Hey, the plugin has not been updated yet for 1.20.6. Normally it would give you a message saying it's incompatible with your version, but even that has broken with the update

Ah that makes sense! I guess .6 is more than a minor patch hahaha! Thanks heaps for getting back to me - I assume a .6 release is in the pipeline? Happy to test :)

IasonKalaitzakis commented 2 months ago

Bump since 1.20.6 is now in stable releases :)

MSCMDD commented 1 month ago

Same problem

jehendeoff commented 1 month ago

Hi, I found the issue in case anyone want to take a look at it,

in short paper has removed some function in some bukkit api, which breaks the versions check, in the code, this line is problematic

Alulom commented 1 month ago

Hi, I found the issue in case anyone want to take a look at it,

in short paper has removed some function in some bukkit api, which breaks the versions check, in the code, this line is problematic

PLS FIX SPAM!!!

[17:47:49 ERROR]: Could not pass event PlayerJoinEvent to ViewDistanceTweaks v1.5.7 com.froobworld.viewdistancetweaks.lib.joor.ReflectException: java.lang.NoSuchMethodException: No similar method b with params [class net.minecraft.network.protocol.game.ClientboundSetChunkCacheRadiusPacket] could be found on type class net.minecraft.server.network.ServerGamePacketListenerImpl. at ViewDistanceTweaks-1.5.7.jar/com.froobworld.viewdistancetweaks.lib.joor.Reflect.call(Reflect.java:585) ~[ViewDistanceTweaks-1.5.7.jar:?] at ViewDistanceTweaks-1.5.7.jar/com.froobworld.viewdistancetweaks.limiter.ClientViewDistanceManager.sendViewDistance(ClientViewDistanceManager.java:68) ~[ViewDistanceTweaks-1.5.7.jar:?] at ViewDistanceTweaks-1.5.7.jar/com.froobworld.viewdistancetweaks.limiter.ClientViewDistanceManager.sendOptimisticViewDistance(ClientViewDistanceManager.java:59) ~[ViewDistanceTweaks-1.5.7.jar:?] at ViewDistanceTweaks-1.5.7.jar/com.froobworld.viewdistancetweaks.limiter.ClientViewDistanceManager.onPlayerJoin(ClientViewDistanceManager.java:88) ~[ViewDistanceTweaks-1.5.7.jar:?] at com.destroystokyo.paper.event.executor.MethodHandleEventExecutor.execute(MethodHandleEventExecutor.java:40) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:1.20.6-138-906df69] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.20.6.jar:1.20.6-138-906df69] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[paper-1.20.6.jar:1.20.6-138-906df69] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:627) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?] at net.minecraft.server.players.PlayerList.placeNewPlayer(PlayerList.java:347) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.network.ServerConfigurationPacketListenerImpl.handleConfigurationFinished(ServerConfigurationPacketListenerImpl.java:153) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.network.protocol.configuration.ServerboundFinishConfigurationPacket.handle(ServerboundFinishConfigurationPacket.java:22) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.network.protocol.configuration.ServerboundFinishConfigurationPacket.handle(ServerboundFinishConfigurationPacket.java:13) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:55) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1511) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:195) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1488) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1411) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1377) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1238) ~[paper-1.20.6.jar:1.20.6-138-906df69] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:323) ~[paper-1.20.6.jar:1.20.6-138-906df69] at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?] Caused by: java.lang.NoSuchMethodException: No similar method b with params [class net.minecraft.network.protocol.game.ClientboundSetChunkCacheRadiusPacket] could be found on type class net.minecraft.server.network.ServerGamePacketListenerImpl. at ViewDistanceTweaks-1.5.7.jar/com.froobworld.viewdistancetweaks.lib.joor.Reflect.similarMethod(Reflect.java:652) ~[ViewDistanceTweaks-1.5.7.jar:?] at ViewDistanceTweaks-1.5.7.jar/com.froobworld.viewdistancetweaks.lib.joor.Reflect.call(Reflect.java:582) ~[ViewDistanceTweaks-1.5.7.jar:?] ... 27 more

FireController1847 commented 1 month ago

+1 on the issue Alulom is noting. Not sure if this is related to this open issue (should I create another issue for this?) but the latest build for 1.20.6 still errors on player join and in various other locations. My error is as follows:

[02:21:23] [Server thread/ERROR]: Could not pass event PlayerJoinEvent to ViewDistanceTweaks v1.5.7
com.froobworld.viewdistancetweaks.lib.joor.ReflectException: java.lang.NoSuchMethodException: No similar method b with params [class net.minecraft.network.protocol.game.ClientboundSetChunkCacheRadiusPacket] could be found on type class net.minecraft.server.network.ServerGamePacketListenerImpl.
    at ViewDistanceTweaks-1.5.7.jar/com.froobworld.viewdistancetweaks.lib.joor.Reflect.call(Reflect.java:585) ~[ViewDistanceTweaks-1.5.7.jar:?]
    at ViewDistanceTweaks-1.5.7.jar/com.froobworld.viewdistancetweaks.limiter.ClientViewDistanceManager.sendViewDistance(ClientViewDistanceManager.java:68) ~[ViewDistanceTweaks-1.5.7.jar:?]
    at ViewDistanceTweaks-1.5.7.jar/com.froobworld.viewdistancetweaks.limiter.ClientViewDistanceManager.sendOptimisticViewDistance(ClientViewDistanceManager.java:59) ~[ViewDistanceTweaks-1.5.7.jar:?]
    at ViewDistanceTweaks-1.5.7.jar/com.froobworld.viewdistancetweaks.limiter.ClientViewDistanceManager.onPlayerJoin(ClientViewDistanceManager.java:88) ~[ViewDistanceTweaks-1.5.7.jar:?]
    at com.destroystokyo.paper.event.executor.MethodHandleEventExecutor.execute(MethodHandleEventExecutor.java:40) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:1.20.6-147-e41d44f]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?]
    at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.20.6.jar:1.20.6-147-e41d44f]
    at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[paper-1.20.6.jar:1.20.6-147-e41d44f]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?]
    at net.minecraft.server.players.PlayerList.placeNewPlayer(PlayerList.java:347) ~[paper-1.20.6.jar:1.20.6-147-e41d44f]
    at net.minecraft.server.network.ServerConfigurationPacketListenerImpl.handleConfigurationFinished(ServerConfigurationPacketListenerImpl.java:153) ~[paper-1.20.6.jar:1.20.6-147-e41d44f]
    at net.minecraft.network.protocol.configuration.ServerboundFinishConfigurationPacket.handle(ServerboundFinishConfigurationPacket.java:22) ~[paper-1.20.6.jar:1.20.6-147-e41d44f]
    at net.minecraft.network.protocol.configuration.ServerboundFinishConfigurationPacket.handle(ServerboundFinishConfigurationPacket.java:13) ~[paper-1.20.6.jar:1.20.6-147-e41d44f]
    at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:55) ~[paper-1.20.6.jar:1.20.6-147-e41d44f]
    at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.6.jar:1.20.6-147-e41d44f]
    at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[paper-1.20.6.jar:1.20.6-147-e41d44f]
    at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[paper-1.20.6.jar:1.20.6-147-e41d44f]
    at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1511) ~[paper-1.20.6.jar:1.20.6-147-e41d44f]
    at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:195) ~[paper-1.20.6.jar:1.20.6-147-e41d44f]
    at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[paper-1.20.6.jar:1.20.6-147-e41d44f]
    at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1488) ~[paper-1.20.6.jar:1.20.6-147-e41d44f]
    at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1411) ~[paper-1.20.6.jar:1.20.6-147-e41d44f]
    at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[paper-1.20.6.jar:1.20.6-147-e41d44f]
    at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1377) ~[paper-1.20.6.jar:1.20.6-147-e41d44f]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1238) ~[paper-1.20.6.jar:1.20.6-147-e41d44f]
    at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:323) ~[paper-1.20.6.jar:1.20.6-147-e41d44f]
    at java.base/java.lang.Thread.run(Unknown Source) ~[?:?]
Caused by: java.lang.NoSuchMethodException: No similar method b with params [class net.minecraft.network.protocol.game.ClientboundSetChunkCacheRadiusPacket] could be found on type class net.minecraft.server.network.ServerGamePacketListenerImpl.
    at ViewDistanceTweaks-1.5.7.jar/com.froobworld.viewdistancetweaks.lib.joor.Reflect.similarMethod(Reflect.java:652) ~[ViewDistanceTweaks-1.5.7.jar:?]
    at ViewDistanceTweaks-1.5.7.jar/com.froobworld.viewdistancetweaks.lib.joor.Reflect.call(Reflect.java:582) ~[ViewDistanceTweaks-1.5.7.jar:?]
    ... 27 more

And here is my /version command output:

[13:29:00 INFO]: Checking version, please wait...
[13:29:00 INFO]: This server is running Paper version 1.20.6-147-ver/1.20.6@e41d44f (2024-06-17T19:24:35Z) (Implementing API version 1.20.6-R0.1-SNAPSHOT)
You are running the latest version
Previous version: git-Paper-223 (MC: 1.20.2)

Other than player joins, it appears as though the plugin works fine, but it's just ugly in console. Thanks for your work on this incredible plugin, I understand this may not be a high priority right now and how life gets in the way. Just wanted to try and contribute to resolving the issue if it comes about. Thanks again for this plugin and your work on it!!

jehendeoff commented 1 month ago

@FireController1847 your issues is the same as alulom and not the same as this thread, the issue in this thread has been fixed, now, it doesn't crash, because it detects the minecraft version in a way paper is happy with

the issue you're facing is simply because the plugin hasn't been updated to work on the latest version. to simplify, normally the plugin directly talks to minecraft, without going to paper or spigot, however, since minecraft has updated, minecraft now speaks a new language which the plugin doesn't know.

if you want more technical details on what needs to be done, click here

froobynooby commented 1 week ago

https://ci.froobworld.com/job/ViewDistanceTweaks/16/