富士通クラウドダイレクトブログ

初心者エンジニア向けTechBlog

富士通クラウドダイレクトブログ

初心者エンジニア向けTechBlog

FJcloud-VでMinecraftをサーバー構築する方法

こんにちは、 id:o108minmin です

今回はFJcloud-V/ニフクラでminecraftサーバーを構築する方法を紹介していきます。
やり方はいろいろあると思いますが、なるべくFJcloud-Vにある方法で構築していきます。

注意: この記事はMinecraft 公式情報ではありません。Mojang社から承認されておらず、Mojang社とは関係ありません。

基本編

SSHキー作成

SSHキー作成に関しては特に注意することはなく、ドキュメント通りに作成してください。

クラウドヘルプ(SSHキー) | ニフクラ

ファイアウォール設定

今回は下記のように「接続しているIPアドレス」で22, 25565ポートを開放します。
利用するIPアドレスが変わる場合、多人数でプレイする場合は都度変更してください。

クラウドヘルプ(ファイアウォールグループの新規作成) | ニフクラ

サーバー作成

今回はc-medium4、Ubuntu22.04を利用します。

クラウドヘルプ(サーバーの作成) | ニフクラ

アプリ構築

お使いのsshクライアントでログインしましょう。

ssh root@{サーバーのグローバルIPアドレス} -p 22 -i minecraftKey_private.pem

まずはソフトウェアを更新します。

root@ubuntu:~# apt update
root@ubuntu:~# apt upgrade

続いて依存ソフトウェアをインストールします。

root@ubuntu:~# apt install openjdk-19-jre-headless

minecraft serverのダウンロードをします。
(アドレスは変わっている可能性があります。最新のアドレスはminecraft公式ページから確認してください)

root@ubuntu:~# wget https://piston-data.mojang.com/v1/objects/8f3112a1049751cc472ec13e397eade5336ca7ae/server.jar

minecraftの起動。

java -Xmx1024M -Xms1024M -jar server.jar nogui

内容を読み問題ないならEULAへ同意してください。

root@ubuntu:~# vim eula.txt 
root@ubuntu:~# java -Xmx1024M -Xms1024M -jar server.jar nogui

ログイン

minecraftの「Join Server」から構築したサーバーのIPアドレスを入力し、ログインします。

これで基本的な構築は完了です。

発展編

起動時スクリプトで自動的にminecraftサーバーを起動する

起動するたびにコマンドを実行するのは大変なので、起動時スクリプトの利用で楽できます。

クラウド 機能・サービス(サーバー起動時スクリプト) | ニフクラ

増設ディスクを利用する

このままでも利用できますが、ローカルディスクは30GBしかないため枯渇する可能性があります。
利用していく中でディスク容量に不安を感じたら、増設ディスクの利用を検討してください。

クラウド 機能・サービス(増設ディスク) | ニフクラ

バックアップを作成する

サーバーの定期的なバックアップ機能も提供しています。増設ディスクまで含めてバックアップ可能です。

クラウド 機能・サービス(バックアップ) | ニフクラ

サーバーをスペックアップする

利用していてスペック不足を感じてきたらスペックアップをオススメします。
今回は初期費用を抑えるため、ネットワーク性能を抑えたtype-c系を使っています。
変更箇所としては「type-eに上げる」「メモリを増強する」などが考えられます。

クラウド サーバータイプ性能比較 | ニフクラ

Javaディストリビューションを利用する

今回は簡単に導入するためOpenJDKを利用しましたが、サポート期間が短いです。
そのためOpenJDKを定期的に更新するか、OpenJDK以外のJavaディストリビューションの導入をオススメします。

さらにセキュリティを高めるには

変更する前にスナップショットを作成しておきましょう。
低コストで作成時点まで戻れるのでサーバー設定を変更する際の保険として便利です。

クラウドヘルプ(サーバー:スナップショット 作成) | ニフクラ

セキュリティを高める施策としては下記があります。いずれも一般的な方法のため、詳細な説明は省きます。

  • UbuntuのSSHポート変更
    • 変更した場合、ファイアウォールの更新を忘れずに行ってください。
  • Ubuntuのrootログインを無効化
  • minecraft whitelistコマンドでアクセスするユーザーを制限
    • 許可されていないユーザーのアクセスを遮断できます。

最後に

今回はminecraftサーバーの構築を行いました。
1台から高可用性をウリにするFJcloud-Vで構築するのは、シングルインスタンス前提なminecraftサーバーとは相性が良いと思います。
他のアプリケーションでも似たような方法で構築可能なので是非試してみてください。