Kanade Labo

かなで研究所

Minecraftマルチサーバ作成 Part8(統合版サーバ起動編)

こんにちは かなで です。

Minecraftサーバを立てるべく、前回はMinecraft統合版マルチサーバのインストールまで行いました。

今回は、待ちに待った?「Minecraftサーバ」を起動したいと思います。

前回の続きで、Teraterm画面から。

cd /home/opc/minecraft-bedrock-server

一応サーバがあるディレクトリへ移動しておきます。

次に「netstat -anu | grep 19132」を打ちます。

[root /home/opc/minecraft-bedrock-server]#netstat -anu | grep 19132
[root /home/opc/minecraft-bedrock-server]#

はい。何も表示されませんね。

これは「UDPの19132番ポートで待ち受けしてる状態かどうかを確認」するコマンドです。

何も表示されていないという事は、待ち受けしていないという事ですね。

マインクラフトサーバが正常に起動したら、ここになんらかの表示がされるはずですので、その比較として打っておきましょう。

こちらも比較用に打っておきます。

ps -aefl | grep bedrock_server | grep -v grep

[root /home/opc]#ps -aefl | grep bedrock_server | grep -v grep
[root /home/opc]#

こちらも何も表示されていませんね。こちらは今から起動させるMinecraftサーバが起動しているかどうかがわかるコマンドになります。

次に以下のコマンドを打ちます。

「LD_LIBRARY_PATH=. ./bedrock_server」

うまくいけば、これだけで起動するようです。

が!

[root /home/opc/minecraft-bedrock-server]#LD_LIBRARY_PATH=. ./bedrock_server
./bedrock_server: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory
[root /home/opc/minecraft-bedrock-server]#

私は、うまくいきませんでした。

このメッセージが出てきたら、「libnsl」をインストールすればいいようです。

dnf install libnsl

[root /home/opc/minecraft-bedrock-server]#dnf install libnsl
Last metadata expiration check: 2:04:00 ago on Sat 05 Mar 2022 10:50:49 AM GMT.
Dependencies resolved.
=====================================================================================================================================================
 Package                               Architecture               Version                                Repository                             Size
=====================================================================================================================================================
Installing:
 libnsl                                x86_64                     2.28-164.0.4.el8                       ol8_baseos_latest                     104 k
Upgrading:
 glibc                                 x86_64                     2.28-164.0.4.el8                       ol8_baseos_latest                     3.6 M
 glibc-common                          x86_64                     2.28-164.0.4.el8                       ol8_baseos_latest                     1.3 M
 glibc-devel                           x86_64                     2.28-164.0.4.el8                       ol8_baseos_latest                     1.0 M
 glibc-headers                         x86_64                     2.28-164.0.4.el8                       ol8_baseos_latest                     481 k
 glibc-langpack-en                     x86_64                     2.28-164.0.4.el8                       ol8_baseos_latest                     829 k

Transaction Summary
=====================================================================================================================================================
Install  1 Package
Upgrade  5 Packages

Total download size: 7.3 M
Is this ok [y/N]:

7.3M分ダウンロード&インストールするけどOK?という選択肢が出てくるので、「y」を押して進めます。

