yesdog / Waterdog

Waterdog, a Yesdog fork of Waterfall/BungeeCord that adds Bedrock support.
MIT License
185 stars 37 forks source link

Report an error! #37

Closed SauronLi closed 5 years ago

SauronLi commented 5 years ago

[15:13:14] [Netty Worker IO Thread #1/ERROR]: [/]DownstreamBridge <-> [lobby] - encountered exception io.netty.handler.codec.DecoderException: Error decoding packet class PluginMessage with contents: +-------------------------------------------------+ | 0 1 2 3 4 5 6 7 8 9 a b c d e f | +--------+-------------------------------------------------+----------------+ |00000000| 75 12 6d 69 6e 65 63 72 61 66 74 3a 72 65 67 69 |u.minecraft:regi| |00000010| 73 74 65 72 70 73 3a 69 72 00 |sterps:ir. | +--------+-------------------------------------------------+----------------+ at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:94) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:13) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:323) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:426) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:278) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:796) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:427) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:328) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:905) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212] Caused by: java.lang.IndexOutOfBoundsException: readerIndex(21) + length(112) exceeds writerIndex(26): PooledSlicedByteBuf(ridx: 21, widx: 26, cap: 26/26, unwrapped: PooledUnsafeDirectByteBuf(ridx: 27, widx: 65483, cap: 65536)) at io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1428) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.buffer.AbstractByteBuf.checkReadableBytes(AbstractByteBuf.java:1411) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.netty.buffer.AbstractByteBuf.readSlice(AbstractByteBuf.java:872) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at net.md_5.bungee.protocol.packet.PluginMessage.read(PluginMessage.java:97) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at io.github.waterfallmc.travertine.protocol.MultiVersionPacketV17.read0(MultiVersionPacketV17.java:27) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] at net.md_5.bungee.protocol.MinecraftDecoder.decode(MinecraftDecoder.java:72) ~[Waterdog.jar:git:Waterdog-Bootstrap:1.14-SNAPSHOT:7fda22d:227] ... 25 more [15:13:14] [Netty Worker IO Thread #1/INFO]: [Cain5859] disconnected with: The server you were previously on went down, you have been connected to a fallback server

Xavier-xuan commented 5 years ago

I met the same problem when I had connected to a BE server and tried to transfer to a JE server. BE Server: Altay & BDS JE Server: Spigot 1.13.2 (installed ProtocolSupport ) Client: Minecraft Win10 1.11.4

Xernium commented 5 years ago

@Cain5859 @Seth2482 Whats your Waterdog config? Please post a gist with a reference here and highlight the servers in question (also please cut IP addresses from the config as that info shouldn't be leaked)

Xavier-xuan commented 5 years ago

I'm sorry that I made a mistake in describing my problem, Actually, I had been in a BE server and tried to transfer to a JE server. However,I can't transfer to a BE server from JE server either.

Here is my Waterdog config

listeners:
- query_port: 25577
  motd: '&1Another Bungee server'
  tab_list: GLOBAL_PING
  query_enabled: false
  proxy_protocol: false
  forced_hosts:
    pvp.md-5.net: pvp
  ping_passthrough: false
  raknet: false
  priorities:
  - lobby
  bind_local_address: true
  host: 0.0.0.0:25577
  max_players: 1
  tab_size: 60
  force_default_server: true
- query_port: 19134
  motd: 梦幻冬城我的世界
  tab_list: GLOBAL_PING
  query_enabled: false
  proxy_protocol: false
  forced_hosts:
    pvp.md-5.net: pvp
  ping_passthrough: false
  raknet: true
  priorities:
  - lobby2
  bind_local_address: true
  host: 0.0.0.0:19134
  max_players: 20
  tab_size: 60
  force_default_server: true
network_compression_threshold: 256
permissions:
  default:
  - bungeecord.command.server
  - bungeecord.command.list
  admin:
  - bungeecord.command.alert
  - bungeecord.command.end
  - bungeecord.command.ip
  - bungeecord.command.reload
log_pings: true
connection_throttle_limit: 3
prevent_proxy_connections: false
timeout: 30000
log_commands: false
player_limit: -1
ip_forward: true
groups:
  md_5:
  - admin
use_xuid_for_uuid: true
connection_throttle: 4000
replace_username_spaces: true
stats: 03432595-4370-4e86-bb2a-49d70e64ee57
online_mode: false
forge_support: true
disabled_commands:
- disabledcommandhere
servers:
  lobby:
    raknet: false
    motd: 大厅服
    transfer_group: default
    address: 127.0.0.1:25565
    restricted: false
  realworld:
    raknet: true
    motd: 生存服
    transfer_group: default
    address: 127.0.0.1:19133
    restricted: false
  lobby2:
    raknet: true
    motd: 生存服大厅
    transfer_group: default
    address: 127.0.0.1:19132
    restricted: false

When I tried to transfer from lobby2(altay server) to lobby(Spogit server),I disconnected from the server,and the above error message appeared in the console.

TobiasGrether commented 5 years ago

You used my transfer API / plugin, right?

WesleyVanNeck commented 5 years ago

@Seth2482 do you us pspe (protocolsupportpe) if not thats why you cant tranfer JAVA server

Xernium commented 5 years ago

Can confirm this setup works with PMMP, Nukkit and PSPE on the newest version. Are you using some sort of transferring protocol or plugin @Cain5859 @Seth2482 ?

Xernium commented 5 years ago

^^ And latest Waterdog

TobiasGrether commented 5 years ago

Works for me too

Xavier-xuan commented 5 years ago

@TobiasG-DE sorry,I don't know which plugin you mean,so I attach a list of my plugins.

@InsaneLegacy I have installed the yesdog\ProtocolSupport,is it the same as PSPE?

@Xernium I didn't install any other plugins on the JE server except ProtocolSupport.What's more,the Waterdog I'm using is the latest. However, I don't run my BE server on Nukkit or PMMP,but BDS and Altay.

Here is my plugin list: BE server (Altay):

Plugin v1.0.0, Chest v1.6.0, EconomyAPI v2.0.9, Friends v2.0.0, MagicWE2 v7.0.0, EconomyLand v2.0.9, SpecialSystem v2.0.0, TpaUi v1.2.5, SignBox v2.0.0, ChestShop v2.2.0, Texter v2.4.1, MultiWorld v1.5.1, worldprotect v2.0.0, MobStacker v0.2.3, AntiVoid v1.1.0

JE server(spigot):

ProtocolSupport

I think I should download PMMP as well as PSPE and try again

SauronLi commented 5 years ago

I need a tutorial for WaterDog. Could you give me the tutorial? Thanks!

Xernium commented 5 years ago

@Seth2482 Could you please give Nukkit or PMMP a go and tell me if that works? We don't officially support BDS and I have never ever tested Altay

Xernium commented 5 years ago

@Cain5859 Set it up like any other Java edition bungee, there are plenty of guides out there. The only difference is that there is a raknet option on Servers or listeners, if you want a listener to be able to take bedrock players like port 19132 set raknet to true on that port. And in the list of servers connected to the bungee change raknet to true for all servers that are bedrock-only servers (not PSPE).

Xavier-xuan commented 5 years ago

I set up a PMMP server and recompiled the PSPE plugin from the official repo, now I can transfer to any server! I think it is because I didn't compile the PSPE plugin properly that I couldn't transfer to the JE server. Thank you for your help and kindness!

Xernium commented 5 years ago

@Seth2482 No problem, if you need a bit of a more up-to-date repo I have my own fork at https://github.com/Xernium/ProtocolSupport-Bedrock-Dev and you can find working builds (known good builds) for that at https://ci.skorrloregaming.com/job/ProtocolSupport-mcpenew-Xernium/

SauronLi commented 5 years ago

@Xernium thank you