※1.11.2対応について追記(2016/12/22)

こんにちは、さくらインターネット技術本部の林と申します。今回は、さくらのVPSで通称マイクラことマインクラフトのマルチサーバーを構築する方法についてご紹介します。

※この記事をお読みいただく際の注意事項
このページの情報は、Mojang社の公式情報ではありません。また、このページの手順でマインクラフトマルチサーバーを構築した際にもし問題が発生した場合、Mojang社は無関係であり、また当社は責任を負う事ができかねる点、予めご了承ください。
また、この記事ではマインクラフトPC版バージョン1.11(2016年12月の記事作成時点における最新バージョン)をもとに記事を書いています。マインクラフト等のバージョンアップにより、本記事の内容が使用できなくなる可能性があります。あしからずご了承ください。

「マインクラフト」とは

マインクラフトは、今、子供を中心に大人気のサンドボックスゲーム(広大な世界を自由に探索して楽しめるように設計されたゲーム)です。もともとはパソコン用のゲームでしたが、家庭用ゲーム機でも遊べるようになってからさらに多くの人にプレイされるようになりました。また、最近ではユーチューバー等がアップロードするプレイ動画も大人気で、息の長い人気を獲得しているゲームです。私も、ヒカキンさんのマインクラフト実況動画のアップを毎日楽しみにしている一人です(笑)

「マルチサーバー」とは

マインクラフトは、一人でプレイすることもできるのですが、複数人で一つのワールドにログインして、同時にプレイすることも可能です。ローカルネットワーク内であれば他の人がプレイしているPCに直接ログインすることも可能ですが、遠隔地の人とインターネット越しに同時プレイする場合、マルチプレイ用のサーバーを別途構築することが必要となります。このサーバーのことを本記事ではマルチサーバーと呼びます。

作業の流れ

さくらのVPSにおけるマルチサーバーの構築は、以下のような手順になります。

1.さくらのVPSの申込みとサーバー起動
2.シリアルコンソールの起動
3.Javaのインストール
4.マルチサーバープログラムのダウンロード
5.EULA(使用許諾契約書)への同意
6.マルチサーバーの起動

それでは、次の章より順にご説明します。

1. さくらのVPSの申込みとサーバー起動

さくらのVPS公式サイトより「お申込み」をクリックし、さくらのVPSの申込みを行います。

プラン選択

今回は、2Gプランを選択します。同時プレイ5人ぐらいまでであれば、このスペックでまかなうことができると思います。より大人数でプレイする場合は、より上位のプランを選択した方が快適にプレイ可能です。

さくらのVPS プラン選択

その他のオプション

今回は「石狩リージョン」「SSD」「1台」を選択します。こちらについては、必要に応じて変更していただいても問題ないと思います。

その他のオプション

サーバーの起動

申込みをしてしばらく待つと、仮登録完了のお知らせメールが届きます。さくらのVPSは初期状態ではサーバーは起動していなため、メールに記載のID、初期パスワードを使用してコントロールパネルにログインし、サーバーを起動する必要があります。

コントロールパネル

起動の状況は、VNCコンソール(HTML5版)等で確認することができます。

コントロールパネル2

以下の画面で、システムの更新をするのに時間がかかるため、しばらく(お試し期間の場合10分~20分程度、正式利用中の場合3分~5分程度)待ちます。

VNCコンソール

システムの更新後自動的に再起動し、以下の画面が表示されたら、サーバーの起動は完了です。

VNCコンソール2

2. シリアルコンソール(β版)の起動

さくらのVPSでは、サーバーのシリアルコンソールをブラウザから確認することができる「シリアルコンソール機能」(2016年12月時点ではベータ版)が提供されています。この後の作業はこちらを利用して行ってみます。

コントロールパネル3

シリアルコンソールを起動すると、以下のような画面が表示されますので、黒い画面の部分をマウスでクリックし、その後「Enter」キーを押します。

シリアルコンソール

すると以下のようなログイン要求メッセージが表示されますので、仮登録完了のお知らせメールに記載の管理用ユーザのユーザ名と初期パスワードでログインします。

