技術

Java版Minecraftのサーバプロセスをscreen無しでbackground動作させる

たまにやるMinecraftはおもしろい

chatagiriiiです。

毎年年越しながらに仲良し組でMinecraftをやるのが年末の定番化しています。
今年も例外無く機運が高まってるので、今のうちに復習をとちょこちょこやり始めました。

サーバが必要になるのでまたscreen中でサーバ上げて仮想的なbg動作かぁ~とか思ってたんですけど、良い感じの方法思いついたのでシフトしました。

今までのマイクラサーバの立ち上げかた

screenで仮想ターミナルを開き、その仮想スクリーンからデタッチすることで仮想ターミナルを生き続けさせることができます。
これによって仮装コンソールから抜けた後でもサーバプロセスが生き続けるわけですね。構築例
が、結局screenを動かしっぱなしにしないといけないので、

  • 再起動したい時にプロセス殺して回るのが面倒
  • screenの分の計算資源が勿体無い
  • そもそもscreen入れるのが手間

と、いろいろ面倒な事が多く感じてしまうのです。
ので、普通にMinecraft_Serverのプロセスをttyで上げ、ターミナルとプロセスを切り離す(disown)してbackgroundで生き続けさせましょう。

これからのマイクラサーバの立ち上げコマンド

かんたんです。まずはサーバのjarを落としてきてください。
あとは実行時に下の3行叩いてターミナルから抜けるだけ。 & はbackgroundに回すのに必要なので忘れずに。
Xmx, Xms, サーバjar のパス辺りはご自身の環境に書き換えてくださいね。

$ java -jar minecraft_server.jar -Xmx2G -Xms2G &
$ disown
$ logout

↑の3行を叩くだけで良いです。あとは後ろでプロセスが動いてるのでどうぞ。

-技術