I'm curious if anyone has any idea which world format allows PocketMine to load chunks the fastest. I'd assume that the anvilpm format is somewhat more optimized than the regular anvil format, but what about LevelDB? I can do the testing if nobody has yet, but I thought I'd check first.
I did some benchmarks on this when I was working on threaded chunk I/O. LevelDB is fastest by quite a large margin, and that's without any optimizations or corner-cutting - and let's say there is a LOT of corner-cutting which can be done with LevelDB. It is faster and more scalable. I want to make LevelDB the primary format for the next major MCPE release and cut back support for the legacy formats (due to chunk format changes).
well I didn't even get a whole minute to fix my typos (writing from mobile), and word suggestions are not working on my browser... ¯\_(ツ)_/¯
Interesting. Do you know of any easy way to convert an Anvil world to LevelDB besides creating a new world and copying the chunks over? I mean, that would work I guess.
There are converters floating around the internet but I don't know if there are any up to date ones. We'll be writing converters for release.next (all things going to plan). As I said above I'm planning to cut support for the legacy formats in release.next, and go with leveldb (less loss of sanity due to PC/PE inconsistency in the core code then). The chunk format changes in MCPE.next make all of the PC Region-based formats unsuitable, including PMAnvil, so it will be LevelDB or a custom format. I'd rather avoid another custom format for obvious reasons.
LevelDB is fully supported right now, right? I'm thinking of using it as the main level format on my server to make it better, faster, stronger.
You have to get the LevelDB library installed, specifically the fork from Mojang, although theres also a fork on pmmp’s github page i believe. Once you have that, you can install the php-leveldb extension, and it’ll work. If you use the pmmp-provided install scripts, I have no idea. I don’t use them.
not fully no - it doesn't support the 1.2.13+ chunk format. But the extension is supported on all platforms we support. Windows, Mac and Linux builds include it by default now (it'll become mandatory in future).
Also worth pointing out that you will not get any benefit until you convert your worlds to LevelDB. You can do that pretty easily if you have a spare dev lying around. I can share some simple, safe code which does this if anyone’s interested.
Aaand the last one: can the same latest version of the extension be used for the older versions of pmmp? For example, to support mcpe-1.1. The older pmmp version will need a PHP update and probably some other changes for that, but it should be generally possible?
theoretically speaking yes, but don't quote me on that - older versions than ALPHA12 are now end-of-life.
I know, I said that it will need some updates: I was asking only about changes in the extension itself (if there's anything breaking the format compatibility or something like that). Anyways, thank you.