シリアルコンソール2

この後の操作については、テキスト送信ボタンを押して、必要なコマンドを貼り付けて送信ボタンを押すことで、簡単に進めることができます。

3. Javaのインストール

マルチサーバーを動かすためには Java の環境が必要となるため、下記コマンドで、Javaをインストールします。

# yum install -y java-1.8.0-openjdk

(# 部分は入力不要。以下同様です。また、各コマンドは入力後Enterキーを押すことで実行されます)

4. マルチサーバープログラムのダウンロード

以下のように wget コマンドを実行し、マルチサーバープログラムをダウンロードします。

# wget -P ~/minecraft https://s3.amazonaws.com/Minecraft.Download/versions/1.11/minecraft_server.1.11.jar

なお、このサーバプログラムのアドレスは、マインクラフトのバージョンによって変わる為、最新の情報は公式ページで確認しましょう。ここでは、 バージョン 1.11 のサーバーをダウンロードしています。

ダウンロードが完了したら、 一旦java コマンドでマルチサーバーの起動を実行します。

# java -Xms1024M -Xmx1024M -jar ~/minecraft/minecraft_server.1.11.jar nogui

すると、以下のように、EULA(使用許諾契約書)への同意を求めるメッセージが表示され、サーバーは停止します。

[Server thread/WARN]: Failed to load eula.txt
[Server thread/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
[Server thread/INFO]: Stopping server

5. EULA(使用許諾契約書)への同意

EULA(使用許諾契約書)を確認し、よければ「false」を「true」に書き換えて同意します。

ここでは、 sed コマンドで書き換えを行います。

# sed -i -e 's/false/true/' eula.txt

6. マルチサーバーの起動

再度サーバーを起動すれば、マルチサーバーが起動します。

# java -Xms1024M -Xmx1024M -jar ~/minecraft/minecraft_server.1.11.jar nogui

あとは、手元のマインクラフトを起動して、サーバーアドレスに(仮)登録完了のお知らせメールに記載されているIPアドレスを入力して追加すれば、ログインすることができます。

マインクラフト

マインクラフト2

ラマ

いかがでしたか?簡単ですよね?

ぜひ、さくらのVPSでマインクラフトのマルチプレイをお楽しみください!

参考情報

さくらの VPS にマインクラフトマルチサーバーを構築する際に参考になるページをいくつかご紹介します。

おまけ:さくらのVPSに関するご要望募集中!

さくらのVPSに「この機能が欲しい!」「このOSを使いたい!」というご要望をお持ちの方、現在「さくらのユーザフィードバックβ」では、ユーザのみなさまのお声をお待ちしておりますので、ぜひ下記リンクよりご投稿ください。


追記:2016/12/22

マインクラフトPC版のバージョン1.11.2がリリースされました。これにより、下記のとおりマルチサーバープログラムのダウンロードと起動のコマンドが少し変わります。

マルチサーバープログラムのダウンロード

# wget -P ~/minecraft https://s3.amazonaws.com/Minecraft.Download/versions/1.11.2/minecraft_server.1.11.2.jar

マルチサーバープログラムの起動

# java -Xms1024M -Xmx1024M -jar ~/minecraft/minecraft_server.1.11.2.jar nogui

この部分は、バージョンアップするごとに変更になるようですので、今後も必要に応じ変更してください。
また、12月20日より、さくらのVPSの新しい標準OS「CentOS 6 x86_64」イメージを使用した場合、ファイアウォール機能( iptables )がデフォルトで有効の設定になったため、そのままではマインクラフトの通信ができず、サーバーに接続することができません。

(参考)さくらのVPS、標準OS「CentOS 6 x86_64」イメージの仕様変更のご連絡 – さくらのVPSニュース

これについては、以下3つのようなコマンドを実行することにより、マインクラフトマルチサーバーへの接続に使用するポート(TCPの25565)への通信を許可する必要があります。

# iptables -I INPUT 6 -p tcp -m state --state NEW -m tcp --dport 25565 -j ACCEPT
# service iptables save
# service iptables restart