0
0

[2024年版] GCPで構築するMinecraft Modサーバー

Last updated at Posted at 2024-04-20

こんちわ。

普段はゲーム会社でソシャゲを作ってます、あまがみです!
今回は誰でもMinecraftのModサーバーを構築する方法をまとめてみました!
参考記事があまりなかったので備忘録的な意味も込めて投稿します!

※ VMインスタンスは無料クレジット分で作成します。
※ バックエンド初心者なので大目に見てね ^^;

構築環境

  • Windows10 Home 22H2
  • Google Cloud Platform
  • CentOS 7 (VM内)

1. VMインスタンスの作成

まずはVMインスタンスを作成します。

ComputeEngine > VMインスタンス > インスタンスの作成 をクリック。

項目 内容 備考
名前 minecraft-mod-server お好きな名前で!
リージョン asia-northeast1(東京) お好きなところで!
ゾーン asia-northeast1-b
マシンの構成 n1-standard-2(2vCPU, 7.5GB)
可用性ポリシー 標準 スポットのが費用抑えられます。
ブートディスク CentOS7
ディスクの種類 SSD 永続ディスク
ディスクサイズ 50~60GB 多いに越したことはない!

基本ここだけ変更すればいい感じに動くと思われ!

2. Forgeのインストール

続いてModサーバーに必須なForgeをインストールします。

デスクトップ等にお好きな名前のフォルダを作成します。
image.png

次に Forge DL からForgeをダウンロードします。
今回は Minecraftバージョン 1.19.2 で運用したいので、下記画像の「Download Latest」のインストーラーをダウンロードします。
image.png

インストーラーを起動し、先ほど作成したフォルダを指定します。
この時 Install server が選択されているか確認してください!
image.png

この画面が出たらインストール完了!
image.png

3. 起動構成の変更

次にサーバーの起動構成を変更します。

Forgeをインストールしたフォルダを開き、user_jvm_args.txt ファイルを開きます。
image.png

メモリ割り当ての設定を行います。
以下のコードを追加し、保存してください。

# Xmx and Xms set the maximum and minimum RAM usage, respectively.
# They can take any number, followed by an M or a G.
# M means Megabyte, G means Gigabyte.
# For example, to set the maximum to 3GB: -Xmx3G
# To set the minimum to 2.5GB: -Xms2500M

# A good default for a modded server is 4GB.
# Uncomment the next line to set it.
+ # -Xmx4G
+ # -Xms4G

次に run.bat をダブルクリックし、実行します。
色々ファイルが生成されるのですが、その中の eula.txt を開きます。
image.png

以下のように eula=falseeula=true に書き換え、保存してください。

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://aka.ms/MinecraftEULA).
#Sun Apr 21 05:51:14 JST 2024
- eula=false
+ eula=true

再度 run.bat をダブルクリックし、実行します。
こんな感じのGUIとフォルダ構成になればOK!
image.png
image.png

4. アップロードデータの準備

サーバーにアップロードする準備をします。
※この段階で入れるmodが決まっていれば、mods フォルダ内に入れてください!
※今回は Mekanism-1.19.2-10.3.9.13 をインストールします。

image.png
Modのインストールは こちら からどうぞ!

次にサーバーデータをzip化します。
先ほど作成したファイルたちをzipにしてください。(7zipおすすめ)
image.png
こんなかんじ。
image.png

5. ファイルアップロード

いよいよコンソールを触っていきますよ~
VMインスタンスのSSH接続を行います。

上部の「ファイルをアップロード」をクリックし、先ほど作成したzipファイルをアップロードします。
image.png

チェックマークがつけばOK!
image.png

念のためファイルがちゃんとアップロードされているか確認するために以下のコマンドを実行してください。

ls

以下のようにzipファイルが表示されたらOKです。
image.png

6. サーバーセットアップ

続いてサーバーのセットアップを行います。

既存パッケージを最新にアップデート

以下のコマンドを実行してください。

sudo yum -y update

OpenJDKのインストール

