For example when you drop in to our Survival server about 441 chunks are loaded. Each chunk is 16x16x256. That's 16 wide, 16 long and 256 deep (from bedrock to sky).
99% of what gets sent to you, you'll not see because it is underground. So we may waste 250KB of bandwidth sending your game client specific block information for all 441 chunks.
What this compression system does is convert chunks you can't see (the ones underground) in to stone. So instead of sending your client a data packet consisting of this:
1112120418182271161811291285681919283102401238021
8398712937921378492783497812934719278349732289035
8105834509829487129387491753082094810293875918374
5987912734921809812019212354565731209812389210292
Which would indicate all the different blocks in a chunk, it sends a data packet like this:
1*256
Which would tell your client to render stone 256 times in a row. The amount of data sent is thus reduced. Meaning your client loads faster. Minecraft already has gzip compression to make this possible built in so you don't need to modify your client, all this server-side stuff is doing is making best use of this compression by telling your client everything you can't see is stone instead of what it actually is.
So you're probably wondering, but wait, what happens if I start digging down in to the ground? Won't everything be stone? .. Well, no it won't because as you get within 5 blocks of one of these chunks that your client has been told is full of stone your client will receive an update for that chunk which tells it what the blocks really are.
And because we are only sending your client that one chunk and not 441 chunks our overall bandwidth use is greatly reduced. As much as 7/8ths. The net result is you login faster, you spawn faster, you teleport faster, warps are faster and your client will even have better performance as your client won't need to keep track of so many different voxels simultaneously.
And with these bandwidth savings we can better host the amount of users we currently have with the affects of lag setting in much later. But there is also another benefit. With all the blocks you can't see underground being set to stone it hides precious ores from cheaters who xray.
So thanks for reading hope this update was interesting!
