Minecraft Spigot Server 環境構築方法 (CentOS)

Minecraft Spigot Server 環境構築方法を備忘録としてここにまとめておきます。興味のある方は是非チャレンジしてみて下さい。

準備(前提条件)

  • Linuxサーバーを用意する。メモリは2GB以上あることが望ましい
  • 今回は、CentOS 7.3 64-bit環境で行う
  • Linuxの基本操作・コマンドを理解していること
  • FTPやSSHの仕組みを理解しておりそれに関連したツールを使えること
  • スクリプトがある程度理解できること
  • viが使えるとなお良い

Serverセットアップ

CentOSは最小構成でインストールする。

パッケージアップデート

とりあえず、サーバーのアップデートを事前に行っておく。

yum -y update

Java インストール

Minecraft動作に必須なJavaをインストールする。

yum -y install java

Screen インストール

Screenで管理すると便利なのでインストール。

yum -y install screen

wget インストール

パッケージを取得するのに必要なのでインストール。(既にインストールされていること有り)

yum -y install wget

git インストール

SpigotのBuildに必須なのでインストール。

yum -y install git

SSHポート変更

デフォルトの22番ポートにはかなりのブルートフォースアタックがくるので、22番ポートを閉じて別のポートを開ける。

cd /etc/ssh/ 
vi sshd_config

#Port 22 の部分を変更する。

Port XXXXX

設定変更後、SSHサービスを再起動する。

systemctl restart sshd

ポート開放

まず、上で追加したポートを開放する。

firewall-cmd --permanent --add-port=XXXXX/tcp

22番ポートを削除。

firewall-cmd --permanent --remove-service=ssh

そして、Minecraft通信用ポートを開放する。

firewall-cmd --permanent --add-port=25565/tcp

設定を反映させる。

firewall-cmd --reload

以上の設定完了後、サーバーを再起動する。

reboot

以上の設定が正常に行われているかを確認する。

firewall-cmd --list-all

portsの部分に自分が先程追加したポート(以下写真ではぼかしてある)と25565番ポートのみがあれば成功。

Minecraft Spigot 導入

インストールディレクトリ作成

Minecraft Spigotをインストールするディレクトリを作成する。ここでは /home以下にmcspigotディレクトリを作成する。

mkdir /home/mcspigot

Buildtools ダウンロード

Buildtoolsをダウンロードする。

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

MC SpigotをBuild

MC SpigotをBuildする。

まずは、gitの設定を変更し、改行コードを設定しないようにする。

git config --global --unset core.autocrlf

Buildを実行する。しばらく待つ。

java -jar BuildTools.jar

同ディレクトリに、spigot-xxx.jarが作成される。

MC Spigot 起動

とりあえずspigotを起動する。

java -Xms1024M -Xmx1024M -jar spigot-xxx.jar nogui

eula.txtが作成されるので、同意する。

vi eula.txt

eula=true にすればよい。

再度spigotを起動する。

java -Xms1024M -Xmx1024M -jar spigot-xxx.jar nogui

Minecraftからログインできるかを確認する。

以上で導入完了。

起動スクリプト作成

MC Spigotの起動作業を楽にするため、起動スクリプトを作成する。名前はここではmcsstart.shとする。USERNAME・SCNAME・SPI_PATHなどは各々によって異なるので適宜変えること。FTPソフトを使って編集した方がやりやすいかもしれない。

#!/bin/bash 

USERNAME='root' 
SERVICE='spigot-xxx.jar' 
SCNAME='mcspigot' 
SPI_PATH='/home/mcspigot' 
XMX="1024M" 
XMS="1024M" 
cd $SPI_PATH ME=`whoami` 
if [ $ME == $USERNAME ] ; then 
  if pgrep -u $USERNAME -f $SERVICE > /dev/null then 
    echo "$SERVICE is already running!" 
  else 
    echo "Starting $SERVICE..." 
    screen -AmdS $SCNAME 
    java -Xmx$XMX -Xms$XMS -jar $SERVICE nogui 
  fi 
else 
  echo "Please run the root user." 
fi

起動スクリプトはrootディレクトリなどに置いておくとよいだろう。パーミションも設定しておく。

chmod 744 mcsstart.sh

以下のような感じで起動することになる。

cd /root/ 
./mcsstart.sh

もしスクリプトファイル実行時にエラーが出た場合、改行コードに問題がある可能性があるので、以下を実行する。(ファイル名はmcsstart.shとする)

sed -i 's/\r//' mcsstart.sh

最終動作確認

./mcsstart.sh 
screen -r mcspigot

Ctrl+Aの後にDでDetach。

あとはプラグインなどを導入するなりしていけば良い。