2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GCPでMinecraft サーバーを立ち上げるまで

Posted at

はじめに

SteyHome週間で退屈だったので、Minecraftサーバを立てて遊んでみました。
(サーバ建てたのに同期や友達は誰も参加せず、結局ただのお勉強になってしまいました...)

基本は下記のままなので公式ドキュメントで十分じゃい!という方はそちらをどうぞ

Compute Engine での Minecraft サーバーのセットアップ
https://cloud.google.com/solutions/gaming/minecraft-server?hl=ja

また下記を参考にしていますので、そちらも合わせてどうぞ。
【GCP】Google Cloud Platform でMinecraftマルチサーバーを立てる方法
https://qiita.com/onnobu/items/01e45e3d6988cc54a70b

GCP アカウントの準備

GCPの無料枠で作成します。Googleアカウントに紐づいてGCPを利用するので、なければ新しいアカウントを作成しましょう。
GCPを利用する際、クレジットカードの登録を求められるかもしれませんが、勝手に課金されることはないので安心して登録してください。

Google Compute Engineの作成

Google Cloud プラットフォームの画面からGoogleアカウントでログインします。

ログイン後、
ナビゲーションメニュー > コンピューティング - Compute Engine > VMインスタンス を選択します。
スクリーンショット 2020-05-06 23.42.52.png

名前・リージョン・ゾーン・マシンの構成は任意の物で良いです。
リージョンやマシンの構成で金額が変わりますので、自分のお財布(トライアルの金額)と相談してください。
スクリーンショット 2020-05-06 21.39.48.png

ブートディスクの変更を選択します。
ここではOSとディスク(HDDとSSD)を設定できます。
OSは任意で良いですが、ブートディスクのサイズは30GBを推奨します(30GBまでは無料枠のはず)
スクリーンショット 2020-05-06 21.39.56.png

スクリーンショット 2020-05-06 21.42.54.png

ファイアウォールは両方とも許可で良いです。
スクリーンショット 2020-05-06 21.43.52.png

IPアドレスを設定します。
この工程は無理にする必要はありませんが、行わなければGCEを起動するたびにIPアドレスが変わります。
外部IPは予約すると同時に課金が始まり、GCEのインスタンスを削除しても解放されません。自分で管理する必要があるので気をつけましょう!

ネットワーキングのネットワークインターフェイスを選択して、外部IPのIPアドレスを作成します。
名前は任意です。入力したら、予約を選択します。

スクリーンショット 2020-05-06 21.49.20.png
スクリーンショット 2020-05-06 21.49.50.png

以上で、一旦の設定は終わりです。
画面下部の作成をクリックします。

作成したインスタンスの設定

作成後の画面で、先ほど作成したインスタンスのSSHのリストからブラウザウィンドウを選択します。
スクリーンショット 2020-05-06 22.03.06.png

linuxモジュールのupdateを行います。
またwgetを使うので入れておきましょう。


sudo apt-get update
sudo apt-get install wget
sudo apt-get install screen

minecraftのserver.jarの動かすためのJREをインストールします。


sudo apt-get install -y default-jre-headless

Minecraftサーバのインストール

minecraftのサーバをインストールするために、インストールするディレクトリを作成・移動します。

sudo mkdir /home/minecraft
cd /home/minecraft

minecraftのサーバを取得します。ダウンロードのURLでwgetしてください。
最新バージョンのサーバならここから取得できますが、古いバージョンで建てたい場合は備考を参考にしてください。

sudo wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar

サーバの起動を行います。これによってeula.txtが作成されるので、そのファイルを設定して再度起動させます。

sudo java -Xmx1024M -Xms1024M -jar server.jar nogui
[13:31:15] [main/ERROR]: Failed to load properties from file: server.properties
[13:31:15] [main/WARN]: Failed to load eula.txt
[13:31:15] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

nanoエディタやvimエディタで内容を次のように書き換えます。

vim eula.txt

[before]
eula=false[after]
eula=true

このタイミングで、minecraftディレクトリの所有者を管理者ユーザから一般ユーザに変更しておきます。

sudo su -
chown -R (YourUser) /home/minecraft
exit

再度起動させます。
今度はscreenコマンドを利用して起動させ、sshでの接続が切れた後でもサーバが持続するようにします。
これで起動させなければ、sshのセッションが切れると同時にサーバも終了してしまいます。
ここではmcsという名前のセッションを作っています(公式のmcsですね)
起動後にctrl + A -> d でscreenのセッションから抜けます。

screen -S mcs java -Xmx1024M -Xms1024M -jar server.jar nogui

起動後
ctrl + a key -> d key

再度screenのセッションに入り、サーバを停止する場合は、

現状のセッションを調べて
screen -ls

それめがけて入る
screen -r mcs

止めるのは
stop

Minecraftサーバへの接続設定

Minecraftサーバはデフォルトでポート番号25565で接続します。
GCEで25565ポートへの接続の許可を設定します。

ネットワークタグに任意のタグを作成します。
25565ポートに許可を出すことやminecraftサーバ用であることがわかる名前が望ましいです。
スクリーンショット 2020-05-06 23.05.49.png

次にナビゲーションメニュー > ネットワーキング > VPCネットワーク > ファイアウォールルール から作成を選択します。
名前は任意、
ターゲットタグは先ほど作成したタグ名、
ソースIPの範囲は0.0.0.0/0、
ポートとプロトコルで、TCP 25565
で入力して作成を選択します。

スクリーンショット 2020-05-06 23.11.35.png

以上で終了です。
あとはMinecraftのクライアントからIPアドレスとポートを指定すればアクセスできるはずです。

みんなで Minecraftを楽しんでくださいね!

備考

sshのポート変更

sshのポート変更する場合は次の流れです。

まずsshd_configの設定を変更します。
Portを変えることで任意のポート番号にすることができます(デフォルト22)

ssh_config
sudo vim /etc/ssh/sshd_config

#Port 22
Port 30022 <- こんな感じで変える
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

その後、GCEのネットワークタグとファイアウォールルールで次の設定を行います。

  • 許可・拒否するネットワークタグの作成
    minecraftサーバ用に25565ポートを設定したのと同じ手順で作成
  • ファイアウォールルールの作成
    拒否の設定だけ下記に記載します。
    任意の名前、ソースIPは0.0.0.0/0で、一致した時のアクションを拒否にします。
    スクリーンショット 2020-05-06 23.19.46.png

古いバージョンのserver.jarの入手方法

Minecraftのクライアントから過去のserver.jarを取得できるようです。
起動構成 > 新規作成 > バージョン から
好きなバージョンを選んで、サーバーを選択してください。

スクリーンショット 2020-05-06 22.23.09.png

スクリーンショット 2020-05-06 22.23.22.png

ダウンロード後にブラウザのダウンロード履歴からURLが確認できるはずです。
そのURLでwgetを行えば導入できます。
スクリーンショット 2020-05-06 22.23.35.png

そのほか気になったこと

GCEインスタンスの起動時と終了時にサーバを閉じたり、開いたりするようなスクリプト(startup-script, shutdown-script)を書いたけどうまく動かなかった。
screenコマンドは起動時に使えないのかということが気になった。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?