リンク

2019年8月15日木曜日

【GCP】Google Cloud Platform でMinecraftマルチサーバーを立てる方法

0. はじめに



今回は、google Cloud Platform内のGoogle Compute Engineを使用して
Minecraftマルチサーバーを立ち上げたいと思います。

1. Google Cloud Platformにアカウント作成



以下リンクへ飛び、「GCP 無料トライアル」を選択する。
リンク:https://cloud.google.com/?hl=ja


利用規約等を入力してどんどこ進んでください。

最後に「無料トライアルを開始」を選択して作成完了となります。

※画像の右にある通り、無料トライアル期間が過ぎても自動で請求することはないので
安心して使えるかなと思います。


2. Google Cloud Platformのダッシュボードへ移動



作成が完了しましたら、「コンソールに移動」を選択する。


3. インスタンス作成



コンソール画面の左上にある「≡」を選択し、「Compute Engine」→
「VMインスタンス」を選択する。


VMインスタンスから「作成」を選択する。


名前:任意(まあ、minecraftとかわかりやすいのでいいんじゃないかな)
リージョン:us-west1(オレゴン)
ゾーン:us-west1-b
マシン構成:f1-micro(1 vCPU、 614MBメモリ)
ブートディスク:Debian GNU/Linux 9 (stretch) 30GB
ファイアウォール:HTTPおよびHTTPS トラフィックを許可する

を選択後し、ネットワークを選択する



ネットワーク インターフェース内の外部IPをクリックし、「IPアドレスを作成」を選択する



名前:任意

を入力後、「予約」を選択する。



以上を選択後、「作成」を選択する。

4. SSH設定



・ポート変更

「メニュー」→「VPCネットワーク」→「ファイアウォールルール」を選択



「ファイアウォール ルールを作成」を選択



一例
・サーバー用

名前:allow40022-server
ターゲット タグ:allow40022-server
ソースIPの範囲:0.0.0.0/0
TCP:40022

・Minecraft用

名前:maincraft
ターゲット タグ:maincraft
ソースIPの範囲:0.0.0.0/0
TCP:25565

を設定後、「作成」を選択する。



・サーバーへ適応

先ほど作成した設定をインスタンスに紐づけします。

「メニュー」→「Compute Engine」→「VMインスタンス」を選択し、
先ほど作成したインスタンスを選択し、「編集」を選択する。


先ほど作成した設定名を「ネットワーク タグ」へ追加設定し、保存を選択する。


・sshd_configのポート番号設定変更

「メニュー」→「Compute Engine」→「VMインスタンス」を選択し、「SSH」を選択する。


黒い画面が新しく表示されると思うので、そこで以下コマンドを実行する。

# vi /etc/ssh/sshd_config

#Port 22というところの下に以下を追加
Port 40022

※入力ができない!!という人がいたら、「Esc」を押しそのあと入力を行いたい場所で「a」を押す。
※終了できない!!という人がいたら、「Esc」を押しそのあと「:wq」を押す。
※「:wa」を押したときに、「E45: 'readonly' option is set (add 1 to override)」が
出た場合は、ユーザに権限が足りないので一度「Esc」→「:q!」を押し、以下コマンドを実行

# sudo su

実行後、再度 viコマンドから始める。

その後、以下コマンド実行

# systemctl restart sshd

設定したポートでsshができるかを確認する。

「SSH」→「ブラウザ ウィンドウでカスタムポートを開く」

ポート:40022

を設定後、開くを押しコンソールへログインできることを確認する。



・ポート22番を閉じる

「VPCネットワーク」→「ファイアウォール ルール」を選択する。


「ファイアウォール ルールの作成」を選択し、今度は22ポートを閉じるものを作成する。

名前:disallow22-server
一致した時のアクション:拒否
ターゲット タグ:disallow22-server
ソースIPの範囲:0.0.0.0/0
指定したプロトコルとポート:tcp:22

を設定し、「作成」を押す。
作成したものを、インスタンスへ追加します。
追加後、ポート22でssh接続ができないことを確認。

5. minecraftマルチサーバー導入



・javaインストール

# apt-get install default-jdk

# java -version

java versionで1.8が表示されることを確認

・screenインストール

# apt-get install screen

・Minecraftインストールディレクトリ作成
Minecraftマルチサーバーをインストールするディレクトリを作成する。
お好みで場所変更してください。

