[2020-08-01 01:53:51 ERROR] DBStorage chain is invalid. Possibly encryption-related, or bad DBStorageConfig passed. Reason: Unable to decipher/decrypt LevelDB.[2020-08-01 01:53:51 ERROR] Network port occupied, can't start server.
Minecraftサーバを起動すると上記のようなエラーが発生し起動できません。
最近サーバ機自体がハングってたりしたので、その影響なのかは不明です。
先に言ってしまうとPortがどうとか言ってますが関係ありません。
なお本環境はUbuntuです。
で、解決策はこちら
英語だし長いので簡単に修復方法は以下の通り。
- 最新DBファイルの確認
MinecraftのDBファイルを参照します。
$ ls ~/minecraft/worlds/Bedrock level/db
(前略) 255684.ldb 255686.ldb 261601.log CURRENT MANIFEST-255686
DBについては詳しくはよく分かりませんが、DB実ファイルと管理用?のファイル:CURRENTとMANIFEST-XXXXXXXの不整合が問題のようです。
これらは0byteになってました。 - MANIFESTファイルのリネーム
MANIFEST-XXXXXXを最新の.ldbにリネームします。
私の環境では一致してたので不要でした。 - CURRENTファイルにMANIFESTファイル名記載
CURRENTファイルをvim等で開き、MANIFESTファイル名(私の環境では MANIFEST-255686)を記載して保存します。 - 起動
これで./bedrock_serverで起動すると自動的にDB修復をして起動してくれます。
[2020-08-01 02:13:37 INFO] opening worlds/Bedrock level/db
[2020-08-01 02:13:37 WARN] LevelDB worlds/Bedrock level/db status NOT OK(Corruption: no meta-nextfile entry in descriptor). Trying repair.
-rw-rw-r-- 1 user group 1482948 Aug 1 12:21 261937.ldb-rw-rw-r-- 1 user group 0 Aug 1 12:27 261938.log-rw-rw-r-- 1 user group 246 Aug 1 12:27 261939.ldb-rw-rw-r-- 1 user group 16 Aug 1 11:17 CURRENT-rw-rw-r-- 1 user group 47892 Aug 1 12:27 MANIFEST-261764