【Ubuntu】MinecraftサーバーをScreenで立ち上げようとしたらすぐScreenを閉じてしまう話。
【Ubuntu】MinecraftサーバーをScreenで立ち上げようとしたらすぐScreenを閉じてしまう話。
おはこんばんちは、よすがです。
表題の通り、Minecraftマルチプレイサーバーの管理において、「start.sh」というシェルスクリプトを自前で用意し、それで「screen -S minecraft」など指定して立ち上げようとすると、すぐに[screen is terminated]など出て閉じてしまう問題についてざっくりメモ。
Ubuntu 18.04.3 LTS、Ubuntu Desktop環境です。
[screen is terminated]とは
「screen -S minecraft」などをシェルスクリプトに入れて起動しているので、本当はminecraftという名前の別ターミナル画面で起動する状態になるはず。
が、それが起動の途中で何らかの問題があってか、screenを閉じてしまう状態。
「screen -r minecraft」と打ってもそんなscreen無いよって言われる。
Syslogを見る
var/log/Syslogなどのログファイルをチェックすると、どうやらシェルスクリプトの実行中に何やらいろいろ見つからないファイルだかプロセスだかがいっぱいあるようです。
例えば「gnome-metadata」「…”××××” failed」などとか、Ubuntuに初期からインストールされていると思しきシステムファイルの破損が原因っぽい?
私の使用環境ではUbuntu Desktopで起動しており、それがたまにフリーズして、Ubuntuの右も左もよく分かってなかった頃に変な形でシャットダウンさせてしまったことがあったのが原因か、夏に大雨で一瞬停電した際にPCの電源が落ちてしまったのが原因か。
ともかく、いろんなプログラムを実行するのに参照されるファイルとかフォルダとかが欠損してしまい、参照できないのが問題っぽそう。
Ubuntuを再インストール
幸い、Minecraftサーバー程度にしか使用していないので、そのへんの大事なフォルダだけUSBメモリやGoogleドライブ等にコピーして、再度インストールすることに。
Ubuntu公式ページから同バージョンのISOファイルを再度ダウンロードしてきて、USBメモリにOSイメージを作ってサーバーPCへ。
無事インストールできたら、再度ScreenやJavaなどいろんなパッケージもインストールして、Minecraftサーバー関連のフォルダを戻す。
権限も解除されているので、「chmod 777 start.sh」などの設定も片っ端から行う。
IPアドレス固定も再度行うので、OS再インストール前にどんなIPで固定したのか事前にチェックしておくとスムーズ。
分からない場合は、自分の環境に合わせてルーター設定(うちはBuffaloなのでAirstation)にアクセスして確認できます。
無事解決
以上の作業で、再度サーバー起動のシェルスクリプトを実行したら、今度は無事にScreen立ち上げに成功しました。
今のところ、私の凡ミス以外のところでサーバーが不具合起こすこともありません。
もし不慮の事故などで電源が落ちてしまい、それ以降挙動がおかしくなった場合は、まずvar/log/Syslogあたりをよーく見てみるといいかもしれません。
あと、もしかしたらこんなクリーンインストール的なことしなくても、もっと手軽に現環境を消すことなく解決できるケースや手段があるかもしれないので、取り敢えず思い当たる文言を片っ端から検索してみること。
後付けのパッケージファイル破損とかなら、そのパッケージを再度「sudo apt-get install」とかすることで解決可能かもしれません。
破損していると思しきファイルがどのパッケージによってインストールされたのかも要チェックです。
それでは、また。