先日、子供の科学2022年4月号を購入してきました。
普段はあまり購入しない方面なのですが、久しぶりに購入。気になった記事としてはMinecraft Pi(マインクラフトのRaspberry Piバージョン、以下MCPIと呼ぶことにします。)でもサバイバルモードが使えるという内容の記事があったからです、MCPIはクリエイティブモードしかできないため、一般に販売しているMinecraft(Java版や統合版)に比べてゲームというよりもクリエーション的な側面を持っていました。ただ、それだけではつまらないということもあるので、手をいれることでサバイバルモードにも対応することができるという話は聞いていましが、結構たいへんだという話も聞いていました。
そこで今回購入した大人の科学ではMCPIでサバイバルモードができるというような内容だったのでちょっと買ってみようかなと思ったのでした。サバイバルモードができるパッケージはminecraft-pi-rebornという名前になります。
面倒なことを排除したパッケージなので、比較的おすすめなのかも。
書籍・雑誌媒体の宿命
購入して内容をみるとdebパッケージがあるのでそれをdpkgコマンドでインストールする内容だったので、簡単じゃんと思っていたのですが、実際にサイトにいってみると…書面で示されているバージョン以降でMCPIのパッケージがdeb形式ではなくなっていました。
さすがにちょっとこれは厳しいというか、書いた方もここまで変わると思っていなかったんだろうなと思います。
パッケージ形態が変わるときは徐々に変わっていくのかなと思ってはいたのですが、ここまで急に変わると結構びっくりさせられます。書籍、雑誌といった媒体の記事はクラウドサービスとかなり相性が良くないですよね。更新時期を教えてもらえるわけでもないので、最新の情報を掲載しても発売した時期によって、陳腐化みための違いなどが発生し、下手をすると使用できない情報になっていることすらありえます。寄稿されたかたも気の毒です。サポートページがあるといいのでしょうか、それもどこまでメンテナンスするかも結構大変かと思います。
インストール手順が変更になったのでメモっておく
上記しましたが、MCPIでサバイバルモードを行うことができるようになったminecraft-pi-rebornはdeb形式のパッケージからAppImage形式というパッケージに変更されたようです。AppImageは自分も今回初めてみた形式でした。
AppImageとは?
AppImage形式のパッケージに関してどんなものかを調べてみると…Wikipediaにありました。
AppImage is a format for distributing portable software on Linux without needing superuser permissions to install the application.[1] It tries also to allow Linux distribution-agnostic binary software deployment for application developers,[2] also called upstream packaging. Released first in 2004 under the name klik, it was continuously developed, then renamed in 2011 to PortableLinuxApps and later in 2013 to AppImage.(Wikipediaより)
要約すると
「AppImageはスーパーユーザー権限を必要としないアプリケーションの配布するためのフォーマットで、 Linuxディストリビューションに依存しないバイナリの配布をできるように目指したもの」とのことでした。
ディストリビューションごとのライブラリ依存に合わせるのは大変なので、この思想はいいですね。
公式ページは以下になります。
AppImageパッケージのインストール(導入)のやり方
ではAppImage形式のパッケージのバイナリはどのようにインストールするかというと。インストール作業は不要で、ダウンロードされたバイナリ(拡張子AppImage)に実行権限を与えて、実行するだけでアプリケーションを動作させる事ができます。
例えば、Subsurface*.AppImageという名前のバイナリパッケージがあった場合には以下の様に実行権限を与えて、そのまま実行すれば動作します。
$ chmod a+x Subsurface*.AppImage
$ ./Subsurface*.AppImage
インストールという作業がなく直感的かもしれません。(実行権限を付与操作の部分もラッピングされるともってお手軽なんですけど)
minecraft-pi-rebornをインストール
AppImageについてはおおよそ理解できたので、では早速実行できるように作業をしていきましょう。
インストール方法は以下のページを参照してもらうことになるかと思いますが、前述したとおり、基本的にはパッケージをダウンロードして実行権限を与えることになります。
インストールドキュメント github.com
ドキュメントの冒頭にあるダウンロードページへのリンクをたどると、最新のビルドパッケージに遷移します。 ここから以下のような形式のファイルとダウンロードします。※2022/03/20現在の情報
minecraft-pi-reborn-client-2.3.1-armhf.AppImage
数字がバージョン(上記の場合は2.3.1)、armhfがCPUのアーキテクチャになります。
(注意)RaspberryPiのアーキテクチャはarmhfとなっているものを選択してダウンロードしてください。

Raspberry Piのブラウザなどでダウンロードして、保存場所を決めておきましょう。今回の作業はインストールではないため、動作させるユーザで操作できるパスであればどこでも大丈夫です。今回はブラウザなどのデフォルトの保存先である、~/Downloadにしました。
CLIであれば、chmodコマンドを使用しますが、今回はGUI(XWindow)を使用して実行権限を与えてみます。
ファイルが保存されているパスをウインドウで開き、

マウスの右ボタンをクリックして、

プロパティを開きます。

【File Properties】ダイアログが表示されるので、

【Permissions】タブをクリックして、【Access Control】の【Excecute(実行権限)】のプルダウンボックスをクリックして

【Nobody】から【Anyone】に変更して

【OK】ボタンをクリックします。

これでパッケージを動作させる事ができるようになりました。
パッケージの実行
ここまできたら、あとはパッケージファイルをダブルクリックをするだけで動作できます。
MCPI Rebornは実行時に設定を訪ねてくるので、それに答えて操作を勧めていくと無事にMCPIが起動します。あとは一般的なMinecraftと同じ操作ですが、ちゃんとSurvivalモードの選択もできるようになっています。
実行確認のダイアログが表示されたら【Execute】ボタンをクリックしていきます。

有効化する機能の選択がでるので、必要な物があれば…チェックをつけて

レンダリングの範囲(奥行き)を設定後

ユーザー名を入力すると

Minecraft Piが無事に起動しました。あとは通常通り操作していきますが、【Start Game】をクリックして

【Create new】ボタンをクリックすると

【クリエイティブモード】と【サバイバルモード】の選択ボタンが表示されます。

モードの選択でワールドの作成が行われて

無事にサバイバルモードが開始されました。

おわりに
今回はdeb形式で配布されていたMCPI Rebornがパッケージ形式が変更となりAppImage形式に変更され、
その対応について書いてみました。今回はパッケージ形式が初めてみた形式だったのでかなり焦ってしまいましたが、
作業的にはスーパーユーザ権限も不要で、ごく一般的な基本的な操作で実行できるようになるというのが非常にいいなと感じました。WindowsでもPortableアプリ形式といった管理権限不要のアプリ配布の形態もあるので、こちらも同じものだと思って問題ないかと思います。Linuxでもこのような動きがあるとは知りませんでした。
個人的にはディストリビューションごとのライブラリのバージョンの依存性の対応は大変なので、この動きは進んでいくといいなと思いました(特にGUIを使用するアプリなど)