Sponge への移行

この記事の目的は、サーバー管理者が、他のプラットフォームから Sponge へ移行するのを支援することです。

警告

必ず移行する 前に サーバーのバックアップをとってください。そうすれば何か問題が発生した場合でも元通りにすることができます!

Sponge への移行

SpongeForgeやSpongeVanillaへの移行をするにはこのセクションをご覧ください。ほとんどの説明は同じです。違いは以下の通りです。

CraftBukkit もしくは Spigot からの移行

注釈

Spigot は、CraftBukkit の派生です。

ワールド

Forge と SpongeForge (もちろん SpongeVanilla も)、そして vanilla の Minecraft はどれも同じワールドの構造をしています。 vanilla の Minecraft はネザー (world_nether) とジ・エンド (the_end) の次元を world フォルダに格納します。しかし、 Bukkit と Spigot はこれらのファイルを 使わない ため、移行作業が必要になります。

SpongeForgeとSpongeVanillaはどちらもワールドの自動変換スクリプトがあります。これは以下のように動作します。

  1. BukkitまたはSpigotサーバーを停止して現在のフォルダをバックアップする。
  2. これまで使ってきた Bukkit や Spigot の jar ファイルを削除し、代わりに SpongeForge や SpongeVanilla をインストールする。どうなっていれば正しく SpongeForge や SpongeVanilla がインストールされるのかが分からない場合は、 ここ を読んでください。
  3. Spongeサーバーを起動します。移行ツールが自動で読み込まれます。
  4. 移行ツールは bukkit.yml を探し、その中から world-container の設定を探し、その値のフォルダに格納されているワールドデータを変換します。もしファイルが存在しない (または何らかの原因で読み込めない)場合、移行ツールはサーバーの root フォルダ (CraftBukkit の最上位フォルダ) を使用します。
  5. 移行が完了しました。この時点で、ワールドは server.properties ファイル内の level-name キーで定義されている値を名前に持つフォルダ (私たちは world container と呼んでいます) にコピーされました。 world container にあったもともとのファイルはそのままで、 コピー を作成することで移行しています。
  6. Bukkitは変な場所に (変な名前の) ファイルを2つ配置しており、これには重要な修正を適用する必要があります。 これらの修正はあくまで (Bukkit の構造からの) 仮定に基づいているということを覚えておいてください。
    • 最初の修正は level-name プロパティで指定されている任意の名前で始まり、後ろに次元名 (_nether_the_end) がつくフォルダの名前をそれぞれ DIM-1DIM1 に変更します。
    • 2つ目の修正は Bukkit Vanilla のネザーとジ・エンドの region データを移行します。 Bukkit ではこのデータをそれぞれ DIM-1\\regionDIM1\\region のように保持しているため、 Vanilla や Forge と同じように region データをワールドフォルダの root に配置するように構造を変更します。

移行ツールは必要な設定をすべて行うことはできません。それゆえに SpongeForge または SpongeVanilla 上でワールドが適切に動作するよう手作業でパラメータを変更する必要があります。正しいパラメータを設定しワールドが読み込まれるように、 World Management Plugin を利用することを強く推奨します。

注釈

すでに注意した通り、あなたのワールドを移行する際に、私たちはいくつかの不確定要素に対処しなければいけません。 ですので、Spongeはワールドを直接読み込めません。 あなた自身の手でこれに対処するためのプラグインをインストールする必要があります。

すべてが問題なく動作した場合、移行ツールは以下のように出力します。

[17:32:29] [Server thread/INFO] [Sponge]: Checking for worlds that need to be migrated...
[17:32:29] [Server thread/INFO] [Sponge]: Migrating [world_lol] from [.].
[17:32:29] [Server thread/INFO] [Sponge]: Migrated world [world_lol] from [.] to [.\world\world_lol]
[17:32:29] [Server thread/INFO] [Sponge]: Migrating [world_nether] from [.].
[17:32:29] [Server thread/INFO] [Sponge]: Migrated world [world_nether] from [.] to [.\world\DIM-1]
[17:32:29] [Server thread/INFO] [Sponge]: Migrating [world_the_end] from [.].
[17:32:29] [Server thread/INFO] [Sponge]: Migrated world [world_the_end] from [.] to [.\world\DIM1]
[17:32:29] [Server thread/INFO] [Sponge]: [3] worlds have been migrated back to Vanilla's format.

完了後、 Sponge が読み込める場所にワールドのコピーがあるはずです。コピー元のファイルは何か問題が起こったときのためにそのまま残されています。

サーバーとワールドの設定ファイル

CraftBukkit と Sponge の両方とも、 vanilla の Minecraft で共通利用可能なファイルをもっています。これらのファイルを CraftBukkit で利用していたのなら、このまま Sponge でも利用できます。

  • server.properties
  • banned-ips.json
  • banned-players.json
  • ops.json
  • usercache.json
  • whitelist.json

以下のファイルは CraftBukkit でのみ使用されるファイルです。 Sponge では利用されないので削除してかまいません:

  • bukkit.yml
  • commands.yml
  • help.yml
  • permissions.yml

Spigot から移行する場合は spigot.yml を Sponge の global.conf を比較したくなるかもしれません。spigot.yml の項目には global.conf と対応するものがいくつかあり、両方のファイルにあるキーの値はコピーするのが望ましいでしょう。

プラグイン

Sponge には Bukkit プラグインのネイティブサポートはありません。しかし、特別な Sponge プラグイン内で Bukkit API を再実装しているコミュニティのメンバーも存在し、 Sponge 上での Bukkit プラグインの動作が可能になります。リリースの予定はまだありません。

