zero is not allowed because it's pointless, just raise your compression threshold if you want zero compression.
Chunks will always be compressed regardless of threshold because they are huge. It doesn't make sense to allow uncompressed chunks when even compression level 1 will reduce their size 50x. The point of the last two (reverted) commits was to prevent compression level zero being used on chunks. Probably obvious that I was up late and not thinking very clearly.
Revert "Reduced chunk compression level to 7"
This reverts commit 49ac2555ce3d410c49eba4045ffe8a5138066346.
Revert "Always use best compression for chunks"
This reverts commit 42dd9d6abd4e7a66611cd171abd0f8f7969166c1.
According to benchmarks 8 and 9 are simply orders of magnitude slower while not saving enough bytes to make it worth the performance loss. 7 is a good balance.
This reverts commit 2162675b6400807cf650f6fc7ad236c52fa99c01.
This broke Human skins... it seems MCPE doesn't like you adding and
removing a player from the list in the same batch.
this is a little buggy with water updating due to a hack for liquids to fix a CPU leak (210bdc2436269ca4d634aa791b1054e594769baa), but everything works fine when a block nearby gets updated.
"Minecraft: PE Server" is no longer accurate, "Minecraft: Bedrock
Edition Server" is too wordy, and "Minecraft: BE Server" just sounds
weird.
and I'm not calling it simply a "Minecraft Server"
This can be enabled or disabled using the "online-mode" directive in
server.properties.
NOTE: For safety reasons it is enabled by default, since many naive server owners currently believe that authentication is not needed because "the client is forced to sign-in".
Newsflash for readers: the forced authentication is easily bypassed using a LAN proxy.
Un-authenticated LAN connections will still work fine if the online mode is disabled.
Added the following API methods:
- Server->getOnlineMode() : bool
- Server->requiresAuthentication() : bool
- Player->isAuthenticated() : bool
JWT verification is rather expensive, so it is done in an AsyncTask. Make sure you don't hog your worker threads.