stevenarella icon indicating copy to clipboard operation
stevenarella copied to clipboard

1.19 protocol (759)

Open iceiix opened this issue 1 year ago • 4 comments

Major protocol update

https://minecraft.fandom.com/wiki/Java_Edition_1.19 https://wiki.vg/Protocol https://wiki.vg/index.php?title=Protocol&oldid=17688 1.19 (759) https://wiki.vg/index.php?title=Protocol&oldid=17499 1.18.2 (758) https://wiki.vg/index.php?title=Protocol&type=revision&diff=17688&oldid=17499 1.19 (759) vs 1.18.2 (758)

iceiix avatar Aug 07 '22 00:08 iceiix

A long ways off, massive changes in this update including to the login handshake: attempting to join fails: disconnect.genericReason, server logs:

[17:46:21] [Server thread/INFO]: /[0:0:0:0:0:0:0:1]:65313 lost connection: Internal Exception: io.netty.handler.codec.DecoderException: java.lang.IndexOutOfBoundsException: readerIndex(12) + length(1) exceeds writerIndex(12): PooledUnsafeDirectByteBuf(ridx: 12, widx: 12, cap: 12)

Has Sig Data, signatures added to https://wiki.vg/index.php?title=Protocol#Login_Start, and more

iceiix avatar Aug 07 '22 02:08 iceiix

Now able to login, and can see… something. Flat terrain with a hole is expected, but should be dirt instead of logs, and somehow it is positioned above(?) the player instead of beneath them on the ground:

Screen Shot 2022-08-07 at 6 01 34 PM

This may be related to the min_y changes.

Not all packets parsing is implemented yet, both new packets and changed packets.

Also https://wiki.vg/Protocol_version_numbers says 1.19.1 is 760, but has no protocol change details (yet?). https://minecraft.fandom.com/wiki/Java_Edition_1.19.1 says "This version is not compatible with 1.19 servers.". And another update just dropped, https://minecraft.fandom.com/wiki/Java_Edition_1.19.2 released "released on August 5" two days ago, but it "is compatible with 1.19.1 servers".

iceiix avatar Aug 08 '22 01:08 iceiix

Fixed the dimension type loading, which was needed for min_y, now able to see the world as it is:

Screen Shot 2022-08-07 at 6 37 00 PM

but not stable. Walking towards the village crashes with:

thread 'main' panicked at 'TODO: support chunk data y<0 non-air (bit_size 4, single_value Some(4), block_count 4)', src/world/mod.rs:1059:25

which was the hack introduced in https://github.com/iceiix/stevenarella/pull/640#issuecomment-1200471082 to get past not supporting negative y coordinates - may have to support it.. update: this may be improved with https://github.com/iceiix/stevenarella/pull/727 Support chunks with negative y values

iceiix avatar Aug 08 '22 01:08 iceiix

This is great work! Do you think it would be possible to work together to get this patch for leafish as well? I can't work on this rn tho, as i am implementing wgpu-mc as our new renderer, which enables vulkan, dx and metal support for leafish

terrarier2111 avatar Aug 08 '22 14:08 terrarier2111