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

Error enabling latest TCPShield 2.8.0 plugin with Spigot 1.20.6 #107

Open
Vlurk opened this issue Jun 16, 2024 · 2 comments
Open

Error enabling latest TCPShield 2.8.0 plugin with Spigot 1.20.6 #107

Vlurk opened this issue Jun 16, 2024 · 2 comments
Assignees

Comments

@Vlurk
Copy link

Vlurk commented Jun 16, 2024

Upgrade a working environment with older release and Spigot 1.20.4 to:

TCPShield=2.8.0
Spigot=1.20.6
ProtocolLib=5.3.0
Java=jdk-21.0.3+9

Server starts just fine, but the plugin doesn't log the IP of the clients, just the TCPShield proxies. In the server log, I get the following error:

[23:42:14] [Server thread/ERROR]: Error occurred while enabling TCPShield v2.8.0 (Is it up to date?)
java.lang.NoSuchMethodError: 'java.lang.String org.bukkit.Server.getMinecraftVersion()'
        at net.tcpshield.tcpshield.bukkit.TCPShieldBukkit.onEnable(TCPShieldBukkit.java:42) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:266) ~[spigot-api-1.20.6-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:342) ~[spigot-api-1.20.6-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:491) ~[spigot-api-1.20.6-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_20_R4.CraftServer.enablePlugin(CraftServer.java:541) ~[spigot-1.20.6-R0.1-SNAPSHOT.jar:4149-Spigot-e2c1eee-4e7d749]
        at org.bukkit.craftbukkit.v1_20_R4.CraftServer.enablePlugins(CraftServer.java:455) ~[spigot-1.20.6-R0.1-SNAPSHOT.jar:4149-Spigot-e2c1eee-4e7d749]
        at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:634) ~[spigot-1.20.6-R0.1-SNAPSHOT.jar:4149-Spigot-e2c1eee-4e7d749]
        at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:419) ~[spigot-1.20.6-R0.1-SNAPSHOT.jar:4149-Spigot-e2c1eee-4e7d749]
        at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:265) ~[spigot-1.20.6-R0.1-SNAPSHOT.jar:4149-Spigot-e2c1eee-4e7d749]
        at net.minecraft.server.MinecraftServer.y(MinecraftServer.java:1010) ~[spigot-1.20.6-R0.1-SNAPSHOT.jar:4149-Spigot-e2c1eee-4e7d749]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:311) ~[spigot-1.20.6-R0.1-SNAPSHOT.jar:4149-Spigot-e2c1eee-4e7d749]
        at java.base/java.lang.Thread.run(Unknown Source) [?:?]

Just a quick check, and getMinecraftVersion is not a valid method with Spigot API: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Server.html

NoSuchMethodError would be pretty much expected in these circumstances. Looking at GitHub, I see that a new routine was added with commit 554d6c3, creating the error.

As a last resort, I tried to downgrade to the previous release, 2.7.0, I can confirm this error does not exist and everything work as expected: I get the client IPs in the logs.

@DylanKeir
Copy link
Member

Yes, getMinecraftVersion() is a Paper-added method. Do you mind if I ask why you're using Spigot instead of the much improved fork? (https://github.com/papermc/paper)

@DylanKeir DylanKeir self-assigned this Jun 16, 2024
@Vlurk
Copy link
Author

Vlurk commented Jun 16, 2024

I don't mind at all.

Odds are that most servers could be switched to Paper without any negative impacts. But that will need to be verified on a server by server basis.

Realistically, I host only one server that I would be concerned about. +4 years old, many thousands of hours, automations like you wouldn't believe. And Paper has been known to implement more fixes and optimizations, notably patch some duping techniques. I know some stuff can be restored through plugin though: https://forums.papermc.io/threads/gravitycontrol-sand-dupe-enabler-for-paper-servers.12/

I am afraid that in such instances, Paper wouldn't be a drop-in replacement.

But honestly, I am just a server operator, and not a good player myself. I am amongst the players that couldn't tell the difference, and for which Paper just looks superior.

If you tell me the project is going to drop supports for Spigot/Bukkit and become a Paper-only plugin, I could realistically contact the owner of that server, and convince them to give Paper a shot. If I assist her in the migration process. I would probably have better feedback at that point.

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

No branches or pull requests

2 participants