[Minecraft] Vanilla1.13.2からSpigot1.13.2にワールドごと引っ越す方法

概要

Minecraft、マルチで遊んでいます。ごく少数(2~3人)の身内鯖です。
1年ほどvanillaでしたが、素材ワールドほしさにSpigotに乗り換えることにしました。
これまでのワールドを保ったまま、Spigotへの引越しに成功しましたので、手順を紹介します。

今回得た知識は以下。

  • Git, javaがあればコマンドひとつで必要なものを収集・ビルドできる。
    • Spigotはビルドツールを使って自分の手元でビルドして入手すること。
    • 二次配布されたspigot-1.13.2.jar等をダウンロードしない。
      • アップデートが頻繁に行われており、追従するため。
      • Minecraftサーバに見せかけた悪意あるソフトウェアである可能性もある
  • vanillaからワールドデータを引っ越す場合、worldデータをコピーしてくるだけでよい。
    • DIM1等フォルダをバラしてworld_netherにコピーする作業は不要。

詳細な環境・手順については、以下に記します。

環境

項目 内容
OS Ubuntu14.04
サーバ カゴヤ・ジャパン VPS(6コア/2GB)
旧バージョン vanilla 1.13.2
移行先バージョン spigot 1.13.2

(参考)[VPS] KAGOYA Cloud2とConoHaの2GBプランを比較

手順

必ずバックアップをとり、作業を行ってください。
当記事に誤りや曖昧な記述があったことによるデータ破損の場合も、責任は負いません。

必要なもののインストール

$ sudo add-apt-repository ppa:openjdk-r/ppa
$ sudo apt-get update
$ sudo apt-get install git
$ sudo apt-get install openjdk-8-jre
$ sudo apt-get install openjdk-8-jdk

Spigotをビルド

$ mkdir spigot
$ cd spigot
$ wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
$ java -jar BuildTools.jar --

初回起動・eula.txt編集

$ java -Xmx1G -Xms1G -jar spigot-1.13.2.jar

初回起動では、eula.txtを生成後、サーバは停止する。

eula.txtを開き、EULAに同意する場合、下記の通り編集する。

$ vim eula.txt
- eula=false
+ eula=true

vanillaのワールドデータ引越

以下のようなフォルダ構成の場合について記します。

/home/user/
├── vanilla ←旧vanillaサーバのディレクトリ
│   ├── world
│   ├── minecraft_server_1.13.2.jar
│   └── ...
└── spigot ←spigotをビルドしたディレクトリ
│   ├── spigot-1.13.2.jar
│   └── ...
$ cd /home/user/vanilla

worldフォルダのみコピーすればOK.

$ cp -r world/ ../spigot

ホワイトリスト等は必要に応じてコピーする。

$ cp ops.json server.properties usercache.json whitelist.json ../spigot

Spigotのデータはvanillaとフォルダ構成が異なるが、worldフォルダを基に自動的に生成してくれる。
world_nether, world_endフォルダがない状態で起動すること。

$ cd /home/user/spigot
$ java -Xmx1G -Xms1G -jar spigot-1.13.2.jar

動作確認

Minecraftクライアントを起動して、ワールドがvanillaのものと相違ないか確認します。ネザー・エンドもお忘れなく。
変化がなければ引越し成功です。あとからおかしくなっていたことがわかったりもするので、バックアップは残しておきましょう。

おつかれさまでした。