Skip to content

Preliminary 1.16 support#494

Merged
electronicboy merged 17 commits into
PaperMC:masterfrom
Xernium:1.16-changes-pre
Jun 23, 2020
Merged

Preliminary 1.16 support#494
electronicboy merged 17 commits into
PaperMC:masterfrom
Xernium:1.16-changes-pre

Conversation

@Xernium
Copy link
Copy Markdown
Contributor

@Xernium Xernium commented Apr 29, 2020

This Pull-request is meant to be merge-ready when 1.16 gets released so a usable Bungeecord can be obtained ASAP. The changes in this PR will get lost when Bungeecord gets updated to support 1.16, that is intentional. This is just meant to maybe make @electronicboy s life a little easier ;).

You can view the original Pull-request here.

I still maintain the Travertine fork just so I can backtrack on the changes, but this implementation is a good bit cleaner and fixes a few known bugs over the Travertine fork.
@aikar You said I should port this here and I did, should make life easier for now.

KEEP IN MIND:
Respawn and Login packets are implemented in Travertine separately so tracking the changes there will only work if they both get the appropriate patches, which I will likely create. If I do I will link back here

@pczmr8v5n454iycf
Copy link
Copy Markdown

Any eta for 20w19a?

@Xernium Xernium force-pushed the 1.16-changes-pre branch from 13c1dc4 to 839426c Compare May 9, 2020 13:25
@Xernium
Copy link
Copy Markdown
Contributor Author

Xernium commented May 9, 2020

@pczmr8v5n454iycf I'm very much sorry, I forgot to push the change o_O

@pczmr8v5n454iycf
Copy link
Copy Markdown

@Xernium Is the Travertine fork which support 1.7 and old snapshot versions no longer maintained?

@Xernium Xernium force-pushed the 1.16-changes-pre branch 2 times, most recently from 2063b06 to e4850c7 Compare May 14, 2020 08:49
@pczmr8v5n454iycf
Copy link
Copy Markdown

@Xernium Could you update the Travertine fork which support 1.7 and old snapshot versions?

@Xernium Xernium force-pushed the 1.16-changes-pre branch from a77cc9c to c55d330 Compare May 31, 2020 14:39
@Gerrygames
Copy link
Copy Markdown
Contributor

Caused by: java.lang.NoSuchMethodError: net.md_5.bungee.protocol.packet.Chat.<init>(Ljava/lang/String;B)V
You should probably add this constructor for compatibility.

@RedSparr0w
Copy link
Copy Markdown

RedSparr0w commented Jun 9, 2020

On Vanilla 1.16-pre2 the player seems to get disconnected when left/right clicking anything.
Not sure if this is known, just thought i'd mention it.

OUTPUT LOG
[17:39:50] [Netty Worker IO Thread #0/ERROR]: [/127.0.0.1:53795|RedSparr0vv] -> UpstreamBridge - encountered exception
java.lang.IndexOutOfBoundsException: readerIndex(1) + length(8) exceeds writerIndex(2): PooledUnsafeHeapByteBuf(ridx: 1, widx: 2, cap: 2)
	at io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1477) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.buffer.AbstractByteBuf.readLong(AbstractByteBuf.java:836) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at net.md_5.bungee.protocol.DefinedPacket.readUUID(DefinedPacket.java:314) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at net.md_5.bungee.entitymap.EntityMap_1_16.rewriteServerbound(EntityMap_1_16.java:180) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at net.md_5.bungee.entitymap.EntityMap.rewriteServerbound(EntityMap.java:103) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at net.md_5.bungee.connection.UpstreamBridge.handle(UpstreamBridge.java:120) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at net.md_5.bungee.netty.HandlerBoss.channelRead(HandlerBoss.java:113) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b33bd3c:unknown]
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_221]
[17:39:50] [Netty Worker IO Thread #0/INFO]: [RedSparr0vv] disconnected with: IndexOutOfBoundsException : readerIndex(1) + length(8) exceeds writerIndex(2): PooledUnsafeHeapByteBuf(ridx: 1, widx: 2, cap: 2) @ io.netty.buffer.AbstractByteBuf:1477
[17:39:50] [Netty Worker IO Thread #0/INFO]: [/127.0.0.1:53795|RedSparr0vv] -> UpstreamBridge has disconnected
[17:39:50] [Netty Worker IO Thread #0/INFO]: [/127.0.0.1:53795|RedSparr0vv] <-> DownstreamBridge <-> [lobby] has disconnected

Note: Tried building myself and with the files from here instead.

@Xernium
Copy link
Copy Markdown
Contributor Author

Xernium commented Jun 9, 2020

@RedSparr0w apologies. I should have double-checked @Gerrygames commit. Should be fixed now.
Also @Gerrygames you botched a SERVERBOUND packet while matching the shift in CLIENTBOUND ;). I also added an API dummy for Chat. Gotta love lombok...

@quiquelhappy
Copy link
Copy Markdown

quiquelhappy commented Jun 9, 2020

Hello @Xernium, the last build from your build server is from about a month ago (travertine), where can I download the newest travertine with 1.16 support? Thank you! How do I get this running? :)

Edit: was easy to do, just build with ./waterfall b and get the jar

@jakkuh
Copy link
Copy Markdown

jakkuh commented Jun 22, 2020

Xernium@8edee1f

Just need to make this change and we are 1.16 ready. @Xernium

@clrxbl
Copy link
Copy Markdown
Member

clrxbl commented Jun 22, 2020

Can confirm that 734 (rc1) also works without any problems. Changing it to 735 should be ready for 1.16.

@Xernium
Copy link
Copy Markdown
Contributor Author

Xernium commented Jun 22, 2020

Okay, I verified that the upstream changes to the downstream patch repo don't interfere. We should be good-to-go and merge-ready 👀

@electronicboy electronicboy changed the title [Future] 1.16 Patch/changes Preliminary 1.16 support Jun 23, 2020
@electronicboy electronicboy merged commit 29b6e01 into PaperMC:master Jun 23, 2020
linsaftw pushed a commit to ArkFlame/Waterfall that referenced this pull request Jun 3, 2023
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Waterfall Changes:
360fdcf Updated Upstream (BungeeCord)
61508bf fix derp in protocol mapping again
52291f0 Fix Entity effect packet mappings
d61b93a Updated Upstream (BungeeCord)
b3296ad Disable metadata rewriting for 1.16 (PaperMC#520)
29b6e01 Preliminary 1.16 support (PaperMC#494)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants