server-memo.net

minecraft_server停止方法

   

minecraft_server(マイクラのマルチサーバ)の停止方法です。

minecraft_serverの停止方法

linux上で動作している「minecraft_server」を停止させる方法には、以下の2通りの方法があります。

  • サーバコンソールから停止
  • minecraftクライアントから停止

今回はそれぞれの手順について説明をしていきます。

サーバコンソールから停止

「minecraft_server」が動作しているコンソールから「stop」と入力することで、サーバを停止させることが出来ます。

[16:13:40] [Server thread/INFO]: tamohiko joined the game
[16:15:31] [Server thread/INFO]: tamohiko has just earned the achievement [Benchmarking]
[16:16:04] [Server thread/INFO]: tamohiko has just earned the achievement [Time to Mine!]
[16:19:01] [Server thread/INFO]: tamohiko has just earned the achievement [Hot Topic]
stop   <--「stop」と入力
[16:23:06] [Server thread/INFO]: Stopping the server
[16:23:06] [Server thread/INFO]: Stopping server
[16:23:06] [Server thread/INFO]: Saving players
[16:23:06] [Server thread/INFO]: Saving worlds
[16:23:06] [Server thread/INFO]: Saving chunks for level 'world'/Overworld
[16:23:06] [Server thread/INFO]: Saving chunks for level 'world'/Nether
[16:23:06] [Server thread/INFO]: Saving chunks for level 'world'/The End
[16:23:06] [Server Shutdown Thread/INFO]: Stopping server
[16:23:06] [Server Shutdown Thread/INFO]: Saving players
[16:23:06] [Server Shutdown Thread/INFO]: tamohiko lost connection: TextComponent{text='Server closed', siblings=[], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}
[16:23:06] [Server Shutdown Thread/INFO]: tamohikoえ left the game
[16:23:06] [Server Shutdown Thread/INFO]: Saving worlds
[16:23:06] [Server Shutdown Thread/INFO]: Saving chunks for level 'world'/Overworld

screenを使用している場合

私のサイトの手順で構築している場合は、「screen」を使用して「minecraft_server」を動作させているはずです。

この場合は、まず「minecraft_server」が動作している「screen」のセッション(仮想端末)に接続(Atache)してから、stopコマンドを入力する必要があります。

screenのセッション表示

minecraft実行ユーザで「screen -ls 」コマンドを実行すること、現在のセッション一覧を表示することが出来ます。

$ screen -ls

There is a screen on:
        1340.minecraft  (Detached)
1 Socket in /var/run/screen/S-minecraft.

上記の場合「1340.minecraft」という、現在接続されていない(Detache)セッションがあることが表示されています。

「1340」の部分がPIDで、「minecraft」の部分がセッションを作成する際に指定した名前となります。

セッションに接続(Atache)

セッションに接続することをアタッチ(Atache)といい、アタッチするコマンドは下記の通りとなります。

screen -r [PID]

先ほど「screen -ls」コマンドで表示させた、「1340.minecraft」にアタッチする場合は下記のようにコマンドを実行することで、アタッチすることができます。

$ screen -r 1340

minecraft_serverの停止

アタッチすると、「minecraft_server」が動作しているscreen(仮想端末)が表示されるので、そこで「stop」コマンドを実行することで、「minecraft_server」を停止することができます。

$ screen -r 1340
[21:33:11] [Server thread/INFO]: Preparing spawn area: 4%
[21:33:12] [Server thread/INFO]: Preparing spawn area: 54%
[21:33:13] [Server thread/INFO]: Done (3.206s)! For help, type "help" or "?"
stop <--「stop」と入力
[21:33:16] [Server thread/INFO]: Stopping the server
[21:33:16] [Server thread/INFO]: Stopping server
[21:33:16] [Server thread/INFO]: Saving players
[21:33:16] [Server thread/INFO]: Saving worlds
[21:33:16] [Server thread/INFO]: Saving chunks for level 'world'/Overworld
[21:33:17] [Server thread/INFO]: Saving chunks for level 'world'/Nether
[21:33:17] [Server thread/INFO]: Saving chunks for level 'world'/The End
[21:33:17] [Server Shutdown Thread/INFO]: Stopping server
[21:33:17] [Server Shutdown Thread/INFO]: Saving players
[21:33:17] [Server Shutdown Thread/INFO]: Saving worlds
[21:33:17] [Server Shutdown Thread/INFO]: Saving chunks for level 'world'/Overworld

[screen is terminating]

screenの状態確認

正常に「minecraft_server」が停止されると、起動時に作成した「screen」の仮想端末も終了し、「screen -ls」コマンドで表示される一覧からなくなっていることが確認できます。

$ screen -ls
No Sockets found in /var/run/screen/S-minecraft.

ゲームクライアントからの停止方法

マイクラのゲームクライアントから「minecraft_server」を停止させるには、オペレータ権限をもったユーザで「/stop」と入力することでサーバを停止することができます。

ユーザにオペレータ権限を与える方はこちらのページにまとめてあります。

minecraft_stop

この方法で「minecraft_server」を停止した場合、ゲームクライアントからは起動する方法がないので、サーバにSSH等で直接ログインして起動させる必要があるので注意してください。

 - 運用