【AWS】MODや配布マップを使ったマイクラサーバーを建てるには?
AWSでマイクラサーバーを建てる方法はネットに転がってますが、MODや配布マップを使ったサーバーの立て方がどこにもなかったので、メモ程度にまとめておきます。
下記の順番で行っていきます。
EC2でサーバー作成
1.キーペアの作成
まずはマイクラバニラサーバーを作ります。
EC2に移動し、キーペアを作成します。
ネットワーク&セキュリティー > キーペア > キーペアを作成
名前を入力して、右下「キーペアを作成」をクリックします。
するとpemファイルがダウンロードされます。これを失くすとsshでサーバーに入れなくなるので注意!
2.EC2インスタンス作成
EC2でインスタンスを作成します。これがマイクラのサーバーとなります。
インスタンス < インスタンス < インスタンスを起動
AMIは一番上を選択
t2.microではマイクラサーバーが動かないらしいので、t2.smallを選択
人数が多ければt2.mediumの方がいいかも…
インスタンスの詳細設定は何も変更せず、次に進みます
ストレージも変更するところはありません
タグは任意です。分かりやすくminecraftと入れておきました。
セキュリティーグループにはカスタムTCPを追加します。ポート範囲は25565です
確認して作成をクリックします
3.Elastic IPの関連付け
1でインスタンスの作成が完了しました。
マイクラサーバーとして公開するには固有のIPを割り当てる必要があります。
ネットワーク&セキュリティー > Elastic IP > Elastic IPアドレスの割り当て
先ほど作成したインスタンスと関連付けて、右下のボタンをクリックしたらOK!
4.マイクラサーバーのセットアップ
ローカル→インスタンスに接続
ここまででインスタンスの作成が完了しました。
次はインスタンス内にマイクラサーバーを作ります。
まずはインスタンスに接続します。ここではWindowsのTeraTermを使ったやり方を説明します。
ホストには先ほど設定したElastic IPを入力し、OKをクリックします
ユーザー名にはec2-user、認証方式はRSA/DAS/ECDSA/ED25519鍵を使うを選択し、最初に取得したpemファイルを選択します。
接続に成功すると下記のような画面が表示されます
これでインスタンスへの接続が完了しました!
基本セットアップ
MInecraftマルチサーバーを起動するにはjavaが必要です。
下記コマンドでjavaのセットアップをしましょう。
1 2 3 |
$ sudo yum update -y $ sudo yum -y install git $ sudo yum -y install java-1.8.0-openjdk.x86_64 |
次にminecraftフォルダを作っておきます。
次の作業はこの中で行います。
1 2 |
$ mkdir minecraft $ cd minecraft |
マイクラサーバーの作成
マイクラサーバーを作るjarファイルはMinecraft公式で公開されています。コチラから必要なバージョンのファイルを探しましょう!
ただしこれをローカルにダウンロードしても意味がありません。ダウンロードリンクを取得し、wgetコマンドでインスタンスにダウンロードします。
下記例では1.12.2のサーバーをダウンロードしています。
1 |
$ wget https://s3.amazonaws.com/Minecraft.Download/versions/1.12.2/minecraft_server.1.12.2.jar |
サーバーの実行
ここまでできたら、後はサーバーを実行するだけです。下記コマンドをポチっとな。
1 |
$java -Xmx1024M -Xms1024M -jar server.jar nogui |
はい、残念ながら失敗します。
しかし同フォルダにeula.txtが生成されています。これは規約同意書です。
規約を承認するためにfalseをtrueに変更します。
1 |
$ vi eula.txt |
変更前:eula=false
変更後:eula=true
※vimの使い方は各自調べてみてください
できたらもう一度実行!
1 |
$ java -Xms1024M -Xmx1024M -jar server.jar nogui |
うまくできていれば、これでマイクラバニラサーバーが起動します。
ここまでできたら、一度サーバーはシャットダウンしときましょう。
インスタンスを終了させておきます。
3.配布マップ・MODの前提知識
さて、この後配布マップやMODを入れてくわけですが、その前にMinecraftワールドデータの攻勢について理解しておく必要があります。
ワールドデータは下記の構成でできています
ローカルとは若干構成が違うので注意!
※他にもいろんなファイルがありますが、面倒なので割愛しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
minecraft--- | |---mods | |---eula.txt | |---config | |---server.jar | |---world | |---data |---DIM1 |---DIM-1 |---playerdata |---region |---stats |---level.dat ...etc |
ここで重要なのはmodsフォルダとworldフォルダです。
MODの場合はmodsフォルダを、配布マップの場合はworldデータに変更を加える必要があります。
3-a.配布マップを導入する場合
そのままマップのダウンロードリンクを取得できる場合はそれでいいんですが、配布マップってadflyだの何だので中間サイト挟む場合が多いですよね…
その場合、ダウンロードURLを簡単に取得できない場合も多いです。
なので今回はローカルに置いた配布マップを、S3に一度置いてEC2にダウンロードする方法をご紹介します!
S3からWEBサイトホスティングした配布マップをEC2にダウンロードします。
※ダウンロードリンクが取得できた場合、このステップは飛ばしてください
S3に配布マップのzipファイルを配置する
まずは適当なバケットを作成し、配布マップのzipファイルを配置します。
EC2からWEBサイトホスティングでダウンロードできるようにする
パブリックアクセスのブロックを解除します。
下記表示になればOKです。
zipファイル > オブジェクトURLでダウンロードリンクをコピーします
配布マップをサーバーに配置
再度サーバーに接続し、wgetで配布マップをEC2にダウンロードして解答します。
1 2 |
$ wget https://マップリンク $ unzip マップファイル.zip |
そしたらworldデータを置き換えて起動するだけ!ベリーイージー!
1 2 3 |
$ rm -rf minecraft/world $ mv world minecraft $java -Xmx1024M -Xms1024M -jar server.jar nogui |
3-b.MODデータを導入する場合
Forgeを入れる手間がある分、こちらのほうが難易度は高いです。
minecraftフォルダ内で作業します。
Forge導入
まずはForgeを導入します。コチラで任意のバージョンを選べます。
Forge installerをダウンロード!
1 2 |
$ wget https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.12.2-14.23.5.2838/forge-1.12.2-14.23.5.2838-installer.jar |
Forge起動用ファイルをダウンロード!
1 2 |
$ wget https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.12.2-14.23.5.2838/forge-1.12.2-14.23.5.2838-universal.jar |
・forgeサーバをインストール!
1 |
$ java -jar ./forge-1.12.2-14.23.5.2838-installer.jar nogui --installServer |
・forgeサーバを起動!
1 |
$ java -Xms1024M -Xmx1024M -jar forge-1.12.2-14.23.5.2838-universal.jar nogui |
これでForgeのインストールが完了しました。
modsフォルダが生成されているはずです。
MODをS3に配置
配布マップと同様なので割愛
MODをサーバーに配置
やり方は配布マップと同じです。
MODファイルが複数の場合はzipファイルにまとめたほうが楽ですが、ひとつならzipじゃなくても大丈夫です。
1 2 |
$ wget https://MODリンク $ unzip mod-file.zip (複数の場合) |
全てのjarファイルをmodsフォルダに入れます。
1 2 |
$ mv mod-file/* minecraft/mods $java -Xmx1024M -Xms1024M -jar server.jar nogui |
コラム:AWSでマイクラサーバーを作るメリット
AWSはインフラ初心者が使うには難易度の高いクラウドサーバーです。
正直全く知識がなければレンタルサーバーやVPSを使う方が楽でしょう。
長く使うのであれば、AWSは値段が高いです。
ではなぜあえてAWSを使うのか、そのメリットを記します。
短く使うならコスパ良し!
知っての通り、AWSは従量課金制です。
使わないときはすぐにサーバーを手放すことができます。
つまり短期間遊ぶだけなら最もコスパは良いのです。
私は実況動画撮影用に使っているので、使うのはほんの数時間、長くて数日です。
そんな私にとって、AWSは非常にコスパが良いサーバーです🤗
安定性・可用性バツグン!
AWSは企業でもよく使われてますが、その最たる理由はAWSの可用性にあります。
まあ一言でいえば、セキュリティに優れてるんですよね。
さすが、天下のAmazon様が展開するインフラサービスなだけあります。
カスタム性が高い
ここまで見た方ならわかると思いますが、AWSはAMIからIPアドレスまで非常に細かいところまで自由に設定できます。
レンタルサーバーやVPSではここまで自由度の高いサーバーはありません。
自分の望むサーバーをパッと作れるのは、AWSの強みです。