当環境はCentOS7です。これであなたもMinecraftマルチサーバー24時間鯖の構築ができる!
目次
javaのインストール
1 |
# yum install -y java |
バージョンを確認しましょう。
1 2 3 4 |
# java -version openjdk version "1.8.0_91" OpenJDK Runtime Environment (build 1.8.0_91-b14) OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode) |
screenのインストール
screenを入れることによって、仮想端末を作りバックグラウンドで動作するように出来ます。
1 |
# yum install -y screen |
wgetのインストール
Minecraft公式ページよりダウンロードするために必要なものです。
1 |
# yum install -y wget |
実行ユーザの追加
サーバーを実行するためのユーザを追加しましょう。
1 2 3 4 5 |
# adduser minecraft # passwd minecraft ユーザー minecraft のパスワードを変更。 新しいパスワード: 新しいパスワードを再入力してください: |
Minecraftマルチサーバーをダウンロード、設置
ユーザを切り替え、フォルダを作り、ダウンロードをして名前を変更しましょう。
最新のバージョンは公式のダウンロードから確認してください。
1 2 3 4 5 |
# su - minecraft # mkdir minecraft # cd minecraft # wget https://s3.amazonaws.com/Minecraft.Download/versions/1.9.4/minecraft_server.1.9.4.jar # mv minecraft_server.1.9.4.jar minecraft_server.jar |
Minecraftマルチサーバーの初回起動
EULA(使用許諾契約)に同意する必要が有るので、初回起動でeula.txtを生成し同意しましょう。
1 2 3 4 5 6 7 8 9 |
# java -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui [00:00:00] [Server thread/INFO]: Starting minecraft server version 1.9.4 [00:00:00] [Server thread/INFO]: Loading properties [00:00:00] [Server thread/WARN]: server.properties does not exist [00:00:00] [Server thread/INFO]: Generating new properties file [00:00:00] [Server thread/WARN]: Failed to load eula.txt [00:00:00] [Server thread/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info. [00:00:00] [Server thread/INFO]: Stopping server [00:00:00] [Server Shutdown Thread/INFO]: Stopping server |
eula.txtを開き、falseをtrueに変更をし保存しましょう。
1 |
# vi eula.txt |
eula=false |
↓
eula=true |
ポートの開放をする
これは使用しているVPSによるのですが、基本的には自分でポートを解放する必要があります。
1 2 3 4 |
# firewall-cmd --add-port=25565/tcp --zone=public --permanent success # firewall-cmd --reload success |
successと表示されれば大丈夫です。解放が出来ました。
起動・停止のスクリプト作成
こちらを参考にし、スクリプトを作ります。
起動スクリプト
1 |
# vi start.sh |
USERNAME | 実行ユーザを指定。 |
SERVICE | ファイル名を指定。 |
SCNAME | screenの仮想端末に名前を付ける。 |
MC_PATH | ファイルのある場所を指定。 |
XMX | 最大メモリを指定。 |
XMS | 最小メモリを指定。 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#!/bin/bash USERNAME='minecraft' SERVICE='minecraft_server.jar' SCNAME='minecraft' MC_PATH='/home/minecraft/minecraft' XMX="1024M" XMS="1024M" cd $MC_PATH ME=`whoami` if [ $ME == $USERNAME ] ; then if pgrep -u $USERNAME -f $SERVICE > /dev/null then echo "※サーバーは既に起動しています。" else echo "Starting $SERVICE..." screen -AmdS $SCNAME java -Xmx$XMX -Xms$XMS -jar $SERVICE nogui fi else echo |
停止スクリプト
1 |
# vi stop.sh |
10秒後にサーバーが停止するように書かれています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#!/bin/bash USERNAME='minecraft' SERVICE='minecraft_server.jar' SCNAME='minecraft' MC_PATH='/home/minecraft/minecraft' cd $MC_PATH ME=`whoami` if [ $ME == $USERNAME ] ; then if pgrep -u $USERNAME -f $SERVICE > /dev/null then echo "Stopping $SERVICE" screen -p 0 -S $SCNAME -X eval 'stuff "say 10秒後、サーバーが停止されます>。"\015' screen -p 0 -S $SCNAME -X eval 'stuff "save-all"\015' sleep 10 screen -p 0 -S $SCNAME -X eval 'stuff "stop"\015' sleep 10 else echo "※サーバーは既に停止されています。" fi |
起動・停止スクリプトのパーミッション変更
変更することで、minecraftユーザのみが実行できるようになる。
1 2 |
# chmod 744 start.sh # chmod 744 stop.sh |
仮想端末への接続
screenから仮想端末へ接続します。
1 |
# screen -r minecraft |
screenから抜ける場合は [Ctrl]+a+d で抜けることが出来ます。
楽しむ
お疲れ様でした。後はサーバーを起動して楽しみましょう。
1 2 3 4 5 |
--起動-- # /minecraft/start.sh --停止-- # /minecraft/stop.sh |
※起動・停止は毎回minecraftユーザでログインする必要があります。