1. The forums will be archived and moved to a read only mode in about 2 weeks (mid march).

Convert level from windows 10 to PocketMine?

Discussion in 'Help' started by BasomtiKombucha, Jan 30, 2018.

  1. BasomtiKombucha

    BasomtiKombucha Spider

    Messages:
    7
    Hi All,

    You guys were a great help before, I was hoping you could help me with another issue I'm having.I want to import a singleplayer world I've created in Windows 10 edition into the pocketmine server you've helped me run.
    I did quite a lot of googling and found out that there's a tool called LevelDb2Anvil that can help me convert between the two level formats. I've followed the instructions in the read.me, but the batch file outputs this error:
    [​IMG]
    (Exception in thread "main" org.iq80.leveldb.shaded.guava.util.concurrent.UncheckedExecutionException: java.lang.IllegalArgumentException: Unknown persistentId 4)

    I'm not sure what does this mean. Is there something wrong with the level or with my Java? Is there any alternative tool for converting the world?
     
  2. jasonwynn10

    jasonwynn10 Moderator Poggit Reviewer

    Messages:
    1,489
    GitHub:
    jasonwynn10
    I’ve got an in-development build for PocketMine with LevelDB world support for windows servers if you would like to have a copy. It allows you to put your world files into PocketMine like the PC worlds. I’ll post here again with the link in an hour
     
    BasomtiKombucha likes this.
  3. jasonwynn10

    jasonwynn10 Moderator Poggit Reviewer

    Messages:
    1,489
    GitHub:
    jasonwynn10
    The dll file is hosted at https://nofile.io/f/3wNvcxcGVMj/php_leveldb.dll and can be added by dropping it in your php build's ext folder, then you will need to add the following line to your php.ini
    Code:
    extension=php_leveldb.dll
    After following the above steps, you should be able to start PocketMine with your world

    *NOTE:* this dll is partially unstable. Make sure you don't use the only copy of the world for this.
     
  4. dktapps

    dktapps Administrator Staff Member PMMP Team

    Messages:
    774
    GitHub:
    dktapps
    this won't work on its own, leveldb-mcpe.dll is needed as well.
     
    jasonwynn10 likes this.
  5. BasomtiKombucha

    BasomtiKombucha Spider

    Messages:
    7
    Jasonwynn10: awesome, sounds really amazing! However it seems I came here too late and now the link is doesn't work anymore, can you please try to reupload the .dll again?
     
    jasonwynn10 likes this.
  6. BasomtiKombucha

    BasomtiKombucha Spider

    Messages:
    7
    Hi Guys,

    So I've added the .dll from jasonwyn among my PHP extensions. I've also added the leveldb-mcpe.dll to my PHP's root folder so now they're both working correctly.

    However, the last problem I've stumbled upon is: where do I put the LevelDB world?
    When booting-up PocketMine for the first time, I see that a region based (anvil?) world gets created in the 'PocketMineRoot\worlds\world' folder. I've removed the contents of the folder and replaced them with the world-files from my Bedrock Minecraft version. However, trying to connect to the server now outputs the following error:

    Code:
    [20:26:18] [Server thread/CRITICAL]: LevelDBException: "Corruption: corrupted compressed block contents" (EXCEPTION) in "src/pocketmine/level/format/io/leveldb/LevelDB" at line 526
    [20:26:18] [Server thread/DEBUG]: #0 src/pocketmine/level/format/io/leveldb/LevelDB(526): LevelDB->get(string ........v)
    [20:26:18] [Server thread/DEBUG]: #1 src/pocketmine/level/format/io/leveldb/LevelDB(273): pocketmine\level\format\io\leveldb\LevelDB->chunkExists(integer 16, integer 15)
    [20:26:18] [Server thread/DEBUG]: #2 src/pocketmine/level/format/io/BaseLevelProvider(118): pocketmine\level\format\io\leveldb\LevelDB->readChunk(integer 16, integer 15)
    [20:26:18] [Server thread/DEBUG]: #3 src/pocketmine/level/Level(2716): pocketmine\level\format\io\BaseLevelProvider->loadChunk(integer 16, integer 15, boolean 1)
    [20:26:18] [Server thread/DEBUG]: #4 src/pocketmine/level/Level(2363): pocketmine\level\Level->loadChunk(integer 16, integer 15, boolean 1)
    [20:26:18] [Server thread/DEBUG]: #5 src/pocketmine/entity/Entity(487): pocketmine\level\Level->getChunk(integer 16, integer 15, boolean 1)
    [20:26:18] [Server thread/DEBUG]: #6 src/pocketmine/entity/Human(92): pocketmine\entity\Entity->__construct(pocketmine\level\Level object, pocketmine\nbt\tag\CompoundTag object)
    [20:26:18] [Server thread/DEBUG]: #7 src/pocketmine/Player(2005): pocketmine\entity\Human->__construct(pocketmine\level\Level object, pocketmine\nbt\tag\CompoundTag object)
    [20:26:18] [Server thread/DEBUG]: #8 src/pocketmine/Player(1995): pocketmine\Player->completeLoginSequence()
    [20:26:18] [Server thread/DEBUG]: #9 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(108): pocketmine\Player->handleResourcePackClientResponse(pocketmine\network\mcpe\protocol\ResourcePackClientResponsePacket object)
    [20:26:18] [Server thread/DEBUG]: #10 src/pocketmine/network/mcpe/protocol/ResourcePackClientResponsePacket(61): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleResourcePackClientResponse(pocketmine\network\mcpe\protocol\ResourcePackClientResponsePacket object)
    [20:26:18] [Server thread/DEBUG]: #11 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(92): pocketmine\network\mcpe\protocol\ResourcePackClientResponsePacket->handle(pocketmine\network\mcpe\PlayerNetworkSessionAdapter object)
    [20:26:18] [Server thread/DEBUG]: #12 src/pocketmine/network/mcpe/protocol/BatchPacket(115): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(pocketmine\network\mcpe\protocol\ResourcePackClientResponsePacket object)
    [20:26:18] [Server thread/DEBUG]: #13 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(92): pocketmine\network\mcpe\protocol\BatchPacket->handle(pocketmine\network\mcpe\PlayerNetworkSessionAdapter object)
    [20:26:18] [Server thread/DEBUG]: #14 src/pocketmine/Player(2964): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(pocketmine\network\mcpe\protocol\BatchPacket object)
    [20:26:18] [Server thread/DEBUG]: #15 src/pocketmine/network/mcpe/RakLibInterface(149): pocketmine\Player->handleDataPacket(pocketmine\network\mcpe\protocol\BatchPacket object)
    [20:26:18] [Server thread/DEBUG]: #16 vendor/pocketmine/raklib/server/ServerHandler(103): pocketmine\network\mcpe\RakLibInterface->handleEncapsulated(string 86.83.27.220 61536, raklib\protocol\EncapsulatedPacket object, integer 0)
    [20:26:18] [Server thread/DEBUG]: #17 src/pocketmine/network/mcpe/RakLibInterface(88): raklib\server\ServerHandler->handlePacket()
    [20:26:18] [Server thread/DEBUG]: #18 src/pocketmine/network/Network(89): pocketmine\network\mcpe\RakLibInterface->process()
    [20:26:18] [Server thread/DEBUG]: #19 src/pocketmine/Server(2531): pocketmine\network\Network->processInterfaces()
    [20:26:18] [Server thread/DEBUG]: #20 src/pocketmine/Server(2283): pocketmine\Server->tick()
    [20:26:18] [Server thread/DEBUG]: #21 src/pocketmine/Server(2158): pocketmine\Server->tickProcessor()
    [20:26:18] [Server thread/DEBUG]: #22 src/pocketmine/Server(1744): pocketmine\Server->start()
    [20:26:18] [Server thread/DEBUG]: #23 src/pocketmine/PocketMine(556): pocketmine\Server->__construct(BaseClassLoader object, pocketmine\utils\MainLogger object, string C:\PocketMine\, string C:\PocketMine\plugins\)
    [20:26:19] [Server thread/DEBUG]: #24 C:/PocketMine/PocketMine-MP_1.7dev-703_3600542d_API-3.0.0-ALPHA11.phar(1): require(string phar://C:/PocketMine/PocketMine-MP_1.7dev-703_3600542d_API-3.0.0-ALPHA11.phar/src/pocketmine/PocketMine.php)
    The Bedrock-edition world I've copied to server is a fresh, empty world so there shouldn't be any weird constructions messing up with it. Should I put it somewhere else? How can I make PocketMine reckognize it?
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.