Exceptionflug / protocolize

A lightweight BungeeCord / Velocity protocol framework supporting items
MIT License
300 stars 39 forks source link

Sonar Antibot Incompatibility #225

Closed overkidding closed 10 months ago

overkidding commented 10 months ago

Describe the bug The protocolize netty decoders/encoders are not found on netty injection due to Sonar verifying fallback server

To Reproduce Steps to reproduce the behavior:

  1. Sonar Antibot
  2. Protocolize
  3. Protocolize Legacy Data
  4. Send a bot attack

Expected behavior Everything should be clear and without errors

Screenshots If applicable, add screenshots to help explain your problem.

Proxy environment FlameCord 1.7-1.20.4

Minecraft versions used 1.8.9 lunar client and 1.8.8 spigot

Error

[10:23:17 ERROR]: Exception occurred while injecting into netty pipeline
java.util.NoSuchElementException: protocolize2-decoder
        at io.netty.channel.DefaultChannelPipeline.getContextOrDie(DefaultChannelPipeline.java:1073) ~[proxy.jar:git:Waterfall-Bootstrap:1.20-R0.2-SNAPSHOT:8a3326a:unknown]
        at io.netty.channel.DefaultChannelPipeline.addAfter(DefaultChannelPipeline.java:302) ~[proxy.jar:git:Waterfall-Bootstrap:1.20-R0.2-SNAPSHOT:8a3326a:unknown]
        at io.netty.channel.DefaultChannelPipeline.addAfter(DefaultChannelPipeline.java:290) ~[proxy.jar:git:Waterfall-Bootstrap:1.20-R0.2-SNAPSHOT:8a3326a:unknown]
        at dev.simplix.protocolize.bungee.netty.NettyPipelineInjector.injectAfter(NettyPipelineInjector.java:36) ~[?:?]
        at dev.simplix.protocolize.bungee.listener.PlayerListener.onPing(PlayerListener.java:34) ~[?:?]
        at jdk.internal.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) ~[?:?]
        at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
        at net.md_5.bungee.event.EventHandlerMethod.invoke(EventHandlerMethod.java:19) ~[proxy.jar:git:Waterfall-Bootstrap:1.20-R0.2-SNAPSHOT:8a3326a:unknown]
        at net.md_5.bungee.event.EventBus.post(EventBus.java:50) ~[proxy.jar:git:Waterfall-Bootstrap:1.20-R0.2-SNAPSHOT:8a3326a:unknown]
        at net.md_5.bungee.api.plugin.PluginManager.callEvent(PluginManager.java:511) ~[proxy.jar:git:Waterfall-Bootstrap:1.20-R0.2-SNAPSHOT:8a3326a:unknown]
        at net.md_5.bungee.connection.InitialHandler$3.done(InitialHandler.java:350) ~[proxy.jar:git:Waterfall-Bootstrap:1.20-R0.2-SNAPSHOT:8a3326a:unknown]
        at net.md_5.bungee.connection.InitialHandler$3.done(InitialHandler.java:300) ~[proxy.jar:git:Waterfall-Bootstrap:1.20-R0.2-SNAPSHOT:8a3326a:unknown]
        at net.md_5.bungee.connection.InitialHandler.handle(InitialHandler.java:410) ~[proxy.jar:git:Waterfall-Bootstrap:1.20-R0.2-SNAPSHOT:8a3326a:unknown]
        at xyz.jonesdev.sonar.bungee.fallback.FallbackInitialHandler.lambda$handle$0(FallbackInitialHandler.java:133) ~[?:?]
        at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?]
        at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?]
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
        at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?]
        at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?]
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?]
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?]
Exceptionflug commented 10 months ago

Hey, this is not a protocolize issue. It seems that Sonar AntiBot is not compatible with every plugin that hooks into the ChannelPipeline of velocity. I would suggest contacting the dev of Sonar AntiBot and point him to this issue. All he has to do is to check if there is already a channel initializer like this: https://github.com/Exceptionflug/protocolize/blob/master/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/netty/ProtocolizeBackendChannelInitializer.java

overkidding commented 10 months ago

Hey, this is not a protocolize issue. It seems that Sonar AntiBot is not compatible with every plugin that hooks into the ChannelPipeline of velocity. I would suggest contacting the dev of Sonar AntiBot and point him to this issue. All he has to do is to check if there is already a channel initializer like this: https://github.com/Exceptionflug/protocolize/blob/master/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/netty/ProtocolizeBackendChannelInitializer.java

I'm running BungeeCord (FlameCord) not Velocity

jonesdevelopment commented 10 months ago

Hey, this is not a protocolize issue. It seems that Sonar AntiBot is not compatible with every plugin that hooks into the ChannelPipeline of velocity.

We're currently recoding the BungeeCord version: https://github.com/jonesdevelopment/sonar/pull/174/

Exceptionflug commented 10 months ago

Hey, this is not a protocolize issue. It seems that Sonar AntiBot is not compatible with every plugin that hooks into the ChannelPipeline of velocity. I would suggest contacting the dev of Sonar AntiBot and point him to this issue. All he has to do is to check if there is already a channel initializer like this: https://github.com/Exceptionflug/protocolize/blob/master/protocolize-velocity/src/main/java/dev/simplix/protocolize/velocity/netty/ProtocolizeBackendChannelInitializer.java

I'm running BungeeCord (FlameCord) not Velocity

Yes, my bad. But the principle stays the same.

jonesdevelopment commented 10 months ago

@Exceptionflug I think this issue can be closed. I've not experienced any issues with Velocity, and the BungeeCord issues are resolved.