【MinecraftServer】Start.sh Minecraftサーバーの起動スクリプト【Ubuntu18.04.3LTS】
【MinecraftServer】Start.sh Minecraftサーバーの起動スクリプト【Ubuntu18.04.3LTS】
UbuntuでMinecraftサーバーを立ち上げるためのシェルスクリプト。
Cronでサーバーの再起動を行う際にもこのシェルスクリプトを利用する。
実際にMinecraftサーバーで使用しているもののテンプレをダウンロードできるようにしてあるので、欲しい方は解説を読みつつ下の方まで。
Start.shファイルの解説
シェルスクリプトの定義
#!/bin/bash
シェルスクリプトの1行目に必ず書くもの。
Screenコマンド
screen -S “Screen名”
Ubuntuではターミナルに打たれたコマンドに従って作業が行われるが、1つの作業を行っている間は他のコマンドを打って作業を並列して行うことができない。
そのため、Minecraftサーバーを立ち上げている間、そのターミナル画面では他の作業(アップデートとかフォルダのコピーとか)を行うことができなくなる。
そのため、Screenコマンドを使用し、Minecraftサーバーを別画面のターミナルで起動・処理することで、サーバー起動中もUbuntuが使えるようにする。
※Ubuntu Desktop等のGUI表示で利用している人はScreenコマンド無しでも他作業ができるが、将来的にGUIは撤廃する予定の人は練習の為にも触っておくといいかも。
オプション
-S:新規Screen(ターミナル)の名前を指定。
例えば「screen -S minecraftserver」と記入すると、「minecraftserver」という名前のターミナルを作ってサーバーを起動してくれる。
Screen名の部分は分かりやすいよう任意の名前を指定する(「” “」は要らない)。
jarファイルの起動
java -server -Xms4096M -Xmx6144M -jar "minecraftserver-1.xx.x.jar" nogui
これはWindowsなどでプレイする時と同じ。
要はJavaでどのjarファイル起動し、メモリ割り当てをするかという内容。
オプション
「-server -Xms4096M -Xmx6144M -jar」はどれも文頭のjavaコマンドに対してのオプションとなる。
-server:HotSpot Server VMを選択する。
どういうことかと言うと私もよく知らないけど(おい)javaを動作させるにあたってどういうシステムを使うか、ということだと思われる。
Ubuntuをサーバーとして長時間稼働する場合はServer VMがいいらしい。
詳しくはJava HotSpot(TM) Client Virtual Machine および Java HotSpot(TM) Server Virtual Machineを見てもらいたい。
-Xms4096M:メモリを最小でいくら割り当てるか。
-Xmx6144M:メモリを最大でいくら割り当てるか。
どちらもMB換算で入力。
上の例だと最低4GB以上、最大6GB以下の割り当てとなる。
“minecraftserver-1.xx.x.jar”の部分は自分がダウンロード等してきたサーバーのjarファイル名を指定する。
サーバーファイルは以下で入手可。
Download server for Minecraft | Minecraft
私がダウンロードした時点では、「server.jar」という名前でダウンロードされるので、そのまま使うと後から使いまわしした時にバージョンが分からなくなる(起動すれば分かるだろうけど)。
なので、分かりやすくバージョン情報を付け加えておくと、後々メンテナンスする時に分かりやすくはなる。
Spigotを利用している人も、Spigotのビルドソフトで生成したjarファイルを指定する。
パーミッションの設定
Start.shの設定が完了したら、以下のコマンドで実行権限を与える。
chmod 777 Start.sh
コマンドを打つときはcdコマンドでStart.shが置いてあるフォルダに入って行うこと。
実行権限を与えるのを忘れると、実行しても権限不足でサーバーが起動できない。
Start.sh MinecraftServer (301 ダウンロード)