起動・停止スクリプト

サーバの起動、停止、再起動をスクリプトで実行。

  • /minecraft/tool/start.sh
  • /minecraft/tool/stop.sh
  • /minecraft/tool/restart.sh

/minecraf/server/ にシンボリックリンクを作成します。

ln -s /minecraft/tool/start.sh /minecraft/server/start.sh
ln -s /minecraft/tool/stop.sh /minecraft/server/stop.sh
ln -s /minecraft/tool/restart.sh /minecraft/server/restart.sh

サーバコンソールは screen で動作しているので jobs で開くことが出来ます。

$ screen -ls
There is a screen on:
        4493.minecraft  (2024年09月19日 17時48分49秒)   (Detached)
1 Socket in /run/screen/S-minecraft.
  • screen -r minecraft でサーバコンソールにアクセス(screen 用語でのアタッチ)できます
  • screen から出るときは CTRL + A を押してから D キーです(screen 用語でのデタッチ)

start.sh stop.sh restart.sh は直接実行することでも動作しますが、以下の systemd の仕組みでコントロールします。

マインクラフトサーバの起動・停止

systemd を使用します。Linuxを利用している方には馴染みのある Apache や nginx と同じように systemctl コマンドで管理できるようにします。

systemdについては Arch Linuxのマニュアルが詳しい。

https://wiki.archlinux.jp/index.php/Systemd

2ファイルを用意。 /lib/systemd/system/ 以下にファイルを置きます。

  • /lib/systemd/system/minecraft-server.service - マインクラフトサーバの管理
  • /lib/systemd/system/minecraft-server.timer - マインクラフトサーバを定期的に再起動する処理を記述
// 起動
sudo systemctl start minecraft-server
// 停止
sudo systemctl stop minecraft-server
// 自動起動を有効
sudo systemctl enable minecraft-server
// 自動起動を無効
sudo systemctl enable minecraft-server

マインクラフトサーバをバックアップ

マインクラフトのデータをバックアップするサービス。

  • /lib/systemd/system/minecraft-backup.service - マインクラフトバックアップシステムの管理
  • /lib/systemd/system/minecraft-backup.timer - マインクラフトバックアップシステムのスケジュール管理
// 起動
sudo systemctl start minecraft-timer
// 停止
sudo systemctl stop minecraft-timer
// 自動起動を有効
sudo systemctl enable minecraft-timer
// 自動起動を無効
sudo systemctl enable minecraft-timer