Nukkit / Nukkit

Nukkit is a Nuclear-Powered Server Software For Minecraft: Pocket Edition
https://nukkit.org
GNU General Public License v3.0
825 stars 274 forks source link

LevelDB Not support #1971

Open ghost opened 6 years ago

ghost commented 6 years ago

Issue Description

LevelDB Not support on Nukkit

Steps to Reproduce the Issue

  1. Copy Minecraft Bedrock Edition World -> Nukkit World folder
  2. Server Start

OS and Versions

Item Value
Host OS Windows
Memory(RAM) 8 GB
Storage Size 250 GB
Storage Type SSD
CPU Type Intel i3 530
CPU Core Count 2 cores 4 threads
Upstream Bandwidth 1Gbps
Item Value
Client Edition Win10/Android (Both)
Client Version 1.2.7

Crashdump, Backtrace or Other Files

23:20:10 [ERROR] level  "world" is not loaded : Caused by java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at cn.nukkit.level.Level.<init>(Level.java:259)
        at cn.nukkit.Server.loadLevel(Server.java:1595)
        at cn.nukkit.Server.<init>(Server.java:442)
        at cn.nukkit.Nukkit.main(Nukkit.java:99)
Caused by: cn.nukkit.utils.LevelException: Invalid level.dat
        at cn.nukkit.level.format.leveldb.LevelDB.<init>(LevelDB.java:62)
        ... 8 more
23:20:10 [ALERT] cn.nukkit.utils.LevelException: Caused by java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at cn.nukkit.level.Level.<init>(Level.java:259)
        at cn.nukkit.Server.loadLevel(Server.java:1595)
        at cn.nukkit.Server.<init>(Server.java:442)
        at cn.nukkit.Nukkit.main(Nukkit.java:99)
Caused by: cn.nukkit.utils.LevelException: Invalid level.dat
        at cn.nukkit.level.format.leveldb.LevelDB.<init>(LevelDB.java:62)
        ... 8 more
        at cn.nukkit.level.Level.<init>(Level.java:264)
        at cn.nukkit.Server.loadLevel(Server.java:1595)
        at cn.nukkit.Server.<init>(Server.java:442)
        at cn.nukkit.Nukkit.main(Nukkit.java:99)
23:20:10 [EMERGENCY] default map is not loaded.
SupremeMortal commented 6 years ago

Nukkit's LevelDB isn't at the same standard as Mojangs. Two of the compression types Mojang use have not been implemented which is most likely causing the issue.