シアトル生活はじめました

20年以上すんだ東海岸から西海岸に引っ越してきました。MicrosoftのUniversal Storeで働いてます。

超簡単にMicrosoft Azureでマインクラフトサーバーを立てる方法

マイクロソフトクラウドサービスであるMicrosoft Azureを利用して、マインクラフトサーバーをホストできる。

二通りあって、まずは一番簡単なやり方から。

最も簡単な方法

(前提:Windows Azureのアカウントを既に持っている、と仮定します。Microsoftのアカウントを持っていればすぐに作れます)

Microsoft Azure マーケットプレイスのマインクラフトサーバーのリンクをクリックする。下のようなページが表示される。

f:id:watanabe_tsuyoshi:20150612144907p:plain

「Create Virtual Machine >」のボタンをクリックすると、仮想マシーンの設定ページへ移動するので、そこにホスト名、ユーザー名、パスワードの三つの項目を入力し、「Create」ボタンを押すだけだけ。本当にこれだけ・・・

f:id:watanabe_tsuyoshi:20150612145457p:plain

後は全て勝手にプロビジョンしてくれる(裏でAzureがJavaMinecraft Serverがすでにインストールされているイメージをプロビジョンしたりして起動してくれる)

f:id:watanabe_tsuyoshi:20150614025205p:plain

5分ほど待てば、マインクラフトのクライエントから接続して遊べる状態になる。

クライエントからは「ダイレクト接続」でサーバーアドレスを指定する。

f:id:watanabe_tsuyoshi:20150612151314p:plain

サーバーアドレスは仮想マシーンのEndpointの一つに「Minecraft」というのが自動的に作成されているはずなので、そこにあるポート番号をサーバーのホスト名とあわせて入力すればOK。(下の場合はポートは25565)

f:id:watanabe_tsuyoshi:20150612151034p:plain

一つ注意する点。Azureは無料ではない。

「Pricing Tier(料金表)」という項目を見ると、デフォルトではAシリーズのスタンダード仕様の「A1」というのは選択されている。予想料金は44・64ドル/月。これが高いか安いか、人によりけりだろうし、サーバーをこまめにスタート・ストップしていれば課金はされないはず(仮想マシーンが動いていない状態だと課金されないはず・・・要確認)

ただし、もっと安い料金プランもある。あと、プランは後からでも気軽に変えられるんで、「ゲッ!有料。高!」と思うかもしれないけど、実際はそこまで高くはないとおもう。

f:id:watanabe_tsuyoshi:20150612145937p:plain

「View all」で他のプランもじっくり見てみるべき。一番安いのだと13ドル/月ぐらい。週末だけみんなと時間を決めて遊ぶ、といったやり方なら数ドル程度ですむだろう。

なんだかわかんない、って場合は、一番安いのを選んで、サーバー立ち上げの実験が終わったら取りあえず仮想サーバーは停止状態にしておけばいい。

f:id:watanabe_tsuyoshi:20150612150352p:plain

 以上が超簡単にマインクラフトサーバーをAzureでホストする方法。

次に、普通に素の仮想マシーンから手動でサーバーを立てる手順。

 手動で設定する

まずは、主に参考にしたブログ。スクリーンショットがたくさん載ってるので、迷ったらこちらも参考に。

Dinis Cruz Blog: Setting up a Minecraft server in Azure (for use at weekly CodeClub session)

 まずは仮想マシーンを作成するところから始める。

Azureのポータルは、現在新しいバージョンに移行中なんで、古いやつと新しいやつと両方使えて、機能によっては片方しかできないのもある。マインクラフトサーバー設置に関してはどちらでもできる。

新しいポータルの雰囲気はこんな感じ。

f:id:watanabe_tsuyoshi:20150612152131p:plain

「New(新規作成)」で Ubuntu server14.04 LTS を選ぶ。

f:id:watanabe_tsuyoshi:20150612152320p:plain

仮想マシーンができたらSSHでログインしないといけません。

[2016年9月4日更新]

UbuntuVMのSETTINGSにある、Propertiesを選びます。

f:id:watanabe_tsuyoshi:20160905060157p:plain

