[BDS-5554] DBStorage chain is invalid. Unable to start previously working server Created: 23/May/20 Updated: 09/Aug/20 Resolved: 09/Aug/20 |
|
| Status: | Resolved |
| Project: | Bedrock Dedicated Server |
| Affects Version/s: | 1.14.60 |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Trivi | Assignee: | Unassigned |
| Resolution: | Invalid | Votes: | 0 |
| Labels: | None | ||
| Environment: |
Ubuntu 20.04 x64 |
||
| Attachments: |
|
| Confirmation Status: | Unconfirmed |
| Description |
|
Hi there, I'm having an issue with my server that I was hosting on a personal Linux VM, it was previously working without any issues and randomly stopped working. Whenever trying to start my own private server with my world, I get the error: [2020-05-20 19:43:26 ERROR] DBStorage chain is invalid. Possibly encryption-related, or bad DBStorageConfig passed. Reason: Unable to decipher/decrypt LevelDB.
Creating a new world doesn't cause any issues however when I attempt to change the server name in the server.properties to my original world, this error appears. There is no other application on the same port, and changing the host port has no effect.
EDIT: Seems the issue comes down to being a corruption problem, make sure you have backups.... |
| Comments |
| Comment by IonicEcko [ 09/Aug/20 ] |
|
I'm going to close this report off as it extends beyond the bounds of a bug report and there isn't really anything here we could raise that isn't covered by existing reports. For the issue of corruptions on unclean shutdowns, Mojang is aware of the issue and it is covered by a number of reports over in the MCPE project. The issue is one that traverses all 3 projects (MCPE, Realms and BDS) and in general those are usually tracked over in the Bedrock project for the visibility. The only real workaround at the moment is to ensure the server is stopped properly and regularly backed up. As far as Drews queries regarding the save process of BDS, the bug tracker is run by volunteers so unfortunately we have no more information than you do in this regard. |
| Comment by Zach Toundas [ 15/Jun/20 ] |
|
One cause of this problem I discovered was when trying to recover worlds, I had permissions set wrong on the recovered world folder. Use chown to make sure the permissions are set for the user that Minecraft loads under. An easy way to test if this is the problem is to use sudo when running the ./start.sh command. The game should start, but to check its progress you'll have to use sudo again when running 'screen -r minecraft' and it does cause problems with connecting over lan. However, this at least will inform you as to whether or not it's a permissions issue. |
| Comment by Drew Davies [ 27/May/20 ] |
|
I managed to recover my world, after a fair bit of trial and error. I made note of the last LDB file which had data in it (111116.ldb) and renamed the 0-byte MANIFEST-111120 to MANIFEST-111116. I then edited the 0-byte CURRENT file to contain "MANIFEST-111116". Upon starting my Bedrock server, it provided a warning that the database was corrupt, but it subsequently repaired it: [2020-05-27 21:09:42 INFO] Starting Server [2020-05-27 21:09:42 INFO] Version 1.14.60.5 [2020-05-27 21:09:42 INFO] Session ID 4e3ddebe-963a-411e-a90d-08542c93ce9a [2020-05-27 21:09:42 INFO] Level Name: Bedrock level [2020-05-27 21:09:42 INFO] Game mode: 0 Survival [2020-05-27 21:09:42 INFO] Difficulty: 1 EASY [2020-05-27 21:09:42 INFO] opening worlds/Bedrock level/db [2020-05-27 21:09:42 WARN] LevelDB worlds/Bedrock level/db status NOT OK(Corruption: no meta-nextfile entry in descriptor). Trying repair. [2020-05-27 21:09:51 INFO] IPv4 supported, port: 19132 [2020-05-27 21:09:51 INFO] IPv6 not supported [2020-05-27 21:09:51 INFO] IPv4 supported, port: 55936 [2020-05-27 21:09:51 INFO] IPv6 not supported [2020-05-27 21:09:52 INFO] Server started.
Naturally, I'll work to prevent this from happening in the future by making daily backups, but I'm still unsure as to what the underlying cause of the DB corruption was. I've seen an increased number of reports related to v1.14.60 worlds becoming corrupted due to non-graceful shutdowns of the game/BDS instance (eg. MCPE-62153, |
| Comment by Drew Davies [ 27/May/20 ] |
|
I came across this link on Gamepedia related to recovering corrupted worlds. When attempting to load my level.dat, a world does load, but I have no inventory and I start in a location that I'm unfamiliar with. This is not entirely unexpected, as the instructions specifically state:
While I don't know much about the LevelDB format, I'm skeptical that any features (settlements) that we built in our world before it became corrupted, could possibly be captured within the 2.1KB level.dat alone. My expectation is that the level.dat contains the seed for the world, but that the LDB files contain the vast majority of changes to the base world. I also found issue |
| Comment by Drew Davies [ 26/May/20 ] |
|
Thanks for the suggestion Pablo, however, just like in Trivi's case, the "Network port occupied, can't start server" appears to be a false flag. I've verified that there is only one instance of the Bedrock server running, and in my case, Docker provides full network isolation. On a properly working BDS instance (port 19132 bound via UDP) this is what should be displayed, but in my case is not:
|
| Comment by Trivi [ 26/May/20 ] |
|
@pablo Me and my friend tried to diagnose that part of the error "[2020-05-20 19:43:26 ERROR] Network port occupied, can't start server." as being how you said even before I made this post but we had made sure nothing else was running on the VM at all and even went as far as creating a new Cloud Server with a new IP and everything and it running completely fine on a freshly made server world but as soon as I transfer the world file in than both errors would be outputted every time and like the mod above said I think it comes down to a corruption problem.
|
| Comment by Pablo [ 26/May/20 ] |
|
Look at this message: [2020-05-20 19:43:26 ERROR] Network port occupied, can't start server. It's saying that the game network port is occupied for other process. I think you have the server open twice. One of the processes is in the background and hidden, using the database. When you try to open the server a second time, the application cannot open and decrypt the database because it is being used by the first one. Try to restart the VM (rebooting linux), so that any possible hidden session of the server is closed. You can also check in the running processes that the bedrock_server application is not running twice.
|
| Comment by Drew Davies [ 25/May/20 ] |
|
Having the same issue after upgrading from 1.14.30.2 to 1.14.60.5. I use a Docker container (https://github.com/itzg/docker-minecraft-bedrock-server) in Linux and noticed that I was unable to start my container after perfoming some maintenance on the underlying server:
I have 90 files in my "data/worlds/Bedrock level/db" folder, however it appears that the latest three files are all zero bytes, including the MANIFEST, which appears to be referencing an LDB which doesn't exist (111120).
My "data/worlds/Bedrock level" folder appears to contain a populated level.dat:
|
| Comment by Trivi [ 24/May/20 ] |
|
Yikes, nope I only had it up for about 2 weeks with my girlfriend, I probably should have backed it up right before the updates but I had done a manual hard restart of the VM server and than rebooted through putty to reconnect to where I accepted the updates and then when I commanded the server to start it got the error.
There's no way of recovering the world eh? We only had built a lot mostly in a few chunks near spawn like 400 or so blocks from spawn. |
| Comment by IonicEcko [ 24/May/20 ] |
|
It looks like your world files are corrupted. Please tell me you have backups? You have a bunch of null size files that should have data in them (for example the level.dat which holds the settings etc for your world). Did you stop the server gracefully before you did updates and restarted? |
| Comment by Trivi [ 24/May/20 ] |
|
Here is the zip file of the server on Google Drive, https://drive.google.com/open?id=1pIeB6U_na_v3nwo0ad18VrGJpE-YugU1
Thanks in advance |
| Comment by IonicEcko [ 24/May/20 ] |
|
Are you able to upload a zip of your server files. This will likely be too big for the tracker so you may have to use a service such as OneDrive or Google Drive and share a link. |
| Comment by Trivi [ 24/May/20 ] |
|
No not at all, I had kept everything vanilla and didn't change anything between the time it worked and didn't work besides installing linux updates that I did after a server restart on my VM. |
| Comment by IonicEcko [ 24/May/20 ] |
|
Have you tried to apply a marketplace pack to the world? That error usually occurs when attempting to use encrypted marketplace packs on a BDS server. |