Minecraft統合版サーバー(Bedrock版)をGCPで立てる

Minecraft統合版サーバー(Bedrock版)をGCPで立てる

MinecraftのBedrock edition、便利ですよね。スマホからもwindows10からも遊べます。

このBedrock版ですが、アルファ版のサーバーが公式から出ています

今回はこのサーバーを、Google Cloud Platform上に立てたので、その方法をまとめて紹介します。

Google Cloud Platformに登録する

  1. Google Cloud Platformに行き、自分のGoogleアカウントでログイン
  2. Google Cloud Platformを使ったことがない場合、以下の画面が表示される。規約に同意できる場合は、そのまま登録する。
  3. プロジェクトのダッシュボードへ移動。
  4. 新規プロジェクトを作成
  5. 適当なプロジェクト名を入力して作成
  6. ダッシュボードが更新されれば終了

インスタンスを立てる

GCPでは、Googleの保有するサーバーから仮想上のPCを構成できます。これはインスタンスと呼ばれていて、Compute Engineというサービスの一種です。今回は4人同時に遊べるくらいの最低限のサーバーを作っていきます。

  1. Compute Engine > VMインスタンスへ移動

    因みに、無料トライアルやクレジットカードの登録が済んでいないアカウントでは作成できないので注意です。

  2. 作成をクリック

  3. 下記画像のように赤枠内を設定

    この時、マシンタイプをカスタムにしてCPUとメモリを調節してください。これは後から調節可能なため、「人が増えてスペックが必要になった」などの場合でもスケールできます。また、ブートディスクはUbuntu 18.04 LTSにしてください。公式の出しているBedrock-serverはUbuntuのみサポートしています。

  4. 管理、セキュリティー…の部分を開き、管理>可用性ポリシーからプリエンプティブをオンにします。

    これはGoogleの余ったリソースを使う方式で

    • 24時間で自動シャットダウン
    • リソースが足りなくなったら勝手に切られる
      というデメリットがありますが、非常に価格が安くなります。
      プリエンプティブにしてサーバーを起動し続けた場合の価格は以下の通りに再計算されました。

      つまり、土日に合計6時間遊ぶ程度であれば、月24時間×2.2円=52.8円のみの支払いで遊べます。
      そもそもMinecraftサーバーは身内でやる限りは一日数時間のみ起動していればいいので、かなり好都合です。

    次回の記事でdiscordからminecraftサーバーを起動する方法を解説します。こうすれば、遊びたい人がコマンド一つでサーバーを起動・停止でき、費用も必要最小限に抑えられます。

  5. ネットワーキング>ネットワークインターフェースの外部IPを選択。エフェメラルをIPアドレスを作成にします。

  6. 適当な名前を付け、予約をクリック

    この時に出てきたIPアドレスがインスタンスのIPとなります。このIPを使って接続するため、メモしておきましょう。

  7. ネットワークタグにminecraft-serverを入力

    これは後でポートを開放する際に使用します。GCPのポート開放は非常に簡単なので、安心してください。

  8. 「作成」をクリックして作成完了です。お疲れさまでした!

ポート開放(ファイヤーウォールの設定)

Minecraftを接続するには、Minecraftが通信するためのポート開放が必要です。

  1. GCPダッシュボード>ネットワーキング>ファイヤーウォールをクリック
  2. ファイヤーウォールルールを作成をクリック
  3. 名前に「minecraft-server」のように名前を付ける
  4. ターゲットタグに「minecraft-server」を入力。これは先程インスタンスに設定したネットワークタグです。
  5. プロトコルとポートのtcpとudpにチェックを入れ、「19132,19133」ポートを入力する
  6. 作成を選択して終了

これで、ファイヤーウォールルールに作成した名前と開放されたポートが出ました。

以上でポート開放が終わりました。非常に簡単ですね!

Java版のMinecraftとは違い、udpポートも開ける必要があります。また、ポート番号も19132になっているため、注意が必要です。

