Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement the 0x21 map_chunk bitmap #8

Closed
wtfaremyinitials opened this issue Apr 18, 2015 · 10 comments
Closed

Implement the 0x21 map_chunk bitmap #8

wtfaremyinitials opened this issue Apr 18, 2015 · 10 comments

Comments

@wtfaremyinitials
Copy link
Member

Minecraft network packet 0x21 map_chunk allows for a bitmap to specify which 16x16x16 minichunks are included and which are left out to be filled with air. Currently there is no way of using this, and the entirety of the chunk must be sent over the wire.

@rom1504
Copy link
Member

rom1504 commented Sep 5, 2015

This is needed : sending whole columns to a client is way too slow.

@rom1504
Copy link
Member

rom1504 commented Oct 9, 2015

Right, I'm probably going to do that next: sending whole columns saturate my 1MB/s connection for a few minutes, which means no other packets are received during that time (and adding a 100ms sleep between each map packet makes loading of chunks really slow)

Or http://wiki.vg/Protocol#Map_Chunk_Bulk ?

@roblabla
Copy link
Member

roblabla commented Oct 9, 2015

stay away from bulk, it's going to be deprecated in 1.9

@rom1504
Copy link
Member

rom1504 commented Oct 9, 2015

Yeah indeed.

@rom1504
Copy link
Member

rom1504 commented Oct 12, 2015

The main difficulty here is these cursor functions https://github.com/PrismarineJS/prismarine-chunk/blob/master/src/chunk.js#L19

@rom1504
Copy link
Member

rom1504 commented Oct 12, 2015

Hmm, so, it might be that nmp server doesn't compress packets (see https://github.com/PrismarineJS/node-minecraft-protocol/blob/c55865ef33bc6ba871364a5beddf1c6f091544f8/src/createServer.js#L203 ).

So this issue might not be that much urgent, I think something to do would be connecting with mineflayer to a vanilla server and see whether the vanilla server uses that bipmap or not.

Edit: yeah compressing was the real flying-squid issue.

This issue is not so urgent then.

@rom1504
Copy link
Member

rom1504 commented Nov 14, 2015

Anyway we want to represent things internally, dump and load should have a bitmask argument, to handle the fact the mc server send it that way.

@rom1504
Copy link
Member

rom1504 commented Nov 2, 2016

dependent on #19

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

No branches or pull requests

4 participants
@roblabla @wtfaremyinitials @rom1504 and others