Code Monkey home page Code Monkey logo

Comments (8)

xism4 avatar xism4 commented on September 26, 2024

u dont need to change anything else. just dont replace VarIntFrameDecoder with sonar's own decoder.

Can you send me the log? I think I can fix it.

The velocity VarIntFrameDecoder is much better than the bungeecord one and with less inconsistencies.

I would recommend you to try other alternatives, botfilter is abandoned on improvements.

from sonar-legacy.

FallenCrystal avatar FallenCrystal commented on September 26, 2024

it seems Sonar's ExceptionHandler is preventing it from printing logs. i need a little more time.

from sonar-legacy.

FallenCrystal avatar FallenCrystal commented on September 26, 2024

Can you send me the log? I think I can fix it.

18:49:23 [SEVERE] java.lang.NullPointerException: Cannot invoke "net.md_5.bungee.protocol.Varint21FrameDecoder.set119(boolean)" because the return value of "io.netty.channel.ChannelPipeline.get(java.lang.Class)" is null
18:49:23 [SEVERE]     at net.md_5.bungee.connection.InitialHandler.handle(InitialHandler.java:362)
18:49:23 [SEVERE]     at jones.sonar.bungee.network.handler.PlayerHandler.handle(PlayerHandler.java:173)
18:49:23 [SEVERE]     at net.md_5.bungee.protocol.packet.Handshake.handle(Handshake.java:51)
18:49:23 [SEVERE]     at net.md_5.bungee.netty.HandlerBoss.channelRead(HandlerBoss.java:121)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
18:49:23 [SEVERE]     at org.geysermc.floodgate.addon.data.CommonDataHandler.disablePacketQueue(CommonDataHandler.java:136)
18:49:23 [SEVERE]     at org.geysermc.floodgate.addon.data.CommonDataHandler.handle(CommonDataHandler.java:75)
18:49:23 [SEVERE]     at org.geysermc.floodgate.addon.data.BungeeProxyDataHandler.channelRead(BungeeProxyDataHandler.java:91)
18:49:23 [SEVERE]     at org.geysermc.floodgate.addon.data.CommonDataHandler.channelRead(CommonDataHandler.java:178)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
18:49:23 [SEVERE]     at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
18:49:23 [SEVERE]     at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
18:49:23 [SEVERE]     at org.geysermc.floodgate.addon.data.PacketBlocker.channelRead(PacketBlocker.java:76)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
18:49:23 [SEVERE]     at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
18:49:23 [SEVERE]     at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:333)
18:49:23 [SEVERE]     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:454)
18:49:23 [SEVERE]     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
18:49:23 [SEVERE]     at io.netty.handler.codec.ByteToMessageDecoder.handlerRemoved(ByteToMessageDecoder.java:266)
18:49:23 [SEVERE]     at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:536)
18:49:23 [SEVERE]     at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:468)
18:49:23 [SEVERE]     at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
18:49:23 [SEVERE]     at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
18:49:23 [SEVERE]     at org.geysermc.floodgate.inject.bungee.BungeeInjector$BungeeClientToProxyInjectInitializer.channelRead(BungeeInjector.java:160)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
18:49:23 [SEVERE]     at jones.sonar.bungee.network.handler.BungeeHandler.channelRead(BungeeHandler.java:57)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
18:49:23 [SEVERE]     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
18:49:23 [SEVERE]     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
18:49:23 [SEVERE]     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
18:49:23 [SEVERE]     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800)
18:49:23 [SEVERE]     at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:499)
18:49:23 [SEVERE]     at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:397)
18:49:23 [SEVERE]     at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
18:49:23 [SEVERE]     at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
18:49:23 [SEVERE]     at java.base/java.lang.Thread.run(Thread.java:1589)

maybe we should provide a boolean? InitialHandler L362

edit: the medium fetched by .get() seems to point only to the bungeecord class path. im not sure if it's worth it. or make a separate InitialHandler for BotFilter?

from sonar-legacy.

jonesdevelopment avatar jonesdevelopment commented on September 26, 2024

Could a custom start up flag which disables the custom Varint21FrameDecoder (basically Velocity's) fix this issue?

from sonar-legacy.

FallenCrystal avatar FallenCrystal commented on September 26, 2024

Could a custom start up flag which disables the custom Varint21FrameDecoder (basically Velocity's) fix this issue?

i didnt know there was this. if u can tell me. i can go and try it. or do u mean to add this feature?

from sonar-legacy.

jonesdevelopment avatar jonesdevelopment commented on September 26, 2024

Could a custom start up flag which disables the custom Varint21FrameDecoder (basically Velocity's) fix this issue?

i didnt know there was this. if u can tell me. i can go and try it. or do u mean to add this feature?

I haven't added such a feature yet but I could add it if it helps.

I'm actually working on Sonar 2.0, a completely rewritten version of Sonar.
You can join my Discord server if you want to receive update notifications, etc.

I also recommend using Velocity instead of BungeeCord or Waterfall. It's a lot better and more modern and will be supported by Sonar 2.0.

from sonar-legacy.

FallenCrystal avatar FallenCrystal commented on September 26, 2024

I also recommend using Velocity instead of BungeeCord or Waterfall. It's a lot better and more modern and will be supported by Sonar 2.0.

ik but i still use bungeecord for a few reasons. im still not very familiar with velocity. and there are various reasons preventing me from migrating to it. if i plan to remake my proxy afterwards i might think about it

I haven't added such a feature yet but I could add it if it helps.

ah i can do it. but my computer is broken.
actually.. botfilter may indeed not be that worth using. but most people just need a good antibot scheme. what they see is the limbo verification code. and not the coding that looks a little bad. although ping+join can already block most bots.
although the use of velocity+limbofilter is advocated. but there are still people who r using botfilter. bungeecord is still in high demand. ik velocity is best. but migrating a platform is not a simple task.

from sonar-legacy.

xism4 avatar xism4 commented on September 26, 2024

set119

This can be fixed.

Always happens when channelRead starts handling

from sonar-legacy.

Related Issues (2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.