Minecraftサーバーのダウンロード

  1. VMインスタンスへ移動します。

  2. 先程作成したインスタンスにチェックを入れて、開始をクリックします。

    しばらくして起動していれば、右にSSHボタンが表示されます。

  3. このボタンを押し、ブラウザのSSH画面を開きましょう。
    SSHとは、サーバーに直接つないでコマンド操作することと考えてください。Windowsでいうコマンドプロンプトのリモート版です。

  4. 接続できると、このような黒い画面にコマンドが入力できるようになります。

  5. Minecraft用サーバーソフトウェア(公式)にいき、Ubuntu用サーバーソフトウェアのチェックを入れます。

    この時、ダウンロードリンクの右クリックから、リンクをコピーしてください

  6. SSHの画面に戻り、以下のコマンドを入力して、Enterで実行します。
    wget コピーしたリンク
    貼り付けるときはCtrl + Vです。

    すると、コマンドが走り、今いるフォルダにzipファイルが保存されます。

  7. lsを入力して、zipファイルがあることを確認しましょう。

  8. このzipファイルを解凍します。そのためにunzipコマンドをインストールしましょう
    以下のコマンドを実行し、unzipをインストールします。
    sudo apt-get install zip unzip

  9. その後、unzip bedrock-server-1.13.0.34.zipを入力します。入力時に「bed」まで入れて、Tabキーを押すと補完してくれます。

  10. 実行すると、解凍されたファイル群が見つかります。

これでMinecraftサーバーのダウンロード・インストールは完了です。

Minecraftサーバーの実行

いよいよサーバーを実行します。
ファイルを解凍したフォルダで以下のコマンドを実行してみましょう。

LD_LIBRARY_PATH=. ./bedrock_server

実行されれば、下記画像のようになります。

これで、サーバー起動完了です!

Minecraftから接続してみる

まず、インスタンスのIPアドレスをメモしておきましょう。IPアドレスはCompute Engineのダッシュボードから確認できます。

Minecraftを起動し、サーバーアドレスにそのIPを入力します。


無事に接続できました!

統合版のサーバーですので、もちろんスマホからも接続できます。
※現時点ではSwitchのみ対応していないようです。

SSHを切断しても動くようにする:Screenコマンド

このままでは、SSHの切断と同時にサーバーも停止してしまいます。
これを防ぐため、バックグラウンドで実行し続けるScreenコマンドを使います。

minecraftサーバーがあるディレクトリ上で、以下のコマンドを実行しましょう。

screen -DmS bds ./bedrock_server

これで、サーバーがバックグラウンドで起動します。
screenコマンドは、違う端末が開かれるイメージです。Minecraftサーバーを起動している端末に入ってみましょう。

screen -rを入力すると、サーバーの起動画面が出ます。

この端末から離れる時は、ctrl + aの後にdを押します。これで端末から離脱(デタッチ)できます。

デタッチ後は、SSHのウィンドウを閉じても、Minecraftサーバーは動き続けます。

以下まとめると、
Minecraftサーバーを起動したい場合は、

  1. SSHでログイン
  2. screen -DmS bds ./bedrock_serverで起動

Minecraftサーバーを停止したい場合は、

  1. SSHでログイン
  2. screen -rでサーバー起動画面へ移動
  3. stopコマンドを打つ(ここで自動的にscreenが終了する)
    となります。

インスタンスの停止

インスタンスを起動している時間で課金されるので、安く済ませるためにはインスタンスを停止したいですね。

これは非常に簡単です。
Compute Engine > VMインスタンス から、サーバーのインスタンスにチェック入れて停止を押してください。

以上の操作でインスタンスがシャットダウンされ、その間は料金がかかりません。

もっと先へ

今回設定した条件では、24時間で自動でサーバーがシャットダウンされるため、そのたびにインスタンスを起動し、SSHで接続し、Minecraftサーバーを起動しなければなりません。

それでは不便なので、次回以降にDiscordのコメントからインスタンスとMinecraftサーバーを自動起動・停止する方法を紹介します。お楽しみに!

参考情報

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です