GeyserMC / Geyser

A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock Edition.
https://geysermc.org
MIT License
4.7k stars 673 forks source link

Velocity + Paper 1.19 #3039

Closed AxlRose-RX closed 2 years ago

AxlRose-RX commented 2 years ago

Describe the bug

With Java: Can login just fine to Velocity and all servers 1.18.2 Purpur but only one server is 1.19 Purpur #1640 With Bedrock: Can login just fine Velocity > Hub and all server but the 1.19 won't work

To Reproduce

  1. Join server (Velocity Proxy)
  2. Land on the Lobby server (1.18.2)
  3. Switch to any back end that is 1.18.2, they all work
  4. Switch to the only 1.19 server and get: This server requires you to connect with Velocity.

[floodgate]: Floodgate player logged in as +CerealSeeker795 disconnected com.mojang.authlib.GameProfile@a45e7ce[id=00000000-0000-0000-0009-01f00350d882,name=+CerealSeeker795,properties={},legacy=false]: (/51.222.93.55:53854) lost connection: This server requires you to connect with Velocity.

Expected behaviour

Should be able to join the 1.19 server -_-

Screenshots / Videos

No response

Server Version and Plugins

Velocity: latest # 153 Server: git-Purpur-1640 (MC: 1.19)

Plugins: Plugins (31): AlonsoLevels, CoreProtect, DiscordSRV, Essentials, EssentialsSpawn, floodgate, GeyserSkinManager, GriefPrevention, InventoryRollbackPlus, JSEngine, LuckPerms, MineSync, MobLimit, MyCommand, OpenInv, PlaceholderAPI, ProtocolLib, spark, Spartan, TAB, Vault, VentureChat, ViaBackwards, ViaRewind, ViaRewind-Legacy-Support, ViaVersion, Votifier, VotingPlugin, WorldEdit, WorldGuard, WorldGuardExtraFlags

Geyser Dump

https://dump.geysermc.org/QlXL4RA12HRYxKA6yhI35m7o5bAsEbqN

Geyser Version

2.0.4-SNAPSHOT (git-master-162aff4) (Java: 1.19, Bedrock: 1.19.0)

Minecraft: Bedrock Edition Device/Version

1.19

Additional Context

Floodate latest version for Velocity and Spigot # 66 (June 8th 2022)

arima0k commented 2 years ago

Same issue!!, latest paper experimental build.

Chew commented 2 years ago

Relaying from Camo

You probably need to use the latest Velocity build from papermc.io/downloads#Velocity. Please note that you will need to disable the force-key-authentication setting in velocity.toml that has been added.

arima0k commented 2 years ago

Still, already did that.

AxlRose-RX commented 2 years ago

Relaying from Camo

You probably need to use the latest Velocity build from papermc.io/downloads#Velocity. Please note that you will need to disable the force-key-authentication setting in velocity.toml that has been added.

if you read the issue, it says there, latest build of Velocity # 153 and to get Geyser players in, even on the working servers I have with 1.18.2, the obvious setting is there already: force-key-authentication = false

arima0k commented 2 years ago

I setup floodgate like this BTW, https://wiki.geysermc.org/floodgate/setup/#installing-floodgate-also-on-spigot-servers-behind-bungeecord-or-velocity

paper log

Disconnecting com.mojang.authlib.GameProfile@607f8d4c[id=00000000-0000-0000-0009-0000094b86fa,name=+arima0k,properties={},legacy=false] (/192.168.1.110:42294): This server requires you to connect with Velocity.
Kas-tle commented 2 years ago

Could someone test without modern forwarding?

AxlRose-RX commented 2 years ago

Could someone test without modern forwarding?

image

It seems like Floodgate might be the issue, because if back end server is 1.18.2 work, if back end is 1.19 doesn't work

arima0k commented 2 years ago

For me it works with legacy forwarding on velocity -> paper. *Fact: when using modern forwarding the Geyser appears on the friends tab of bedrock, with legacy it doesn't.