# mkdir ~/minecraft

# cd ~/minecraft

・Minecraftマルチサーバーインストール

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

・Minecraftマルチサーバー(バニラ)を起動

# java -Xms600M -Xmx600M -jar minecraft_server.1.12.2.jar nogui

起動後、規約を承認するため以下を変更する。

# vi eula.txt

変更前:eula=false
変更後:eula=true

再度起動する。

# java -Xms600M -Xmx600M -jar minecraft_server.1.12.2.jar nogui

ここまでで、Minecraftマルチサーバーバニラ版は作成完了です。

ここからはmod関連になります。

6. forge導入



・installerをDL

# wget https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.12.2-14.23.5.2768/forge-1.12.2-14.23.5.2768-installer.jar

・universalをDl

# wget https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.12.2-14.23.5.2768/forge-1.12.2-14.23.5.2768-universal.jar

・forgeサーバをインストール

# java -jar ./forge-1.12.2-14.23.5.2768-installer.jar nogui --installServer

・forgeサーバを起動

# java -Xms600M -Xmx600M -jar forge-1.12.2-14.23.5.2768-universal.jar nogui

■参考リンク


・https://qiita.com/ryuta69/items/dbb0db5cf7099b7a7cc4
・https://qiita.com/riku-shiru/items/a870edd9dc0b132e092c

2019年8月14日水曜日

【AWS】AWSでマインクラフトマルチサーバーを上げる方法!!

0.はじめに

すごく、走り書きしただけですので誤字脱字等ありましたら
申し訳ありません。

1.AWS



Amazon Web Servicesの略で、最近hotなクラウドサービスのこと。
今回使うものは、AWS内にあるEC2というサービス。

2.必要なもの



・クレジットカード類
登録時に必要

3.費用



・くっそ重いmodを入れて負荷をそんなにかけないのなら一か月1000円いかないかな。

4.AWSの登録



以下、リンクからコンソールへサインインする。
リンク:https://aws.amazon.com/jp/

5.AWS EC2へ移動



以下、リンクからEC2へ移動する。
リンク:https://console.aws.amazon.com/ec2/



6. キーペアの作成



こいつを作成しておかないと、あとあとsshで入れなくなるので注意。

●方法
左メニューの「キーペア」→


「キーペアの作成」



名前は、任意のものを作成。(まあ、「minecraft」でいいんじゃないんかな)
作成したときに、秘密鍵っていうものがダウンロードされるので
忘れないところに保存しておくこと。


●補足
※このときに、ダウンロードしたものがブラウザー毎に
形式が違う場合があるようなのですが、「ファイル名.pem」となっていることを確認してください。
「ファイル名.txt」となっている場合は名前変更で.pemへ変更してください。

※ファイル名の後の形式が出ていないよ~っていう人は、
エクスプローラーを開いて上のタブにある「表示」→「ファイル名拡張子」を有効にする。

7. インスタンスの作成



インスタンスとは..っていうのは別のわかりやすいサイト等があると思うので、
探してみてほしいですがここでは「サーバ」とでも思っていてください。

●方法
左メニューの「インスタンス」→


「インスタンスの作成」→


「Amazon Linux AMI ...」を選択→


「t2.micro」を選択(まあ、お好み)→「次の手順:インスタンスの詳細の設定」→


「自動割り当てパブリックIPを有効化」→次の手順:タグの追加→


次の手順へ→


値に「minecraft」を入力→次の手順:セキュリティグループの設定→



新しいセキュリティグループを作成します。
デフォルトのままだと、SSHで入れなかったらマインクラフトへ
誰も入れない状態になっていると思いますのでポートを開けたりの設定をします。

「ルールの設定」→確認と作成→


→起動


→インスタンスの作成


8. インスタンスへIPアドレス割り当て



作成した、インスタンスを起動すると自動でIPv4を割り当ててくれますが今回はminecraftサーバを立てるため
いちいちIPv4が変更されると面倒くさいので、固定IPv4を割り当てます。

●方法
「Elastic IP]→



「新しいアドレスの割り当て」→



「Amazonプール」→「割り当て」→「閉じる」→



作成したものにチャックを入れ、「アクション」→「アドレスの関連付け」→



リソースタイプ:インスタンス
インスタンス:作成したインスタンスを選択
プライベートIP:作成したものを選択

「関連付け」→



9. サーバーへログイン



