毎度一馬力です。Minecraft PEも Realmsが追加になって
すっかりPocketMineMPの出番もなくなってしまいました。
そんな中でも,PocketMineMPの記事を探してこの
BLOGを見てくれるユーザーが一定数いるようなので,ログの意味で記事投稿しておきます。
バージョン等古い部分はご了承下さい
※画像はMinecraft PEです。
という事で,今回はPocketMineMPをバックグランド動かす方法です。
PocketMineMPをlinuxで起動させると,shellの中で動くため
ログオフするとサーバーも停止してしまいます。
今回はscreenコマンドを利用する事により
バックグランドプロセスとしてPocketMineMPを起動して
shellからログオフしても停止しない状態を作ります。
- 通常の起動方法
shell -> PocketMineMP :ログオフすると停止する
- 通常の起動方法
shell -> PocketMineMP :ログオフすると停止する
目次
screenのインストール
まずはscreenのインストールから始めます。
インストールはyumコマンドで”yum install screen”を実行して下さい
[root@PocketMineMP ~]# [root@PocketMineMP ~]# yum install screen 読み込んだプラグイン:fastestmirror, priorities base | 3.6 kB 00:00 elrepo | 2.9 kB 00:00 epel/x86_64/metalink | 4.6 kB 00:00 epel | 4.3 kB 00:00 extras | 3.4 kB 00:00 mysql-connectors-community | 2.5 kB 00:00 mysql-tools-community | 2.5 kB 00:00 mysql56-community | 2.5 kB 00:00 remi-safe | 2.9 kB 00:00 rpmforge | 1.9 kB 00:00 updates | 3.4 kB 00:00 (1/7): mysql56-community/x86_64/primary_db | 122 kB 00:00 (2/7): extras/7/x86_64/primary_db | 117 kB 00:00 (3/7): epel/x86_64/updateinfo | 529 kB 00:00 (4/7): epel/x86_64/primary_db | 4.0 MB 00:00 (5/7): updates/7/x86_64/primary_db | 4.1 MB 00:00 (6/7): remi-safe/primary_db | 380 kB 00:00 (7/7): elrepo/primary_db | 338 kB 00:01 Loading mirror speeds from cached hostfile * elrepo: ftp.ne.jp * epel: ftp.iij.ad.jp * remi-safe: remi.kazukioishi.net * rpmforge: ftp.riken.jp 155 packages excluded due to repository priority protections 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ screen.x86_64 0:4.1.0-0.23.20120314git3c2946.el7_2 を インストール --> 依存性解決を終了しました。 依存性を解決しました ================================================================================ Package アーキテクチャー バージョン リポジトリー 容量 ================================================================================ インストール中: screen x86_64 4.1.0-0.23.20120314git3c2946.el7_2 updates 552 k トランザクションの要約 ================================================================================ インストール 1 パッケージ 総ダウンロード容量: 552 k インストール容量: 914 k Is this ok [y/d/N]: y Downloading packages: screen-4.1.0-0.23.20120314git3c2946.el7_2.x86_64.rpm | 552 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction インストール中 : screen-4.1.0-0.23.20120314git3c2946.el7_2.x86_64 1/1 検証中 : screen-4.1.0-0.23.20120314git3c2946.el7_2.x86_64 1/1 インストール: screen.x86_64 0:4.1.0-0.23.20120314git3c2946.el7_2 完了しました! [root@PocketMineMP ~]#
バックグラドで起動
インストール完了したので早速起動です。 コマンドは
bash-4.2$ screen -dmS PocketMineMP ~/start.sh
オプションの意味は
- -d -m : screen を "detached" モードで起動する。
- -S セッション名 : 起動したセッションに名前をつけておきます。
です。詳しくはmanページ等で確認して下さい。
https://linuxjm.osdn.jp/html/GNU_screen/man1/screen.1.html
bash-4.2$ screen -dmS PocketMineMP ./start.sh bash-4.2$ bash-4.2$ tail server.log 2016-04-21 [07:10:24] [Server thread/INFO]: Opening server on 0.0.0.0:19132 2016-04-21 [07:10:24] [Server thread/INFO]: This server is running PocketMine-MP version 1.6dev-23 "[REDACTED]" (API 2.0.0) 2016-04-21 [07:10:24] [Server thread/INFO]: PocketMine-MP is distributed under the LGPL License 2016-04-21 [07:10:25] [Server thread/INFO]: Loading recipes... 2016-04-21 [07:10:26] [Server thread/INFO]: Preparing level "world" 2016-04-21 [07:10:26] [Server thread/INFO]: Starting GS4 status listener 2016-04-21 [07:10:26] [Server thread/INFO]: Setting query port to 19132 2016-04-21 [07:10:26] [Server thread/INFO]: Query running on 0.0.0.0:19132 2016-04-21 [07:10:26] [Server thread/INFO]: Default game type: Creative Mode 2016-04-21 [07:10:26] [Server thread/INFO]: Done (1.818s)! For help, type "help" or "?" bash-4.2$
バックグランドで起動したセッションをアタッチする
バックグランドで起動した後,操作の必要がある時などはアタッチして
セッションをフォアグラウンドに戻すことも可能です。
再度,セッションをデタッチする場合は
”ctrl を押しながら、A→D”
で復帰できます。
bash-4.2$ screen -r [07:10:24] [Server thread/WARNING]: Non-packaged PocketMine-MP installation detected, do not use on production. [07:10:24] [Server thread/INFO]: Loading pocketmine.yml... [07:10:24] [Server thread/INFO]: Loading server properties... [07:10:24] [Server thread/INFO]: Selected English (eng) as the base language [07:10:24] [Server thread/INFO]: Starting Minecraft: PE server version v0.14.1.0 alpha [07:10:24] [Server thread/INFO]: Opening server on 0.0.0.0:19132 [07:10:24] [Server thread/INFO]: This server is running PocketMine-MP version 1.6dev-23 "[REDACTED]" (API 2.0.0) [07:10:24] [Server thread/INFO]: PocketMine-MP is distributed under the LGPL License [07:10:25] [Server thread/INFO]: Loading recipes... [07:10:26] [Server thread/INFO]: Preparing level "world" [07:10:26] [Server thread/INFO]: Starting GS4 status listener [07:10:26] [Server thread/INFO]: Setting query port to 19132 [07:10:26] [Server thread/INFO]: Query running on 0.0.0.0:19132 [07:10:26] [Server thread/INFO]: Default game type: Creative Mode [07:10:26] [Server thread/INFO]: Done (1.818s)! For help, type "help" or "?" ★”ctrl を押しながら、A→D”★ [detached from 22606.PocketMineMP]
バックグランド起動の確認
色々なパターンで,バックグランド起動が出来ている事を確認します。
screenコマンドで起動後
screenコマンドでバックグランド起動した直後
bash-4.2$ ps -ef|grep start.sh mine 22606 1 0 16:10 ? 00:00:00 SCREEN -dmS PocketMineMP ./start.sh
バックグランドで起動できています。
screenコマンドを実行したユーザーががログオフ(exit)後
まずは,exitで抜けて
bash-4.2$ exit exit
別ユーザ(今回はroot)で確認すると
[root@PocketMineMP ~]# netstat -anp|grep bash-4.2$ [root@PocketMineMP ~]# [root@PocketMineMP ~]# netstat -anp|grep 19132 udp 0 0 0.0.0.0:19132 0.0.0.0:* 22607/PocketMine-MP [root@PocketMineMP ~]# ps -ef|grep start.sh mine 22606 1 0 16:10 ? 00:00:00 SCREEN -dmS PocketMineMP ./start.sh root 22661 22380 0 16:15 pts/0 00:00:00 grep --color=auto start.sh
正常に起動していますね^^
これでPocketMineMPを起動した後,ログオフしてもOKです。
参考資料
- Minecraft PE マルチユーザサーバ[PocketMine-MP]をPCにセットアップする方法
http://dorodorodoroid.hatenablog.com/entry/2015/02/03/083148
試した環境
Minecraft PE用マルチプレイサーバー
PocketMine-MP version 1.6dev-23
OS
[root@PocketMineMP ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@PocketMineMP ~]# uname -a Linux PocketMineMP 3.10.0-327.10.1.el7.x86_64 #1 SMP Tue Feb 16 17:03:50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux