突如としてマインクラフトをしたくなる
突然にマインクラフトをしたくなった。理由はいらないのさ。
ハマり始めた人と一緒にやることになったのだが、ワールドを共有しかつ同時にオンラインするには以下の方法がある。
- Realmsにサブスクライブして400or900円/月(適当)で遊ぶ
- あんま金払いたくない。解約めんどくさそう。あんま回線良くなさそう。
- 同じWifiネットワークに接続して遊ぶ
- 使っているワールドをコピーしてローカルでごちゃごちゃすればまぁ仮想的に同時にワールドを編集することになるけどめんどくさい。ワールドで遊んでたらバッタリ会うみたいなワクワクがないのでナシ。
- 自分でサーバを立てる
- 一番めんどくさそう。でもマイクラもインフラにも触れるから楽しいことになりそう。
自分でサーバを立てることにする
そろそろ個人で真面目にサービスを作りたかったので、インフラの勉強がてら自分で立てることにした。
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";
コンパイルが終わったら、カレントディレクトリが以下のようになる。
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にするわ!ってなりました。
誰かのお役に立てたら幸いです。じゃ、ちょっくら木こりしてきます。