下はとある記事から拾ってきたスクショですが、DNS名がまだ設定されていない様子をしめしています。この<none>のリンクをクリックすると、自分の好きなDNS名を設定できます。便利だし、IPアドレスはスタティックでない限り変わる可能性がるので、設定します。

f:id:watanabe_tsuyoshi:20160905060413p:plain

 

Windows 10 Anniversary Update のUbuntubashシェルを活用して、以下のようにSSH接続します。

ssh <username>@<dnsname>.westus.cloudapp.azure.com

<username> は、VM作成時に指定したユーザー名。

<dnsname>は、上のDNS名を設定するときに使った名前の一部。

パスワードを聞かれたら、VM作成時に指定したパスワードを入力する。

ログイン後は以下の手順。

(1)Javaをインストールする

sudo apt-get install openjdk-7-jre-headless

(2)マインクラフトサーバーをダウンロードする

一応、専用のディレクトリーを作成。専用ディレクトリーに移動してwgetでダウンロードして、最後にファイル名をちょいと変更(バージョンの数字をファイル名から取り除く)。

mkdir minecraft_server 

cd minecraft_server

wget https://s3.amazonaws.com/Minecraft.Download/versions/1.8.7/minecraft_server.1.8.7.jar

mv mincraft_server.1.8.7.jar minecraft_server.jar

サーバーのバージョンは当然新しくなっていくんでURLも変わる。要は公式ダウンロードページ(https://minecraft.net/download) の下の方にある.jarファイルのリンクを指定すればよい。

(3)スタート用のスクリプト作成

echo java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui > ./start.sh

chmod +x ./start.sh

これでサーバーをスタートしたいときは start.sh を実行すればいい。javaのメモリーのオプションなんかは仮想サーバーのキャパシティーなどに寄るし、適当に変えてね。

この段階でコマンドプロンプトから ./start.sh <Enter> とやればマインクラフトサーバーのプロセスが立ち上がるけど、それだとコンソールを開けたままにしておかないといけない。そこで・・・

 (4)サーバーを走らせっぱなしにする予定ならScreenをダウンロード

Screenとはコンソールを仮想的にいくつも立ち上げたり、その間を行ったり来たりするのに使える便利ツール。

sudo apt-get install screen

screen S "Minecraft Server"

(5)サーバーをスタート

ということで準備完了。サーバーをスタート。

./start.sh

(6)SSHからログアウト

Screenのコマンドを使って一旦、マインクラフトサーバーが実行中のターミナルから「離れる(Detach)する。ターミナルを終了するわけではない。

Ctr-a d

上は「コントロールキーを抑えながら英語のDのキーを押す」です。

そしたら、親のターミナルに戻る。これは終了させてもいいので、

exit <enter>

(7)クライエント接続のための準備。Endpointの作成

[2016/9/4更新]

クライエントから接続できるようにするにはEndpointを新たに作ってマインクラフトサーバーのポート(25565)に通るようにしてあげないといけません。

Endpointの設定は以前(2015年)はVM設定の一部だったけど、新しいAzure PortalではEndpoint設定画面は「Network Security Group」に移動しました。

以下のように新たにルールを作成して、ポート25565を開きます。

f:id:watanabe_tsuyoshi:20160905074929p:plain

同様に、Ubuntu側もファイアウォールに穴をあけます。

sudo iptables -I INPUT -p tcp -m tcp --dport 25565 -j ACCEPT

(8)クライエントから接続する。

さて、いよいよ遊びます。

やはり「ダイレクト接続」で 仮想マシーンのURLに、上のEndpointのポート(PUBLI側、上の例だと80)を指定して接続する。

(8)サーバーにログインしなおす

マインクラフトサーバーを終了させるとか、設定ファイルをいじるとか、そういう際にはまた仮想マシーンにログインするために、普通にPuTTYなどでSSHして、

screen -R

RはRestore、の意味かな?マインクラフトサーバーのコンソールに戻ります。

ここでサーバーを終了してもいいし(stop)、特定のユーザーにOp権限を上げてもいいし(op <ユーザー名>)。

 

大体こんな感じ。30分もかかりません。

他にもMODとかもいろいろと入れられるんだろうけどマインクラフト初心者の私はその辺りはまだいじってない。

取りあえずは双子の娘たちとCreativeでいろんなものを作るので十分楽しめてるからwww