はじめに
GCP(Google Cloud Platform)上で ubuntu のサーバを借りて、統合版 Minecraft サーバを建てたときのメモです。
ubuntu のサーバを既に持っている方は、後半の統合版 Minecraft サーバを建てるところから読んでも構いません。
今回は無料で Minecraft サーバが建つところまでを目標とし、快適に遊べるかどうかは考えていません。「n1-standard-1」というスペックであれば、まぁ一人で遊ぶ分には問題なさそうです。
(私はGCP の AlwaysFree(一生無料)というメニューでもついでに試してみましたがスペックが低すぎて遊べませんでした。たぶんメモリ不足だと思います。)
#1. GCP を始める
##1.1. 無料トライアルの開始
GCP は Google が提供しているクラウドのサービス群のことです。誰でも自由に使えます。GCP には12か月の無料期間、または 300$ の無料枠があるので、どちらかを使い切るまでは基本無料です。
ただし、支払い情報を登録しないと先には進めないよ。
詳細は既に色々なところで解説されているので端折って、画像ベースで説明していきます。
まずはブラウザで GCP などと検索してトップページからアクセスすると、利用規約の同意を求められたので、適当に読んだら同意して進んでください。そしておもむろに無料トライアルに登録します。
1.2. ubuntu サーバを建てる
統合版 Minecraft サーバには ubuntu という OS 用のパッケージが用意されているので、ubuntu サーバを建てます。
画面左上の「My First Project」から、これから作るプロジェクト全体のダッシュボードにアクセスできるよ。プロジェクトが1つも無い場合は新規にプロジェクトを1つ作りましょう。
私は既存プロジェクトの名前だけ変更しました。
次は左のメニューから「Compute Engine」>「VMインスタンス」>「インスタンスを作成」を選択してサーバを建てます。VM は日本語でいうと仮想マシンのことで、実物の無いパソコンのようなものです。インスタンスというのは、VM に名前を付けて実際に使える状態にしたもののことです。
まずはサーバに名前を付けて、サーバを建てる地域を選択するよ。地域はどこでも良いですが、私は AlwaysFree というサービスが利用できる北米のオレゴンを選択しました。
1年間の無料枠でも良いから実際に遊べる Minecraft サーバを建てるには、とりあえず東京とかにしておいた方が遅延が小さいので良いかもしれません。n1-standard-1 のスペックであれば自分がログインして遊ぶ分には問題無さそうでした。ユーザが増えてきたらメモリをどんどん増やしていきましょう。
右側に現在のスペックだとコストがどれくらいになるのか表示されているので、それを意識してスペックを選択しましょう。後からでも自由に変更できます。
AlwaysFree の場合は f1-micro、標準永続ディスク 30GB までは使えるみたいです。
ブートディスクは ubuntu 19.10 を選択します。
作成ボタンを押すと、ubuntu サーバが出来上がります。下の画像の赤枠で表示されている「外部IP」がこれから接続する Minecraft サーバの IP アドレスになります。表示されていないときはサーバを起動すると表示されます。
1.3.ファイアウォールの設定
次はサーバのファイアウォールを設定します。不正アクセスされないための防壁のことです。
左上から GCP のトップページに戻り、左のメニューから「ファイアウォールルール」を探してください。
Minecraft は udp/19132 というポートを使います。画像の通りに設定してください。名前は自分が分かりやすければ良いです。
「ターゲットタグ」の名前も適当で良いですが、後から使うので覚えておいてください。
「ソースIPの範囲」という項目は一般公開する場合には設定不要ですが、自分で練習する場合には家のインターネット用の IP アドレスを入力します。
自分の家の IP は例えば下記サイトで調べられます。
[CMAN] https://www.cman.jp/network/support/go_access.cgi
ファイアウォールルールを作ったら、先ほど作成した「VMインスタンス」にルールを適用していきます。
左メニューの「Compute Engine」から先ほど作った VM インスタンスの編集画面にアクセスして、ネットワークタグの箇所に、先ほど「ファイアウォールルール」で名付けた「ターゲットタグ」を入力します。
適用したら、「Compute Engine」の画面からサーバを起動します。
2. 統合版 Minecraft サーバの構築
2.1. インストール
ubuntu サーバをコマンドで操作するためにサーバに SSH で接続します。SSH というのはセキュアなコマンド操作のことです。
GCP の場合はブラウザからでも接続できます。
ここからはコマンド操作です。もう少しだけ頑張りましょう。コピペできるようにコマンドを用意しておきました。
とりあえず操作しやすいように root ユーザのパスワードを設定しておきましょう。
スーパーユーザー(特権ユーザ)としてルートユーザのパスワードを設定する。という意味です。
sudo passwd root
パスワードの入力を2回求められます。パスワードを設定したら su と入力して root ユーザでログインします。
su
root ユーザでログインしたら mkdir コマンドでサーバをインストールするディレクトリを作ります。作ったら cd コマンドで移動します。
mkdir /minecraft
cd /minecraft
wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.14.32.1.zip
サーバのダウンロードURLは下記サイトのダウンロードボタン右クリックからメモっておいて下さい。
[MINECRAFT] https://www.minecraft.net/ja-jp/download/server/bedrock/
ダウンロードが完了したらファイルを解凍します。
初期の ubuntu では解凍コマンドが使えないかもしれないので、以下の2つを先に実行しておいてください。
apt update
apt-get install zip unzip
問題なければ解凍します。
unzip bedrock-server-1.14.32.1.zip
これでインストール完了です。
2.2. Minecraft サーバの起動
作ったディレクトリに移動してサーバ起動のコマンドを入力します。サーバを起動するための専用ユーザを作っておいても良いですが、今回はそのまま root ユーザで起動します。
cd /minecraft
LD_LIBRARY_PATH=. ./bedrock_server
2.3. Minecraftサーバへの接続
GCP の VM インスタンスの画面に表示されていた「外部IP」を統合版 Minecraft クライアントに入力して、サーバに接続できます。
特に問題なくサーバに接続できたら、GCP のファイアウォールルールから自分のIPアドレスで制限した箇所を外せば、他の人も接続できるようになります。
統合版サーバの server.properties ファイルを編集すれば、マイクラサーバの各種設定を変更できるので、その辺りは他のサイトを参考にしてみて下さい。
2.4. Minecraftサーバの停止
ubuntu のサーバを起動した画面で stop と入力すれば良いです。
stop
停止したら GCP の画面からインスタンスも停止して無駄な課金が発生しないようにしておきましょう。
以上です。ね?簡単だったでしょ?
次回はサーバのバックグラウンド実行やTwitter、Line、Discord連携などを書くかもしれません。