VPS/Linux系OSでマイクラサーバーを自動起動させる方法

VPSおよび『Ubuntu』『Cent OS』などのLinux系OSで、サーバー起動と同時にマイクラサーバーを自動起動させる方法を解説。

VPSでは勝手にサーバーが再起動されてしまうので、必ず作っておきましょう。

当サイトはアフィリエイト広告を利用しております。

VPS/レンタルサーバーでは必須

マイクラ サーバーへの接続に失敗しました

自宅サーバーと違い、VPSではサーバー会社のメンテナンスにより勝手にサーバーが再起動されます。

対策していないと管理者がマイクラサーバーを再度起動するまでの間、マイクラサーバーにアクセスできない時間が発生してしまい非常にロスです。

そのためVPSではサーバーを起動すると、自動的にマイクラサーバーのプログラムが起動するよう設定しておくべきでしょう。

マイクラサーバーを自動起動させる方法

作成はとても簡単で、定義ファイルを作ってそれをシステムに登録するのみです。

(本記事ではエディタに「nano」コマンドを用いますが、「emacs」や「vim」コマンドの方が慣れているユーザーであればそちらを使って下さい)

Unit定義ファイル(サービス)の作成

コンソールに入り、「minecraft-server.service」という定義ファイルを作成します。以下をコンソールに入力して下さい。

nano /etc/systemd/system/minecraft-server.service

エディタを開けましたら以下を入力して下さい。(Java版の場合、統合版やMODサーバーなどの場合は末尾情報に記載)

[Unit]
Description=Minecraft Server Service

[Service]
WorkingDirectory=/opt/minecraft_server
Type=forking
User=root
Restart=on-failure
ExecStart=/usr/bin/screen -dms minecraft /usr/bin/java -Xms1G -Xmx1G -jar /opt/minecraft_server/server.jar --nogui
ExecStop=/usr/bin/screen -S minecraft -X stuff stop"\015"

[Install]
WantedBy=multi-user.target

  • 】配置しているディレクトリが違う場合は合わせて下さい。
  • 】管理ユーザー名を「root」としていますが、異なる管理者名にしている場合(ubuntuなど)は、オレンジ色の部分を変更して下さい。
  • 】2Gプランで1GBメモリほど使える場合のメモリ指定です。例えば4GBプランなら「-Xms3G -Xmx3G」など、値を変更して下さい。

なお起動処理の部分では各種起動オプションが使えます。詳しくは「【マイクラサーバー】メモリ指定などの起動オプションと使い方」にて。

編集が終わったら「Ctrl + x」キーで終了しますと、「Save modified buffre?(セーブしますか?)」を聞いてきますので、「Y」キーにて保存実行します。

マイクラサーバー 自動起動サービスの作成その1

保存を選ぶとファイル名を設定できますが、そのまま「Enter」キーで保存します。

マイクラサーバー 自動起動サービスの作成その2

サービスの登録

作成した定義ファイルをシステムに登録して、起動時に実行するようにします。以下をコンソールに入力して下さい。

sudo systemctl enable minecraft-server.service

これで終了です。

再起動して確認

ちゃんと動くか確認してみましょう。サーバー本体を再起動して下さい。

再起動したらコンソールに入って以下を入力して下さい。(バックグラウンドプログラムの確認)

screen -r

マイクラサーバー screenによるバックグラウンドで動いているマイクラサーバー

こんな感じで自動的にバックグラウンドで起動している様子が確認出来ました!

終了させたい場合は「stop」コマンドを入力すれば、マイクラサーバーが終了し元のコンソールに戻ります。

よくある質問

やってみたのですが出来ません・・・。

まずはスペルミスがないか確認して下さい。

作成する「minecraft-server.service」はスペルが1文字でも違うと動きませんので、まずはそこが間違ってないか、抜けてないかを確認します。

次に作成したサービスがちゃんと登録してるか確認します。以下をコンソールに入力して下さい。

systemctl list-unit-files --type=service | grep minecraft-server.service

マイクラサーバー 自動起動プログラムがシステムに登録されているかチェック

ちゃんと「minecraft-server.service」が表示され、両方とも「enable」になっている確認します。

そうでない場合はちゃんと登録されていませんので、ファイル名が間違ってないか等を確認して再度登録してみて下さい

完全にお手上げ状態であれば、自動起動プログラムがあらかじめ用意されてる『Xserver VPS for Game』などのレンタルサーバーを使ったほうが良いと思います。

関連 【最良!】Xserver VPS for Gameで簡単マインクラフトサーバー作成

MODサーバーの場合はどうすればいいですか?

作成するサービスの一部処理を変えて下さい。

MODサーバー(forge)の場合は、作成するサービスを以下にして下さい。

[Unit]
Description=Minecraft Forge Server Service

[Service]
WorkingDirectory=/opt/forge_server
Type=forking
User=root
Restart=on-failure
ExecStart=/usr/bin/screen -dms minecraft /bin/bash /opt/forge_server/run.sh
ExecStop=/usr/bin/screen -S minecraft -X stuff stop"\015"

[Install]
WantedBy=multi-user.target

通常マインクラフトから変わったのはオレンジ色の部分です。あとディレクトリも「/opt/forge_server」で想定しているので、ディレクトリ位置やフォルダ名が違う場合は合わせて下さい。

あと「user_jvm_args.txt」でメモリ量を正しく指定しないとヒープエラーが出ますので、必ずそちらを設定するようにして下さい。

プラグインサーバーの場合はどうすればいいですか?

作成するサービスの一部処理を変えて下さい。

プラグインサーバーの場合は、普通のマインクラフトサーバーと同じく「jarファイル」なのでほとんど同じです。一例としては以下の通り。(PaperMC)

[Unit]
Description=Minecraft PaperMC Server Service

[Service]
WorkingDirectory=/opt/paper_server
Type=forking
User=root
Restart=on-failure
ExecStart=/usr/bin/screen -dms minecraft /usr/bin/java -Xms1G -Xmx1G -jar /opt/paper_server/paper-1.20.2-246.jar --nogui
ExecStop=/usr/bin/screen -S minecraft -X stuff stop"\015"

[Install]
WantedBy=multi-user.target

実行ファイル名が変わるだけですね。(あとディレクトリ名違うならディレクトリ名も)

PaperMCだとファイル名にバージョンも表記されるのでそこがちょっとネック。面倒だったら元のファイル名を「paper.jar」とシンプルに変えても良いと思います。

統合版サーバーの場合はどうすればいいですか?

作成するサービスの一部処理を変えて下さい。

統合版マイクラサーバーの場合は、作成するサービスを以下にして下さい。

[Unit]
Description=Minecraft BE Server Service

[Service]
WorkingDirectory=/opt/minecraft_server
Type=forking
User=root
Restart=on-failure
ExecStart=/usr/bin/screen -dms minecraft /opt/minecraft_server/bedrock_server
ExecStop=/usr/bin/screen -S minecraft -X stuff stop"\015"

[Install]
WantedBy=multi-user.target

Java版マインクラフトから変わったのはオレンジ色の部分で、実行コードは非常にシンプルになります。

シェアしてね!

こちらもオススメ