CobbleSword / NachoSpigot

NachoSpigot is a fork of TacoSpigot 1.8.9 that offers several enhancements to performance as well as bug fixes.
GNU General Public License v3.0
237 stars 86 forks source link

Weird channel pipeline behavior with PacketEvents 2.0 #356

Closed Sculas closed 2 years ago

Sculas commented 2 years ago

Observed Behavior

NachoSpigot 1.8: [pe-connection-initializer-grimac, MinecraftPipeline#0, PreChannelInitializerModern_v1_8$1#0, DefaultChannelPipeline$TailContext#0]

Expected Behavior

PaperSpigot 1.8: [PreChannelInitializerModern_v1_8$1#0, timeout, legacy_query, splitter, decoder, prepender, encoder, packet_handler, DefaultChannelPipeline$TailContext#0]

Steps To Reproduce

Unknown, needs to be edited.

Plugin List

No response

Server Version

Assuming latest version as of now, needs to be edited.

Other

No response

Agreements

MWHunter commented 2 years ago

https://github.com/retrooper/packetevents/issues/254

Sculas commented 2 years ago

Thanks for linking the issue.

I still don't get it though why that happens, best bet is trying to compare the source code and look for potential mistakes.

Like I said on Discord, a child handler shouldn't be listed as a channel pipeline... I think?

MWHunter commented 2 years ago

Minimally reproducible with https://www.spigotmc.org/resources/grim-anticheat.99923/ No other plugins are required. PacketEvents 2.0 is shaded in the jar.

When it fails to inject it will give you the debug message listing the pipeline

MWHunter commented 2 years ago

Retrooper has fixed this, will be merged into PacketEvents after ProtocolLib fixes their injector

retrooper commented 2 years ago

Well I think I have, once I have time I will test it.

retrooper commented 2 years ago

Or even more likely when ProtocolLib pushes their 5.0.0 dev builds.

ghost commented 2 years ago

Retrooper has fixed this, will be merged into PacketEvents after ProtocolLib fixes their injector

Definitely not fixed, there are many reports of this issue

retrooper commented 2 years ago

Although this wasn't an issue on our end, similarly to ViaVersion, we now included a Paper injector which uses the Paper

ChannelInitializeListenerHolder.addListener(Key, ChannelInitializeListener)

We now therefore support NachoSpigot. I guess we can close the issue now.

ghost commented 2 years ago

@Lucaskyy ^^