arima0k commented 2 years ago

More velocity logs:

[12:30:13 WARN]: The server channel initializer has been replaced by java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[12:30:13 WARN]: The backend channel initializer has been replaced by java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

When disconnect (Legacy)

[12:31:19 ERROR]: [connected player] +arima0k (/192.168.1.110:0): exception encountered in com.velocitypowered.proxy.connection.client.ClientPlaySessionHandler@605dbffc
java.nio.channels.ClosedChannelException: null
    at io.netty.channel.local.LocalChannel.doWrite(LocalChannel.java:368) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:931) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:895) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1372) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:750) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:742) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:728) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.DefaultChannelPipeline.flush(DefaultChannelPipeline.java:967) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannel.flush(AbstractChannel.java:254) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at org.geysermc.geyser.network.netty.ChannelWrapper.flush(ChannelWrapper.java:213) ~[?:?]
    at com.velocitypowered.proxy.connection.MinecraftConnection.flush(MinecraftConnection.java:241) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at com.velocitypowered.proxy.connection.backend.BackendPlaySessionHandler.readCompleted(BackendPlaySessionHandler.java:294) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at com.velocitypowered.proxy.connection.MinecraftConnection.channelReadComplete(MinecraftConnection.java:160) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:410) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:397) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelReadComplete(AbstractChannelHandlerContext.java:390) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at com.velocitypowered.proxy.protocol.netty.AutoReadHolderHandler.channelReadComplete(AutoReadHolderHandler.java:69) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:410) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:397) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelReadComplete(AbstractChannelHandlerContext.java:390) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.handler.timeout.IdleStateHandler.channelReadComplete(IdleStateHandler.java:295) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:410) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:397) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelReadComplete(AbstractChannelHandlerContext.java:390) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.handler.codec.ByteToMessageDecoder.channelReadComplete(ByteToMessageDecoder.java:339) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:410) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:397) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelReadComplete(AbstractChannelHandlerContext.java:390) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelReadComplete(DefaultChannelPipeline.java:1415) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:410) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelReadComplete(AbstractChannelHandlerContext.java:397) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.DefaultChannelPipeline.fireChannelReadComplete(DefaultChannelPipeline.java:925) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:820) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:487) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:385) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:995) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[velocity-3.1.2-SNAPSHOT-153.jar:3.1.2-SNAPSHOT (git-74edac96-b153)]
    at java.lang.Thread.run(Thread.java:833) [?:?]
Camotoy commented 2 years ago

*Fact: when using modern forwarding the Geyser appears on the friends tab of bedrock, with legacy it doesn't.

Unless Geyser fails to boot, I highly doubt changing this setting affects if Geyser shows its ping.

Kas-tle commented 2 years ago

Also think this was said earlier in Discord or something, but can you just confirm that 1.18.2 backends work fine?

arima0k commented 2 years ago

Looks like Paper 1.19 issue.

AxlRose-RX commented 2 years ago

*Fact: when using modern forwarding the Geyser appears on the friends tab of bedrock, with legacy it doesn't.

Unless Geyser fails to boot, I highly doubt changing this setting affects if Geyser shows its ping.

what about the initial issue here Camotoy, is there anything I can do to get the one 1.19 server working as the rest of the servers on the same network for Bedrock players? for Java players it works just fine, only Bedrock players get This server requires you to connect with Velocity on that one server only

Camotoy commented 2 years ago

I don’t have an answer at this time, and I can’t test at this moment. I do know Velocity added a version two forwarding, I think, which could be conflicting.

On Jun 10, 2022, at 13:48, AxlRose-RX @.***> wrote:

 *Fact: when using modern forwarding the Geyser appears on the friends tab of bedrock, with legacy it doesn't.

Unless Geyser fails to boot, I highly doubt changing this setting affects if Geyser shows its ping.

what about the initial issue here Camotoy, is there anything I can do to get the one 1.19 server working as the rest of the servers on the same network for Bedrock players? for Java players it works just fine, only Bedrock players get This server requires you to connect with Velocity on that one server only

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.

