はじめに
Minecraftのサーバーが意外と簡単に作成できることを知ったので、備忘録として記録しておきます。Minecraftは複数人で同じサーバーに接続することによって、マルチプレイを楽しむことが出来るようです。
サーバーの用意
Minecraftのクライアントがインターネットから接続する場合はパブリックIPを持ったサーバーが必要になります。今回はGoogle Cloud上のCompute Engineを利用しました。
VMインスタンスを起動
下記のようなVMを利用
設定項目 | 内容 |
---|---|
OS | Debian GNU/Linux 12 (bookworm) |
グローバルIP | あり |
ファイアウォール | インバウンド tcp:25565 許可 |
必要なパッケージとMinecraftサーバーのインストール
最新のMinecraftサーバーを下記からダウンロードしてセットアップを行います。
#!/bin/bash
sudo apt-get update
sudo apt-get install -y default-jre-headless
sudo apt-get install wget
sudo apt-get install -y screen
sudo mkdir -p /home/minecraft
cd /home/minecraft
sudo wget https://piston-data.mojang.com/v1/objects/8dd1a28015f51b1803213892b50b7b4fc76e594d/server.jar
sudo java -Xmx1024M -Xms1024M -jar server.jar nogui
初期化すると下記のようなEULAへの承諾が必要な下記のメッセージが表示されるので
[ServerMain/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
下記のeula.txtファイルを開いてeula=true
と記載します。
#By changing the setting below to TRUE you are indicating your agreement to our EULA (http
s://aka.ms/MinecraftEULA).
#Sun Feb 11 03:00:57 UTC 2024
eula=true
その後にサーバーの起動コマンドを実行します。
sudo screen -S mcs java -Xmx1024M -Xms1024M -jar server.jar nogui
うまく実行できたらCtrl+A
を押してCtrl+D
を押すことでscreenから離脱します。
sudo screen -S mcs
sudo screen -r -X stuff '/stop\n'
Serverステータス確認
このサイトからMinecraft Serverとして動作しているかどうかを確認できます。
Minecraftクライアントからの接続
Minecraft Launcherの起動構成から起動するクライアントのバージョンを変更できます。
サーバーのグローバルIP(外部IP)を打ち込むと接続できます。
おわりに
試しにパソコンのMinecraftクライアントから接続してみたら、うまく接続することができました。ただ複数人実際にアクセスするとどうなるのか、そのあたりはよく分かりません。サーバーを再起動した場合でも、接続しなおすと同じところから再開できるようです。
コストについて
ちなみに今回Google Cloudのe2-mediumというマシンタイプで試しましたが、東京リージョンでは1時間$0.04というお値段でした。
市販のサービスを利用すると月1,000円くらい取るようなのでプレイする時だけ立ち上げておけば、そんなにお高くも無いように思いました。
課題
コンソールから進めた場合はこの手順でうまくいったのですが、下記の起動スクリプトだと最後の立ち上げコマンドを実行した場合、eulaの書き換えまではできるのですが最後の立ち上げがうまく実行されない模様。今後の課題です。
#!/bin/bash
sudo apt-get update
sudo apt-get install -y default-jre-headless
sudo apt-get install wget
sudo apt-get install -y screen
sudo mkdir -p /home/minecraft
cd /home/minecraft
sudo wget https://piston-data.mojang.com/v1/objects/8dd1a28015f51b1803213892b50b7b4fc76e594d/server.jar
sudo screen -S mcs java -Xmx1024M -Xms1024M -jar server.jar nogui
sudo sh -c "echo eula=true > eula.txt"
# sudo screen -S mcs java -Xmx1024M -Xms1024M -jar server.jar nogui