今回は、私がVPSを使ってやりたかったことの1つであるマインクラフト(MINECRAFT)統合版(Bedrock Edition)のサーバー構築方法について説明したいと思います。
マインクラフトは主人公を操作して草原や森、山、海や川、砂漠などのワールドと呼ばれるゲームの世界でモンスターと戦いながら、素材を集めて建物を建築し、食料を育てて集め、村人と交易してアイテムを手に入れたりと、冒険・探検を楽しむゲームで世界中で非常に多くの人がプレイしています。
一人で楽しむことはもちろんのこと、家族や友達と一緒に同じワールドで楽しむマルチプレイにも対応していて、マルチプレイの方法として、同じネットワーク内で誰かが遊んでいるワールドに参加する方法もあれば、マインクラフトのメーカー公式のサーバーであるMINECRAFT REALMS PLUSにワールドを作成する方法もありますし、自分のサーバーにマインクラフトのサーバー用ソフトウェアをインストールする方法もあります。
マインクラフトには主にJava版と統合版の2種類があるのですが、今回は、パソコンだけでなく、PlayStationやNintendo Switch、Xbox One、スマホなど幅広い機種で一緒に遊ぶことができる統合版(Bedrock Edition)のサーバーをVPS上に構築する方法を説明したいと思います。
サーバーの事前準備
マインクラフト統合版のサーバー用ソフトウェアには、Windows版とUbuntu版の2種類があるのですが、今回は自分用のVPSにインストールしたいのでUbuntu版を使用します。Ubuntu用となっていますが、CentOSなど他のLinux系のサーバーOS上でも起動するようです。
Ubuntu Serverで統合版のサーバー用ソフトウェアをインストールして動かすために必要なソフトウェアを先に2つインストールします。
$ sudo apt install unzip
$ sudo apt install libcurl4-openssl-dev
unzipは、ダウンロードする統合版のサーバー用ソフトウェアがzipファイルとなっているため、それを解凍するのに使用します。
libcurl4-openssl-devは、私自身はよく分かっていないので詳しくは他のサイトの説明をご覧いただければと思いますが、マインクラフトのゲームが動いているパソコンなどの端末とサーバーの間でデータのやり取りを行うためのもののようです。
次に、VPS側でファイアーウォールを使用している場合は、「19132/udp」のポートを開けて下さい。マインクラフト統合版のサーバー用ソフトウェアが使用するポートは、設定で変更することが可能ですが、デフォルトでは19132番ポートを使用します。サーバー用ソフトウェアが使用するポート番号の変更方法は、別の機会にしたいと思います。
Ubuntu Serverのufw(ファイアーウォール)を使っている場合は、以下のコマンドでポートを開けることができます。
$ sudo ufw allow 19132/udp
$ sudo ufw reload
マインクラフト統合版サーバーソフトウェアのインストール
事前準備ができましたら、マインクラフト統合版のサーバー用ソフトウェアをインストールします。
先ず、マインクラフト公式ホームページの統合版サーバー用ソフトウェアをダウンロードするページを見に行きましょう。以下のようなページが表示されると思います。
統合版サーバー用ソフトウェアのダウンロードページはこちら!!
「UBUNTU用サーバーソフトウェア」側の「マインクラフトエンドユーザーライセンス規約およびプライバシーポリシーに同意します。」にチェックを入れて、「ダウンロード」ボタンのところにマウスを合わせると、ブラウザの左下にダウンロード元となるURLが表示されると思います(実際に「ダウンロード」ボタンを押す必要はありません)。
ここで、URLの最後の「bedrock-server-」のあとの数字の部分をメモしておいて下さい。この画面上では「1.16.1.02」となっている部分です。マインクラフトは今もゲームのバージョンアップが続けられており、ゲームプログラムに合わせてサーバー用ソフトウェアもバージョンアップされています。あとで自分のサーバーにサーバー用ソフトウェアをダウンロードする際にこのバージョン情報が必要になりますので、ここでメモしておいて下さい(2020年12月16日現在の最新版のバージョンは、「1.16.201.02」です)。
次に自分のVPSにログインして、マインクラフト統合版のサーバー用ソフトウェアやデータ一式を保存するためのディレクトリ(フォルダ)を作成します。以下では自分のアカウントのホームディレクトリに「bedrock」という名前のディレクトリを作成して、「bedrock」ディレクトリに移動しています。
$ cd /home/ユーザーID
$ mkdir bedrock
$ cd bedrock
サーバー用ソフトウェアを入れるディレクトリに移動したら、以下のコマンドでサーバー用ソフトウェアをダウンロードします。このときバージョンの数値部分は、さきほどホームページで確認した数値に変更して下さい。
$ wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.16.201.02.zip
ダウンロードしたサーバー用ソフトウェアはzipファイルになっていますので、これを解凍します。
$ unzip bedrock-server-1.16.201.02.zip
これでマインクラフト統合版のサーバー用ソフトウェアを動かすための準備は完了です。
マインクラフト統合版サーバーの起動
準備ができましたら、マインクラフト統合版のサーバーを起動してみましょう。必ずサーバー用ソフトウェアを保存したディレクトリに移動してから、以下のコマンドを入力します。
$ LD_LIBRARY_PATH=. ./bedrock_server
私自身は、このサーバーを起動するコマンド入力でかなり手こずりました。分かってしまえば簡単で恥ずかしい話なのですが、上のコマンドを入力する際、「. ./」の部分は、ピリオドとピリオドの間に半角スペースを入れる必要がありますので注意して下さい。
サーバーの起動に成功すると、画面上にいくつかメッセージが表示され、最後に「Server Started」と表示されれば無事にサーバーが起動しています。サーバーの設定に関しては改めて説明したいと思います。
ただ、RLoginなどのターミナルソフトを使ってVPSを動かしてサーバー用ソフトウェアを起動している場合、exitコマンドでログアウトするとマインクラフトのサーバー用ソフトウェアも終了してしまいます。VPSからログアウトしたあとも、マインクラフトのサーバー用ソフトウェアが動き続けてくれないと不便なので、screenコマンドを使う方法を説明します。
上の説明通りにサーバー用ソフトウェアを起動している場合は、サーバーの画面上で「stop」と入力して、いったんサーバーを止めましょう。サーバーが止まったら、次のコマンドでscreenを使ってサーバー用ソフトウェアを起動します。
$ LD_LIBRARY_PATH=. screen -dmS bds ./bedrock_server
コマンド入力時の注意としては、「PATH=. screen」の部分のピリオドとscreenの間、「bds ./」の部分のbdsとピリオドの間は、それぞれ半角スペースを入力する必要があります。
するとサーバーの画面上は特に変化が無いように見えますよね。これはscreenコマンドで「-dmS」というオプションを使った場合に、その画面が表示されない(デタッチ)状態となっているものです。また、「-dmS」のあとに「bds」と入力していますが、これはデタッチされた画面に名前を付けているものなので、「bds」ではなく、他の文字列でも構いませんが、あとでデタッチされた画面を呼び出す際に必要になりますので、覚えやすい名前を付けましょう。そして、次のコマンドを入力してサーバー用ソフトウェアが起動していることを確認しましょう。
$ screen -r bds
これで画面上でサーバー用ソフトウェアが起動していることが確認できたでしょうか?screenコマンドは、「-r」というオプションを使うことで、デタッチになっている画面を表示された状態(アタッチ)に変えることができます。
アタッチ状態になった画面をもう一度デタッチするには、サーバー画面上でキーボードのCTRLキーとAキーを同時に押して、そのあとにDキーを押すとデタッチされます。
自分のサーバーでマインクラフトをプレイしよう
無事にサーバー用ソフトウェアが起動したら、いよいよ実際にマインクラフトで遊んでみましょう。
ご自身のマインクラフトを起動して「遊ぶ」を選択、ワールド選択画面で、「サーバー」のタブに移動し、下の方にある「サーバーを追加」を選ぶと以下のような画面が表示されると思います。
「サーバー名」は、任意の名前を付けることができます。1つのサーバーで遊ぶなら特に問題ありませんが、色んなワールドで遊んでいて、複数のサーバーを使っている場合などは自分が分かりやすい名前を付けると良いと思います。
「サーバーアドレス」は、VPSなどのサーバーのIPアドレスを入力します。「ポート」はデフォルトでは19132番になりますが、設定を変更している場合は、そのポート番号を入力して下さい。入力が終わったら「保存」を押してサーバーの設定を保存します。
ここまで完了したら、実際に新たに追加したサーバーで遊んでみましょう。初めての場合は新規ワールドの生成から始まります。無事にワールドが表示されて遊べるようになればマインクラフト統合版のサーバー構築は完了です。
家族や友達と一緒に遊ぶ場合は、その家族や友達のマインクラフト上で、サーバーのIPアドレスやポート番号を追加する必要があります。
最後に
この記事の最初にも書きましたが、マインクラフト(MINECRAFT)をマルチプレイで楽しむ方法は3通りの方法があります。
自分のワールドに家族や友達を呼ぶ場合や、家族や友達のワールドに自分が参加する場合は、それぞれワールドの持ち主がマルチプレイの設定をすれば可能です。でも、この方法は、参加する人が同じネットワーク内にいなければできませんし、持ち主がそのワールドに入って遊んでいるときでなければ参加者は遊ぶことができません。
離れて住んでいる家族や友達同士で、それぞれが好きな時間に同じワールドで遊ぶ場合はサーバーが必要になります。このとき、マインクラフトの公式サーバーであるREALMSを利用する方法と、今回ご紹介したように自分でマインクラフト用のサーバーを立ち上げる方法があります。
REALMSを利用する場合、月額930円の費用が掛かりますが、自分でVPSなどのサーバーを用意する必要もなく簡単に始めることができますし、マインクラフト公式のマーケットプレイスにある様々なコンテンツも利用することができますので、色んな形でマインクラフトを楽しむことができます。
マインクラフト以外にも目的があって、VPSなどで自分専用のサーバーを持っている場合は、今回ご紹介した方法で自分のサーバーにマインクラフトのサーバー用ソフトウェアを入れれば、このサーバー用ソフトウェア自体は無償で利用できますので、追加のコスト無しにマインクラフトのマルチプレイを思う存分楽しむことができます。
皆さんが自分に合う方法でマインクラフトを楽しむのに、今回の記事が少しでもお役に立てれば幸いです。
マインクラフト(MINECRAFT)は、自由と創造性の高さ、奥の深さが魅力の非常に面白いゲームです。回路を作って様々な装置を作ることもできるので、最近流行りのプログラミングの教材として、子供のプログラミング講座に使われていることも多いようです。まだお持ちでない方は、是非、下記リンク(Amazonにリンクしています)からご購入をご検討下さい。最後まで読んでいただき、ありがとうございました。