Minecraft の実況動画を見ていると、大規模なチームで活動するときに資源サーバを立てて、生活用と資源用で行き来しているようです。デフォルトのままではサーバ1つで1つのワールドが生成され、その中でネザーやジ・エンドなどの世界を行き来できます。しかし、ワールド間で移動することはできません。
そこで、今回はワールド間移動して生活用と資源用で行き来できるようにします。(※Forgeとは別物なので、MOD環境も導入したい人は Spigot ではなく、Mohist をおススメします。いつか記事にはしたいとは思います...。)
動作条件として、java の環境 (JDK) と git の環境が必要ですが導入方法は省きます。
1. Spigot サーバの導入
Spigot はサーバソフトウェアであってModではありません。マイクラ公式サイトが配布しているサーバもありますが、Spigotのほうは様々なプラグインに対応しているようなので、こちらを導入します。
まずは公式サイトへ行き、downloads
をクリックします。
次に BuildTools.jar
をクリックしてダウンロードします。
ダウンロードした jar ファイルを、好きなディレクトリに入れます。(ディレクトリは英語にしておきます。) できたらファイルパスの欄に cmd と入力してコマンドプロンプトを開き(またはコマンドプロンプトにて BuildTools.jar が入っているディレクトリを指定して)、jar ファイルをビルドします。
ビルドのコマンドは
java -jar BuildTools.jar --rev <マイクラバージョン>
と入力します。私は 1.15.2 で遊びたかったので、
java -jar BuildTools.jar --rev 1.15.2
と入力しました。git と java の環境が整っていれば、あとは自動でビルドしてくれます。(おそらく3分ほどかかります。)
完了すればコマンドプロンプトのほうに Success!
と表示され、そのディレクトリに spigot-1.15.2.jar
が追加されています。
ここまでできれば Spigot サーバの導入は完了です。
2. サーバ起動設定
まずは Spigot サーバを起動するためのバッチファイルを書きます。spigot-1.15.2.jar
のあるディレクトリ内で拡張子を .bat
にしてファイルを作ります。
ファイルには起動コマンドを記述します。一応メモリは 4GB を割り振っておきます。(そんなに必要ないかも?)
java -Xms4G -Xmx4G -jar spigot-1.15.2.jar
GUIが必要ない人はオプションに -nogui
を付けて起動してください。
java -Xms4G -Xmx4G -jar spigot-1.15.2.jar -nogui
バッチファイルを起動すると eura.txt
が生成されるので開きます。
eula=false
になっているので、eula=true
に変更して、再度サーバを起動します。
2回目の起動時には plugin
や server.properties
などのファイルが生成され、リスポーン地点も初期化されています。
これでサーバの起動設定は完了です。サーバを止めるには stop
と入力します。
3. プラグインの導入
まず、ワールドを複数作るためのプラグインを導入します。こちらのサイトから Multiverse-Core
を導入します。
ダウンロードボタンをクリックすると、jar ファイルが手に入ります。これを先ほど立てたサーバのディレクトリにある plugins
に追加します。
次に、ワールド間移動用ポータルを作成するためのプラグインを導入します。こちらのサイトから Multiverse-Portals
を導入します。先ほどと同じようなサイトですが、core
ではなく portals
になっていることに注意してください。
ダウンロードできたら先ほどと同様に plugins
に入れます。
できたら、再度サーバを起動してプラグインを読み込ませます。問題なく起動できれば、コマンドにて >plugins
を実行すると、導入したプラグインが表示されます。
また、plugins
ディレクトリの中がこのようになっていると思います。
これでプラグインの導入は完了です。
4. ゲームの起動設定
これでサーバ側の設定は完了したので、クライアント側の設定をします。まずはランチャーを起動して、起動構成を作成します。ゲームディレクトリは Spigot サーバのディレクトリを指定してください。
できたら保存して起動します。ゲーム本体を起動している間にサーバのほうも起動しておきます。
起動できたらマルチプレイからSpigotサーバのアドレスを入力してログインします。
サーバ側のコンソールから op <プレイヤー名>
を実行して、ゲーム内からコマンドを打てるようにします。
これでクライアント側の設定も完了しました。
5. ワールド間移動
ようやく本題に入ります。まずはコマンドが正しく実行できるかを確認するために、/mv list
を実行してワールド一覧を表示してみます。
デフォルトのままではジ・エンドとネザーと通常のワールドが表示されていると思います。
新規ワールドを生成するには、次のようなコマンドを実行します。ワールドの種類はネザー、ジ・エンド、通常の3種類から選択します。
/mv create <ワールド名> <ワールドの種類>
すると、新しいワールドが生成されます。
再度 /mv list
を実行してワールドが生成されているかを確認します。
追加されていることを確認できたら、作成したワールドに飛んでみます。(プレイヤー名を省略すると自分が対象になる)
/mv tp <プレイヤー名> <ワールド名>
無事に作成したワールドにテレポートできました。元の世界に戻りたいときは、初期ワールドの world
を指定すれば戻ってくることができます。
6. ワールド間移動ポータルの作成
このままでは毎回コマンドを入力しないといけないのと、コマンドを実行するための権限を付与しないといけないので、ポータルをつくります。まずはポータルを適当に作ります。そして、ポータルをつなげるためのアイテム(斧)をコマンドで作成します。
mvp wand
斧が手持ちに追加されるので、斧を持った状態でゲートの枠の左上(青)を左クリック、右下(赤)を右クリックしてポータルの範囲を指定します。
次に、ポータルの名前を決めます。資源ワールドへの移動なので、今回は tp_resource
とします。
/mvp create tp_resource
実行すると、created and selected!
と表示されます。
次に、一度向こう側の世界へテレポート mv tp
して同じようにゲートを作ります。
次に、このゲートに名前を付けて元の世界のゲートと接続します。
/mvp create tp_world p:tp_resource
これでこのゲートをくぐると、元の世界のゲートにテレポートすることができます。元の世界に一度もどり、今度は元の世界のゲートを設定します。
/mvp select tp_resource
と入力して選択した状態でゲートに設定を行います。
/mvp modify dest p:tp_world
これで、2つの世界を行き来できるようになりました!
まとめ
結構長くなったので、まとめておきます。
- Spigot サーバを立てる
- Multiverse-Core と Multiverse-Portals のプラグイン (jar ファイル) を導入する
- ワールドを作成し、ポータルを作成する
コマンドの実行手順
/mv create <ワールド名> <ワールドの種類> /mvp wand /mvp create <ゲート名1> /mv tp <プレイヤー名> <ワールド名> /mvp create <ゲート名2> p:<ゲート名1> /mvp select <ゲート名1> /mvp modify dest p:<ゲート名2>
コマンドでやっていることは、上から順番に
- ワールドを新規作成
- ゲート範囲を指定できる斧を作る
- ゲートに名前を付ける
- 向こう側の世界へテレポートする
- <ゲート2>を作り、ゲート1と接続
- <ゲート2>をくぐって元の世界に戻る
- <ゲート1> を <ゲート2> と接続する
となっています。
結構長い記事になってしまいましたが、参考になれば幸いです。
宣伝
マインクラフトで(C#)プログラミングをしてみたいと思った人はぜひこのサイトにお越しください。今まで当ブログで「マイクラ自動化」についての記事を書いてきましたが、更新されるたびに下のほうに埋もれてしまうので、自動化するための方法を紹介する専用サイトを作りました。
参考サイト
参考にしたサイトです。ありがとうございます。