ここは運用するMinecraftのバージョンで変わってきます。
詳しくはGoogle先生にお聞きください...。
※1.19.2はJava17が推奨のため、以下のコマンドを実行します。

sudo yum -y install https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm

ちゃんとインストールされているか確認しましょう。
これないと動かないので...。

java -version

17.0.11~みたいなのが出力されていればOKです!
image.png

unzipのインストール

zipファイルを解凍するやつです。
以下のコマンドを実行してください。

sudo yum -y install unzip

screenのインストール

バックグラウンドで動かしてくれるやつです。
以下のコマンドを実行してください。

sudo yum -y install screen

7. サーバー、始動。

長らくお待たせいたしました。
ついにサーバーの起動です。

zipファイルを解凍する

以下のコマンドを実行し、ファイルの解凍を行います。

unzip ファイル名

※僕の場合は unzip MinecraftVM.zip と実行します。

ファイル確認

先ほども行った ls コマンドを実行し、ファイルの確認を行います。
以下のように色々入っていたらOKです!
image.png

サーバー起動する

以下のコマンドを実行し、実行権限を付与します。

sudo chmod 777 run.sh

以下のコマンドを実行し、サーバーを起動します。

./run.sh

以下のように Done (34.127s)! For help, type "help" と出力されていればOKです!
image.png

まだ設定が残っているので、一旦以下のコマンドでサーバーを停止させます。
白いテキストに戻ればOK。

stop

7. ポート開放

Minecraftのポートは 25565 なので、こいつを開放していきます。
以下のコマンドを順番に実行してください。

sudo firewall-cmd --permanent --add-port=25565/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

こんな感じで ports: 25565/tcp と出力されていればOK!
image.png

8. ファイアウォール作成

外部からアクセスできるように、VMインスタンスにファイアウォールを設定していきます。

VPCネットワーク > ファイアウォール > ファイアウォールルールを作成をクリック。

以下の情報を入力します。

項目 備考
名前 minecraft-25565 なんでもよし!
ターゲット ネットワーク上のすべてのインスタンス ※1
送信元IPv4範囲 0.0.0.0/0
プロトコルとポート TCPにチェック + 25565

※1:本来はVMに対し個別でタグを作成し、そのタグと紐づけを行うほうが安全です。
詳しくはGoogle先生にお聞きください。

9. 静的外部IPの設定 [任意]

これは正直やってもやらなくてもって感じです。
やらなかった場合、接続IPが定期的に変わるので、変わるたびプレイヤーに入力してもらわなければなりません。(セキュリティ的にはいいけどね...。)
なので一応説明だけ。

VPCネットワーク > IPアドレス > 外部静的IPアドレスを予約します をクリック。
以下の情報を入力します。

項目 備考
名前 minecraft-ip なんでもよし!
IPバージョン IPv4
リージョン asia-northeast1(東京) サーバーと同じとこ!
接続先 minecraft-mod-server 自分のサーバー名で!

予約ボタンを押せば外部静的IPが発行され、割り当てられます。

10. 最後に

さぁ、マルチプレイできる環境が整いました。

サーバーを起動する際は、コンソールを閉じてもいいように screen コマンドを使用します。

スクリーンを作成します。

screen -S スクリーン名

スクリーン内でサーバーを起動します

./run.sh

この2つさえ実行すればサーバーは立ちます。
screenコマンドを実行していれば、コンソール画面を閉じても大丈夫です!

以下の外部IPを、Minecraftの マルチプレイ > サーバー追加 > サーバーアドレス欄 に張り付けてして接続してみましょう。
image.png

無事には入れたら完璧!
エラーが出た場合は、プレイヤー側にサーバーと同じModが入っていなかったり...。
Google先生に聞いてください(n回目)

あとがき

以上になります。
海外の記事とかいろいろ参考にさせていただいたのでリンク張っておきます。

  • Modサーバーの立て方

  • OpenJDK17

  • Java17

  • IPアドレス

間違っている部分、記載ミス等ありましたらコメントにてお願いいたします。

0
0
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
0
0