今回は、Tera Termからサーバーへログインする方法を記載します。

●方法
ホスト(T) : AWSインスタンスのIPv4パブリックIP → OK→


ユーザ名(N) : ec2-user
RSA/DSA/ECDSA/ED25519鍵を使う : 先ほど保存した秘密鍵を選択(.pemのやつ)→OK


成功すると以下のように出ることを確認。


10. minecraftのインストール



・javaのインストール
Minecraftマルチサーバーを動作させるために使うのでjavaをインストールする。
$ sudo su

# yum install java-1.8.0-openjdk
→yで実行

# java -version
java versionで1.8が表示されることを確認、されない場合以下を実行する。

# alternatives --config java
→ 1.8.0のものの数字を選択する。

# java -version
java versionが1.8担っていることを確認する。

・screenインストール
このscreenを使用して、仮想端末上でMinecraftマルチサーバーを動作させるのでインストールする。
# sudo yum -y install screen

・Minecraftインストールディレクトリ作成
Minecraftマルチサーバをインストールするディレクトリを作成する。
お好みで作成、今回は ~/minecraftに作成する。

# mkdir ~/minecraft

・Minecraftマルチサーバーインストール

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

・Minecraftマルチサーバーを起動

# java -Xms1024M -Xmx1024M -jar minecraft_server.1.12.2.jar nogui

起動後、規約を承認するため以下を変更する。

# vi eula.txt

変更前:eula=false
変更後:eula=true

再度起動する。

# java -Xms1024M -Xmx1024M -jar minecraft_server.1.12.2.jar nogui

ここまでで、Minecraftマルチサーバーバニラ版は作成完了です。


ここからはmod関連になります。

11.forge導入


・installerをDL
# wget https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.12.2-14.23.5.2768/forge-1.12.2-14.23.5.2768-installer.jar

・universalをDL
# wget https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.12.2-14.23.5.2768/forge-1.12.2-14.23.5.2768-universal.jar

・forgeサーバをインストール
# java -jar ./forge-1.12.2-14.23.5.2768-installer.jar nogui --installServer

・forgeサーバを起動
# java -Xms1024M -Xmx1024M -jar forge-1.12.2-14.23.5.2768-universal.jar nogui

おまけ



作成したMinecraftサーバのフォルダー内一覧を以下に記載します。



[root@ip-172-31-41-33 minecraft]# pwd
/root/minecraft
[root@ip-172-31-41-33 minecraft]# ls -ls
total 39152
    4 -rw-r--r-- 1 root root        2 Aug 13 13:40 banned-ips.json
    4 -rw-r--r-- 1 root root        2 Aug 13 13:40 banned-players.json
    4 drwxr-xr-x 2 root root     4096 Aug 13 13:40 config
    4 -rw-r--r-- 1 root root      180 Aug 12 16:19 eula.txt
 4800 -rw-r--r-- 1 root root  4913086 Oct  4  2018 forge-1.12.2-14.23.5.2768-installer.jar
   12 -rw-r--r-- 1 root root     8921 Aug 13 13:35 forge-1.12.2-14.23.5.2768-installer.jar.log
 4776 -rw-r--r-- 1 root root  4888981 Aug 13 13:35 forge-1.12.2-14.23.5.2768-universal.jar
    4 drwxr-xr-x 7 root root     4096 Aug 13 13:35 libraries
    4 drwxr-xr-x 2 root root     4096 Aug 13 13:40 logs
29516 -rw-r--r-- 1 root root 30222121 Apr  2  2018 minecraft_server.1.12.2.jar
    4 drwxr-xr-x 2 root root     4096 Aug 13 13:40 mods
    4 -rw-r--r-- 1 root root        2 Aug 13 13:40 ops.json
    4 -rw-r--r-- 1 root root      753 Aug 13 13:40 server.properties
    4 -rw-r--r-- 1 root root      107 Aug 13 13:42 usercache.json
    4 -rw-r--r-- 1 root root        2 Aug 12 16:19 whitelist.json
    4 drwxr-xr-x 9 root root     4096 Aug 13 13:42 world
[root@ip-172-31-41-33 minecraft]#


■参考リンク




・https://qiita.com/ReyADayer/items/551755bf22698541e30c
・https://minecraft.server-memo.net/forge_server_install/
・https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/putty.html
・https://aws.amazon.com/jp/premiumsupport/knowledge-center/set-change-root-linux/