PocketMine-MPをConohaVPSで立てる(2019/10)

PocketMine-MPをConohaVPSで立てる(2019/10)

突如としてマインクラフトをしたくなる

突然にマインクラフトをしたくなった。理由はいらないのさ。 ハマり始めた人と一緒にやることになったのだが、ワールドを共有しかつ同時にオンラインするには以下の方法がある。

  1. Realms にサブスクライブして 400or900 円/月(適当)で遊ぶ
  2. あんま金払いたくない。解約めんどくさそう。あんま回線良くなさそう。
  3. 同じ Wifi ネットワークに接続して遊ぶ
  4. 使っているワールドをコピーしてローカルでごちゃごちゃすればまぁ仮想的に同時にワールドを編集することになるけどめんどくさい。ワールドで遊んでたらバッタリ会うみたいなワクワクがないのでナシ。
  5. 自分でサーバを立てる
  6. 一番めんどくさそう。でもマイクラもインフラにも触れるから楽しいことになりそう。

自分でサーバを立てることにする

そろそろ個人で真面目にサービスを作りたかったので、インフラの勉強がてら自分で立てることにした。 Conoha は使ったことがなかったが、ネットを見回した感じ一番マイクラのサーバになってそうで情報量が多そうだと判断したので Conoha をマイクラサーバとして選択した。 とりあえず以下の記事でサーバを立てる。自分はメモリ 1GB SSD50GB のプラン(最大 900 円?)でイメージは OS/CentOs を選んだ。 ConoHa でサクっと Web サーバーを作ろう ここからが長く、必要なミドルウェアを落として、PMMP のコードをコンパイルして。。などを繰り返すことになるが、なかなか上手くいかない。なんせ 4,5 年前の記事がほとんどで、前までは上手くいっていたんだろうなーみたいな記事がたくさんある。しかも自分は所詮アプリケーションエンジニアなのでデバッグしようにもキツイ。。 とりあえず、公式の手順も上手くいかないがこの手順に絞ってエラーを解決していこうと考えた。(この時点でだんだんと Realms が選択肢に。。しかも俺結局 900 円払うことになってるじゃん。。) このドキュメントにそって作るんだ!他は信頼しすぎるな! 公式

手順通りに実行

1. 一般ユーザを作成

とりあえず root ユーザはよろしくないし、今後の手順でも root ユーザは怒られるので一般ユーザを作成してログイン。

  • ユーザを追加 adduser takeru
  • takeruユーザのパスワード変更 passwd takeru
  • takeruを全権限をもつ Group(Wheel)に追加する。 sudo gpasswd -a takeru wheel
  • ユーザの切り替え su takeru
  • root ディレクトリに権限がないのでホームディレクトリに移動。 cd

2.wget -q -O - https://get.pmmp.io | bash -s -を実行

この時Please Install *** と出たら大人しくインストールする。 以下のように流せばおそらく必要なものは揃う。

sudo yum install -y make;
sudo yum install -y autoconf;
sudo yum install -y automake;
sudo yum install -y m4;
sudo yum install -y bison;
sudo yum install -y gcc-c++
sudo yum install -y git;
sudo yum install -y cmake;
sudo yum install -y libtool";

ミドルウェアが足りてないと ↓ スクリーンショット 2019-10-21 13.09.41.png

コンパイルが終わったら、カレントディレクトリが以下のようになる。 スクリーンショット 2019-10-21 13.28.43.png

3.php7 をインストール

  • tar をダウンロードする wget https://jenkins.pmmp.io/job/PHP-7.3-Aggregate/lastSuccessfulBuild/artifact/PHP-7.3-Linux-x86_64.tar.gz
  • tar を展開 tar xfz PHP-7.3-Linux-x86_64.tar.gz

成功すると~/bin/php7/binに php 関連のファイルができているので確認する。

4.実行してみる

  • ~/に戻る。
  • ./start.shを実行する。 すると./bin/php7/bin/php: error while loading shared libraries: libbz2.so.1.0: cannot open shared object file: No such file or directoryというメッセージが出て実行できない。 いろいろ検索してみるとこんなblogが見つかった。 くそ!ライブラリに不具合があったトラップか!と素直にsudo yum install -y bzip2-develする。 そのあとにsudo ln -s find /usr/lib64/ -type f -name"libbz2.so.1*" /usr/lib64/libbz2.so.1.0する。

5. 改めて実行してみる

ようやく ./start.sh で実行できるようになり初期設定のフローが始まる。

総括

10/21 現在。Realms で生活しています。 どうやら server.properties もロクに読み込まれていない(spwanMobs とか,シード値とかのプロパティが効いていない)っぽいし、何より情報が少なすぎてこんなんなら Realms にするわ!ってなりました。 誰かのお役に立てたら幸いです。じゃ、ちょっくら木こりしてきます。