Kas-tle commented 2 years ago

If anyone would like to test this the change was introduced in 152, so you could try with build 151.

arima0k commented 2 years ago

Maybe? https://github.com/PaperMC/Paper/commit/93fc89ef44c6cea184a0a07b91bafd0f64f7dc9e

I'll test 151 later.

arima0k commented 2 years ago

Velocity 151: same problem.

AxlRose-RX commented 2 years ago

Velocity 151: same problem.

I know, either Geyser of Floodgate are not compatible just yet with [Velocity -> Modern -> {Paper 1.19 or Forks}]

AxlRose-RX commented 2 years ago

oh this is the error on velocity:

22:28:42 java.lang.NullPointerException: Cannot invoke "org.geysermc.geyser.text.ChatTypeEntry.bedrockChatType()" because the return value of "org.geysermc.geyser.platform.velocity.shaded.fastutil.ints.Int2ObjectMap.get(int)" is null at org.geysermc.geyser.translator.protocol.java.JavaSystemChatTranslator.translate(JavaSystemChatTranslator.java:44) at org.geysermc.geyser.translator.protocol.java.JavaSystemChatTranslator.translate(JavaSystemChatTranslator.java:35) at org.geysermc.geyser.registry.PacketTranslatorRegistry.translate0(PacketTranslatorRegistry.java:86) at org.geysermc.geyser.registry.PacketTranslatorRegistry.lambda$translate$0(PacketTranslatorRegistry.java:67) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) at io.netty.channel.DefaultEventLoop.run(DefaultEventLoop.java:54) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:995) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:833)

Camotoy commented 2 years ago

We probably fixed that. Are you on the latest build?

On Jun 10, 2022, at 22:30, AxlRose-RX @.***> wrote:

 oh this is the error on velocity:

22:28:42 java.lang.NullPointerException: Cannot invoke "org.geysermc.geyser.text.ChatTypeEntry.bedrockChatType()" because the return value of "org.geysermc.geyser.platform.velocity.shaded.fastutil.ints.Int2ObjectMap.get(int)" is null at org.geysermc.geyser.translator.protocol.java.JavaSystemChatTranslator.translate(JavaSystemChatTranslator.java:44) at org.geysermc.geyser.translator.protocol.java.JavaSystemChatTranslator.translate(JavaSystemChatTranslator.java:35) at org.geysermc.geyser.registry.PacketTranslatorRegistry.translate0(PacketTranslatorRegistry.java:86) at org.geysermc.geyser.registry.PacketTranslatorRegistry.lambda$translate$0(PacketTranslatorRegistry.java:67) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) at io.netty.channel.DefaultEventLoop.run(DefaultEventLoop.java:54) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:995) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:833)

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.

AxlRose-RX commented 2 years ago

yeah, updated today, again, it only happens when I try to join the Paper 1.19/purpur servers, the 1.18.2 all work

arima0k commented 2 years ago

Still happens on the paper and geyser latest builds. And only happens when I use send-floodgate-data: true with Floodgate on the back end. With send-floodgate-data: false works fine.

AxlRose-RX commented 2 years ago

Update: only works when velocity is on player-info-forwarding-mode = "LEGACY" setting

Updated to latest Geyser # 1112, Floodgate #68

Renamed the velocity.toml to get re-created with missing forwarding-secret-file = "forwarding.secret" setting

Let's go, be positive, is going to work now ... noup, same issue and only for Bedrock players: This server requires you to connect with Velocity.

All other servers that are on 1.18.2 the Bedrock player can join, only the 1.19 gives the error

arima0k commented 2 years ago

Latest paper 1.19 build, same.

Camotoy commented 1 year ago

Can you try with a Floodgate version before 1.19?

On Jun 10, 2022, at 22:35, AxlRose-RX @.***> wrote:

 yeah, updated today

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.

Camotoy commented 1 year ago

Why did that send now???