CentOS8でマイクラ鯖を建てる
概要
CentOS8でマイクラサーバーを建てました。CentOS8で仮想端末のscreenをインストールしたときにちょっと困ったので覚え書きにしました。
やること
- javaをインストール
- screenをインストール
- マインクラフト起動ユーザーの作成
- マインクラフトのサーバーファイルをダウンロード
- マインクラフトを起動する
- ポートを開放する
事前準備
javaをインストール
マインクラフトの動作にはjavaが必要なので、dnfコマンドを使ってインストールします。
dnf install java
仮想端末screenをインストール
CentOS8ではscreenは標準のリポジトリから外れたようなので、EPELリポジトリからインストールします。
dnf install epel-release
dnf --enablerepo=epel install screen
マインクラフトを導入し、起動するまで
マインクラフトの起動ユーザーを作る
マインクラフトを起動するユーザーを適当な名前を付けて作成します。
useradd mcsvr
passwd mcsvr
changing password for user mcsvr.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
サーバーファイルをダウンロードする
マインクラフトのデータを格納するディレクトリ「minecraft」を作成し、マインクラフト公式サイトからサーバーファイルのURLをコピーしてwgetでファイルをダウンロードします。分かり易いようにリネームしておきます。
mkdir minecraft
cd minecraft
wget URL
mv server.jar minecraft_server.jar
マインクラフトを起動する
マインクラフトの起動を簡単にするために起動スクリプトを用意します。起動スクリプトはマインクラフトwikiからダウンロードしました。同様に分かり易い名前にリネームしておきます。
wget URL
mv 'Script?action=raw' mc_script.sh
minecraftディレクトリ内は以下の通りです。
ls -1
mc_script.sh
minecraft_server.jar
起動スクリプトをテキストエディタ「nano」を使って編集します。#Settings項目をサーバーの環境に合わせて変更します。
nano mc_script.sh
#Settings
SERVICE='minecraft_server.jar'
SCREENNAME='minecraft_server'
OPTIONS='nogui'
USERNAME='mcsvr'
WORLD='world'
MCPATH='/home/mcsvr/minecraft'
BACKUPPATH='/home/mcsvr/backup'
MAXHEAP=2048
MINHEAP=1024
HISTORY=1024
CPU_COUNT=3
INVOCATION="java -Xmx${MAXHEAP}M -Xms${MINHEAP}M -XX:+UseConcMarkSweepGC \
-XX:+CMSIncrementalPacing -XX:ParallelGCThreads=$CPU_COUNT -XX:+AggressiveOpts \
-jar $SERVICE $OPTIONS"
起動スクリプト「mc_script.sh」をマインクラフトの起動ユーザー「mcsvr」のみが実行できるように権限を変更します。変更後、一度マインクラフトサーバーを起動してみます。
chmod 744 mc_script.sh
./mc_script.sh start
EULAに同意していないのでサーバーは今回は起動せずに停止します。
サーバーを起動したことにより生成されたファイル「eula.txt」をテキストエディタで編集して、EULAに同意しマインクラフトを再度起動します。
「eula=false」を「eula=true」にします。
./mc_script.sh start
Starting minecraft_server.jar...
minecraft_server.jar is now running.
無事、マインクラフトサーバーは起動しました。
ポートを開放する
マインクラフトで使うポート番号
- 25565/tcp デフォルトのポート番号。サーバープロパティで変更できる。
25565番ポートを開放する
ファイアウォールの設定でマインクラフトサーバーに使用するポート番号を開放します。無事開放出来れば、マインクラフトのサーバーに接続し、ゲームを楽しみます。
firewall-cmd --permanent --add-port=25565/tcp
firewall-cmd --reload