Is this ok [y/N]: y
Downloading Packages:
(1/6): libnsl-2.28-164.0.4.el8.x86_64.rpm                                                                            968 kB/s | 104 kB     00:00
(2/6): glibc-common-2.28-164.0.4.el8.x86_64.rpm                                                                      8.5 MB/s | 1.3 MB     00:00
(3/6): glibc-headers-2.28-164.0.4.el8.x86_64.rpm                                                                     6.3 MB/s | 481 kB     00:00
(4/6): glibc-devel-2.28-164.0.4.el8.x86_64.rpm                                                                       5.8 MB/s | 1.0 MB     00:00
(5/6): glibc-2.28-164.0.4.el8.x86_64.rpm                                                                             9.9 MB/s | 3.6 MB     00:00
(6/6): glibc-langpack-en-2.28-164.0.4.el8.x86_64.rpm                                                                 5.3 MB/s | 829 kB     00:00
-----------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                 19 MB/s | 7.3 MB     00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                             1/1
  Upgrading        : glibc-common-2.28-164.0.4.el8.x86_64                                                                                       1/11
  Upgrading        : glibc-langpack-en-2.28-164.0.4.el8.x86_64                                                                                  2/11
  Running scriptlet: glibc-2.28-164.0.4.el8.x86_64                                                                                              3/11
  Upgrading        : glibc-2.28-164.0.4.el8.x86_64                                                                                              3/11
  Running scriptlet: glibc-2.28-164.0.4.el8.x86_64                                                                                              3/11
  Running scriptlet: glibc-headers-2.28-164.0.4.el8.x86_64                                                                                      4/11
  Upgrading        : glibc-headers-2.28-164.0.4.el8.x86_64                                                                                      4/11
  Upgrading        : glibc-devel-2.28-164.0.4.el8.x86_64                                                                                        5/11
  Running scriptlet: glibc-devel-2.28-164.0.4.el8.x86_64                                                                                        5/11
  Installing       : libnsl-2.28-164.0.4.el8.x86_64                                                                                             6/11
  Running scriptlet: glibc-devel-2.28-164.0.1.el8.x86_64                                                                                        7/11
  Cleanup          : glibc-devel-2.28-164.0.1.el8.x86_64                                                                                        7/11
  Cleanup          : glibc-headers-2.28-164.0.1.el8.x86_64                                                                                      8/11
  Cleanup          : glibc-2.28-164.0.1.el8.x86_64                                                                                              9/11
  Cleanup          : glibc-langpack-en-2.28-164.0.1.el8.x86_64                                                                                 10/11
  Cleanup          : glibc-common-2.28-164.0.1.el8.x86_64                                                                                      11/11
  Running scriptlet: glibc-common-2.28-164.0.1.el8.x86_64                                                                                      11/11
  Running scriptlet: glibc-common-2.28-164.0.4.el8.x86_64                                                                                      11/11
  Verifying        : libnsl-2.28-164.0.4.el8.x86_64                                                                                             1/11
  Verifying        : glibc-2.28-164.0.4.el8.x86_64                                                                                              2/11
  Verifying        : glibc-2.28-164.0.1.el8.x86_64                                                                                              3/11
  Verifying        : glibc-common-2.28-164.0.4.el8.x86_64                                                                                       4/11
  Verifying        : glibc-common-2.28-164.0.1.el8.x86_64                                                                                       5/11
  Verifying        : glibc-devel-2.28-164.0.4.el8.x86_64                                                                                        6/11
  Verifying        : glibc-devel-2.28-164.0.1.el8.x86_64                                                                                        7/11
  Verifying        : glibc-headers-2.28-164.0.4.el8.x86_64                                                                                      8/11
  Verifying        : glibc-headers-2.28-164.0.1.el8.x86_64                                                                                      9/11
  Verifying        : glibc-langpack-en-2.28-164.0.4.el8.x86_64                                                                                 10/11
  Verifying        : glibc-langpack-en-2.28-164.0.1.el8.x86_64                                                                                 11/11

Upgraded:
  glibc-2.28-164.0.4.el8.x86_64                   glibc-common-2.28-164.0.4.el8.x86_64                glibc-devel-2.28-164.0.4.el8.x86_64
  glibc-headers-2.28-164.0.4.el8.x86_64           glibc-langpack-en-2.28-164.0.4.el8.x86_64
Installed:
  libnsl-2.28-164.0.4.el8.x86_64

Complete!
[root /home/opc/minecraft-bedrock-server]#

ガチャガチャとダウンロード&インストールが実施され、最後に「Complete!」と表示されればOKです。

再度「LD_LIBRARY_PATH=. ./bedrock_server」を実行してみましょう。

