Minecraft Japan Communityを発足しました!参加はこちらから!!

ConoHa VPSで始めるプラグインサーバー|サーバー構築編

この記事の内容はMinecraft 1.17 洞窟&崖アップデート(第一弾)に対応していることこを確認しました。

Minecraftのプラグインサーバーを構築する第二弾の記事です。

サーバーをご用意されていない方はまずは環境構築編をご覧ください!

この記事ではConoHa VPSにてMinecraftのプラグインサーバーをインストールして立ち上げるところまでを解説します。

ConoHa VPS以外Ubuntuを使用したOSであれば同様の操作でインストールが行える部分が大半です。

応用が利かなかったり、分からないことがあればページ下部にご意見やご要望をお送りいただけるフォームを用意しておりますので活用ください。

環境

この記事では下記の環境で構築を行います。

カテゴリ今回の環境
VPSConoHa VPS
OSUbuntu 20.04
SSHWindowsオプション機能またはTera Term
エディタvim
Minecraft1.17
Minecraft ServerSpigot 1.17
本記事の構築環境

Minecraft 1.17以外の1.16などのバージョンに置き換えてインストールすることも可能です。

その際はJREと呼ばれるJavaをインストールする手順の部分には十分注意してインストールください。

必要な更新とインストールを実施

サーバーは不特定多数のプレイヤーがログインすることを想定し、常に最新の状態にしておくことをおすすめしています。

サーバーへログインする

既にサーバーが起動していることを前提に解説をはじめます。

Windowsのオプション機能またはTera TermなどのSSHクライアントを使用してサーバーへログインします。

ログイン方法は下記の記事で紹介していますので参考にしてください。

OSの更新とアプリケーションの更新

ConoHa VPSで提供されるOSとアプリケーションイメージは常に最新とは限りません。

VPSを立ち上げたらまずはOSとアプリケーションを更新しましょう。

まずは更新可能なパッケージがあるかの判断を行うための一覧を最新の状態にします。

sudo apt update

続いて各種更新を実施します。

語尾に -y と付けていますのでインストール前の確認が省略されます。

sudo apt update -y

インストール後はrebootコマンドで再起動しておきましょう。

reboot

再起動は約1分程度かかります。

起動しますとSSH接続を行えるようになります。

以上で更新処理は終了です。

定期的に2つのコマンドを使用して更新を行いましょう。

Javaのインストール

Minecraftのサーバーはクライアントを動かすのと同様にJavaのインストールが必要です。

sudo apt install openjdk-16-jre -y

Minecraft 1.16.5まではJava8Minecraft 1.17以降はJava16のインストールが必要です。

この記事はMinecraft 1.17向けですのでJava16のインストール方法を紹介しています。

以上でMinecraftを動かす最低要件は整いました。

続いてはサーバーを動かすための準備をしましょう。

プラグインサーバーを準備する

続いては今回メインとなるプラグインサーバーを準備します。

最近は多くのサーバーはBukkitを最適化したSpigotを使用する傾向が多いです。

その中でも一部ユーザーはPaperMCと呼ばれるサーバーも使用しています。

今回は安牌のSpigotをインストールしましょう。

BuildToolsでSpigotを入手R

大人の事情でSpigotは各自生成する必要があります。

その際、BuildToolsと呼ばれるアプリケーションがSpigot公式から提供されていますので使用します。

兎にも角にもBuildToolsを動かすための場所を作成しましょう。

mkdir buildtools
cd buildtools

buildtoolsディレクトリにwgetコマンドを使用して最新のBuildToolsをダウンロードします。

wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar

lsコマンドなどでディレクトリにBuildTools.jarが存在しましたら成功しています。

続いてSpigotを入手するためにBuildToolsを使用して生成を行います。

BuildToolsを実行するにはメモリを1GB以上割り当て実行します。

–revで使用したいゲームバージョンを指定することも忘れないでください。

java -jar -Xmx1G BuildTools.jar --rev 1.17

Spigotを起動

BuildToolsで作成したSpigotはBuildToolsフォルダ内にあります。

ファイルをコピーして適当な場所でサーバーを起動しましょう。

今回はユーザールートフォルダ直下にspigotフォルダを用意して運用します。

cd ~
mkdir spigot
cp buildtools/spigot-1.16.5.jar spigot
cd spigot

コピーが完了しましたらSpigotを一度立ち上げます。

java -jar -Xmx2G spigot-1.17.jar

下記のようにサーバーは正しく立ち上がることなく停止してしまいます。

[03:31:58] [main/ERROR]: Failed to load properties from file: server.properties
[03:31:58] [main/WARN]: Failed to load eula.txt
[03:31:58] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

MinecraftのサーバーはEULAと呼ばれる許諾を行わないと起動できません。

サーバー直下のeual.txtをvimなどで編集する必要があります。

vi eula.txt

vimはノーマルモードと編集操作を行うインサートモードなどがあります。起動直後はノーマルモードです。

入力位置はノーマルモードの状態でhjklキーを駆使して移動します。インサートモードの場合は方向キーで移動することも可能です。

eula=falseをeula=trueに変更したいのでhjklを駆使して文末まで移動しましょう。

iキーでインサートモードに入りfalseをtrueに変更します。

最後にEscキーを押下してノーマルモードに戻り、:wqと入力してEnterを押下するとコンソールへ戻ることができます。

EULAに同意したら再度Spigotを起動しましょう。

java -jar -Xmx2G spigot-1.17.jar

EULAの設定が正常に完了しているとサーバーが起動した状態になります。

この状態ではサーバーを起動した状態でコンソールを触れないのでscreenコマンドを駆使して動かしてみます。

stopコマンドを使用してサーバーを停止した状態にしておきましょう。

screenコマンドでサーバーを立ち上げる

サーバーを起動した状態でコンソールを触りたいことは幾度となく訪れます。

メインコンソールのみでサーバーを立ち上げてしまうと、SSHを切断した途端にサーバーも終了してしまう問題もあります。

そのためscreenコマンドを使用して仮想でコンソールを複数立ち上げて管理しましょう。

コンソールでscreenとコマンドを入力するだけでコンソールが内部的に1つ追加されます。

screen

この状態でscreen -liと入力すると現在の仮想コンソールがいくつあるか確認できます。

screen -li

例では48632が仮想スクリーンの名称でかつプロセスIDと同じです。

There is a screen on: 48632.pts-0.160-xxx-xxx-1 (04/25/2021 01:47:49 PM) (Attached)
1 Socket in /run/screen/S-root.

Attachedとなっているのが現在の仮想コンソールです。

この仮想コンソール内でサーバーを立ち上げましょう。

起動コマンドは何の変更も必要ありません。

java -jar -Xmx2G spigot-1.16.5.jar

この状態でメインのコンソールに戻るにはCtrl+A+Dを押下することで戻ることができます。

再度仮想コンソールの一覧を表示すると次のようになります。

screen -li
There is a screen on: 48632.pts-0.160-xxx-xxx-1 (04/25/2021 01:47:49 PM) (Detached)
1 Socket in /run/screen/S-root.

Detached状態になっていると、バックグラウンド状態で稼働していることを示します。

サーバーのコンソールを表示するにはscreen -xコマンドを使用します。

screen -x 48632

スクリーン名はscreen -x 4など省略しても使用できることがあります。

他にスクリーンがあり、4から始まっていれば次の値も入れましょう。

要は前方一致で指定することもできるということです。

サーバーを起動したままSSH接続を終了する

クラウドサーバーは起動させつつノートパソコンや据え置きのデスクトップPCの電源を切った場合どうなるでしょうか。

screenコマンドなどでサーバーのプロセスをバックグラウンドに移動させていない状況でSSHの切断を行うとゲームサーバーも停止してしまいます。

screenでサーバーを立ち上げ、Ctrl+A+Dで戻ったのち、exitコマンドを入力するか、Ctrl+Dでデタッチすると切断できます。

ポート開放する

ポート開放を行わないとサーバーに接続できませんからポートの開放をしましょう。

sudo ufw allow 25565

以上で環境は整いました。

動作確認

サーバーへ接続できるか試してみましょう。

サーバーのIPアドレスはSSH接続に使用したものと同じです。

接続できましたらプラグインサーバーの構築は終了です。

本来ならば行うべきセキュリティ対策等のエピソードもありますので、順次作成していきます。