Ore はプラグインを見つけるための Sponge のリポジトリであり、すべてのプラグインを Ore からダウンロードすることをおすすめします。 Bukkit プラグインの代替を見つけるときに、いくつか気をつけるべき点があります:

  • すべての Bukkit 開発者が Sponge にプラグインを移植するとは限りません。しかし、時間を経て代わりとなるプラグインを誰かが作ることでしょう。
  • Bukkit から移植された Sponge プラグインが設定ファイルを自動的に変換してくれるとは限りません。個々のプラグイン開発者が決めることです。
  • Bukkit から移植された Sponge プラグインは機能に変更が加えられている、もしくは設定ファイルの構造さえ異なるものになっているかもしれません。

Canary からの移行

ワールド

Forge および SpongeForge (そして SpongeVanilla も) は vanilla の Minecraft と同じワールドの構造を利用します。 vanilla の Minecraft は world フォルダー内にネザー (多くの場合 world_nether) とジ・エンド (world_the_end) を配置します。

Canary は world フォルダーの外にネザーとジ・エンドを配置するので、それらを Sponge 上で利用したい場合は修正する必要があります。しかしながら、 /makevanilla コマンドで簡単に Canary のワールドを Sponge が利用できるように変換できます。変換が成功すれば、 vanilla フォルダに結果が出力されます。

サーバーとワールドの設定ファイル

Sponge は server.properties などの vanilla の Minecraft が提供する多くのファイルを利用します。対して Canary が vanilla Minecraft と共用するファイルは usercache.json だけです。それゆえ、 Sponge が Canary から引き継げるファイルも usercache.json だけになります。

とはいえ、 Canary の設定ファイルを以下の Sponge の対応するファイルに手動で移行することも可能です。

Canary のファイル 対応する Sponge のファイル
server.cfg <world>_<dimension>.cfg server.properties
<world>_<dimension>.cfg global.conf <dimension>/dimension.conf
ops.cfg ops.json
db.cfg なし
motd.txt なし

プラグイン

SpongeVanilla と SpongeForge は Canary プラグインのネイティブサポートを持ちません。 Sponge 向けの特別なプラグインを実装して Canary API を実装しなおすのは可能かもしれません。

Ore はプラグインを見つけるための Sponge のリポジトリであり、すべてのプラグインを Ore からダウンロードすることをおすすめします。 Canary プラグインの代替を見つけるときに、いくつか気をつけるべき点があります:

  • すべての Canary 開発者が Sponge にプラグインを移植するとは限りません。しかし、時間を経て代わりとなるプラグインを誰かが作ることでしょう。
  • Canary から移植された Sponge プラグインが設定ファイルを自動的に変換してくれるとは限りません。個々のプラグイン開発者が決めることです。
  • Canary から移植された Sponge プラグインは機能に変更が加えられている、もしくは設定ファイルの構造さえ異なるものになっているかもしれません。

Forge からの移行

プレーンの Forge サーバーから SpongeForge や SpongeVanilla サーバーへはほんの少しの準備だけで簡単に移行できます。

SpongeForge への移行

まず、使おうとしている SpongeForge と互換性のあるバージョンの Forge を利用していることを確認してください。 Forge Downloads に推奨されているビルドがあります。他の MOD を使っているのであれば、それらも最新版にアップデートする必要があります。

SpongeForge をインストールする準備が整ったら、以下の手順を踏んでください:

  1. Forge サーバーが起動している場合は、終了してください。
  2. Sponge ウェブサイトから SpongeForge を、 MinecraftForge から Forge をダウンロードします。
  3. mods フォルダーに SpongeForge.jar を入れます。
  4. サーバーを起動してレッツパーティー!

注釈

SpongeForge のみがサーバーに導入されている MOD である場合、プレイヤーは vanilla クライアントを利用してログインできます。他の MOD はクライアントに Forge をインストールするよう要求するかもしれません。

SpongeVanilla への移行

警告

SpongeVanilla に移行すると、 Forge MOD が動作できないため、すべての Forge MOD のデータ、ブロック、エンティティを失うことになります。このことを SpongeForge と SpongeVanilla のどちらを利用するか決めるときに留意してください。

移行プロセスは上とほぼ同じです:

  1. Forge サーバーが起動している場合は、終了してください。
  2. SpongeVanilla と Mojang から vanilla サーバーをダウンロードします。
  3. サーバーフォルダにワールドと設定ファイルを入れます。
  4. spongevanilla.jar を起動してサーバーを立ち上げます。

バニラからの移行

Forge および SpongeForge (加えて SpongeVanilla) が vanilla と同じワールドの構成をとっているので、 vanilla の Minecraft サーバーの管理者は簡単に移行できます。また、 server.properties など多くのファイルを vanilla と共用しています。

まず初めに SpongeForge と SpongeVanilla のどちらを利用するか決めましょう。

注釈

どちらを選択しても vanilla のクライアントからサーバーにログインできます。とはいえ、 SpongeForge においてクライアント側の MOD を要求する Forge MOD がインストールされていない場合の話です。

  1. vanilla サーバーが起動している場合は、終了してください。
  2. SpongeVanilla または SpongeForge をダウンロードします。
  3. サーバーフォルダにワールドと設定ファイルを入れます。
  4. 新しいサーバーを実行します。

Sponge のインストール

SpongeForge のインストールSpongeVanillaのインストール のガイドに移行中のインストールの方法が示されています。