[root /home/opc/minecraft-bedrock-server]#LD_LIBRARY_PATH=. ./bedrock_server
NO LOG FILE! - setting up server logging...
[2022-03-05 12:58:21:750 INFO] Starting Server
[2022-03-05 12:58:21:750 INFO] Version 1.18.12.01
[2022-03-05 12:58:21:750 INFO] Session ID *****
[2022-03-05 12:58:21:753 INFO] Level Name: Bedrock level
[2022-03-05 12:58:21:758 INFO] Game mode: 0 Survival
[2022-03-05 12:58:21:759 INFO] Difficulty: 1 EASY
[2022-03-05 12:58:21:033 INFO] opening worlds/Bedrock level/db
[2022-03-05 12:58:24:339 INFO] IPv4 supported, port: 19132
[2022-03-05 12:58:24:339 INFO] IPv6 supported, port: 19133
[2022-03-05 12:58:25:306 INFO] Server started.
[2022-03-05 12:58:25:347 INFO] IPv4 supported, port: 56987
[2022-03-05 12:58:25:347 INFO] IPv6 supported, port: 50675

おぉ!?

なにやら出てきました。

このように出てくれば、Minecraftサーバが起動しているという事らしいです!

よくわかりませんが、統合版(Bedrock)で…サバイバルで…イージーで…ポート19132を使ってて…という感じなのがわかります。

これは「Ctrl+C」で、強制終了させるまで稼働し続けるので、

このTeraterm画面は残しておいて、一旦新しくTeratermでログインし直します。

で、こちらで改めて「netstat -anu | grep 19132」を打ってみると…

[root /home/opc]#netstat -anu | grep 19132
udp 0 0 0.0.0.0:19132 0.0.0.0:*
[root /home/opc]#

1行だけ出てきましたね。

ゼロがたくさんありますが、簡単にいうと、19132番ポートで、UDPのアクセスを待ってるよ。全世界から。

となります。

そして、その通信は、Minecraftサーバが受け付けて処理をしてくれると。

では続けてこちらも確認します

ps -aefl | grep bedrock_server | grep -v grep

[root /home/opc]#ps -aefl | grep bedrock_server | grep -v grep
4 S root      925827  910532  5  80   0 - 242816 hrtime 13:07 pts/1   00:00:01 ./bedrock_server
[root /home/opc]#

なにか表示されましたね。「表示される=起動している」とだけわかっていればOKです。

これで無事起動完了!ではあるのですが、

このままパソコンを閉じると、Teratermから仮想マシンへのアクセスが切れてしまって

そうなると、Minecraftサーバも落ちてしまうんですよね…

なので、そうならないように、一工夫入れたいと思います。

まずは、今稼働しているMinecraftサーバを落とします。

pkill bedrock_server

[root /home/opc]#pkill bedrock_server
[root /home/opc]#

これが落とすコマンドです。

結果は何も表示されていませんよね。

では、Minecraftサーバを起動していた方のTeratermを見てみましょう。

はい。「Terminated」と表示され、プロンプトが戻ってますよね。

Terminatedは終了した。という意味です。

先ほどの「pkill bedrock_server」を打ったことで、終了したのです。

ここまで確認出来たら、今度は以下のコマンドで、起動してみます。

LD_LIBRARY_PATH=. nohup ./bedrock_server >> ./bedrock_server.log 2>&1 &

今度は1行だけ表示されて、すぐにプロンプトが出てきました。

落ちたのか?いいえ違います。

このコマンドだと、起動したものがTeratermの画面上から切り離されて、仮想マシン上で生き続けるという動作になります。

つまり、Teratermを終了しても、Windowsを終了しても、Minecraftサーバが起動し続けるという事になります。

実際に起動しているか、再度確認してみましょう。

netstat -anu | grep 19132
ps -aefl | grep bedrock_server | grep -v grep

[root /home/opc/minecraft-bedrock-server]#netstat -anu | grep 19132
udp        0      0 0.0.0.0:19132           0.0.0.0:*
[root /home/opc/minecraft-bedrock-server]#ps -aefl | grep bedrock_server | grep -v grep
4 R root      937929  910532  1  80   0 - 226432 -     14:04 pts/1    00:00:02 ./bedrock_server
[root /home/opc/minecraft-bedrock-server]#

無事起動できているようです。

この後、Teratermを終了し、再度ログインし直しましたが、起動しっぱなしであることが確認できました。

マイクラサーバ起動完了!!!

次回は…Nintendo Switch側からアクセスを試みます。

最後までお読みいただきありがとうございました。
気になることがあったら、コメント頂けると嬉しいです。
自主学習も兼ねて記事にするかもしれません。

-Minecraft, 統合版マルチ