Anbernic RG40XXH(muOS)で Minecraft Java:PortMaster 版を動かすまで
PortMaster には、Anbernic RG40XXH のような muOS 携帯ゲーム機で動く Minecraft Java の移植版(minecraftjava)があります。インストールは簡単そうに見えますが、私たちの RG40XXH では起動せず、次に固まり、遊べるようになるまでいくつも直す必要がありました。この記事ではそのすべてを 1 か所にまとめます。
テスト環境: Anbernic RG40XXH(RAM 1 GB)· muOS 2601.0 Jacaranda · PortMaster の Minecraft 移植版 · Minecraft Java 1.12.2。
まず:移植版はランチャーだけ
PortMaster の移植版には Minecraft 本体は含まれていません。入っているのはランチャーメニュー、起動スクリプト、コントローラーの割り当て、そして携帯ゲーム機で Minecraft を動かすための ARM 用部品です。ゲーム本体(Minecraft Java Edition のファイル)はご自身が持っているものから用意する必要があります。
つまり:
- Minecraft: Java Edition を持っている必要があります(minecraft.net で購入。Java & Bedrock のセットに含まれます)。ファイルは PC の公式 Minecraft Launcher から取り出します。
- 移植版はサインインせずにオフラインでゲームを起動します。デフォルトスキンのローカルプレイヤーとして遊ぶことになり、オンラインモードのサーバーには入れません。LAN やオフラインモードのサーバーには入れます(移植版フォルダーの
server.txtにアドレスを書きます)。
動くのは 2 つのバージョンだけ
移植版が対応しているのは次のとおりです:
| バージョン | バニラ | Forge |
|---|---|---|
| 1.7.10 | ✅(いちばん速い) | ✅ |
| 1.12.2 | ✅ | ✅ |
最初の失敗は 1.12.1 をコピーしたことでした。近いように見えますが、ランチャーメニューは 1.7.10 と 1.12.2 しか確認しないので、メニューには Exit しか出ませんでした。別のバージョンの名前を 1.12.2 に変えるのもだめです。本物の 1.12.2 が必要です。
ステップ 1:PC に 1.12.2 を用意する
- 公式の Minecraft Launcher を開き、Java Edition を持っているアカウントでサインインします。
- Installations → New installation で release 1.12.2 を選び、Create をクリックします。
- Play を一度クリックし、メインメニューが出るまで待ちます。これで 1.12.2 に必要なライブラリと音やテクスチャのアセットがダウンロードされます。終わったら終了します。
これで Minecraft フォルダーがそろいました:
| OS | フォルダー |
|---|---|
| Windows | %APPDATA%\.minecraft |
| macOS | ~/Library/Application Support/minecraft |
| Linux | ~/.minecraft |
ステップ 2:正しいフォルダーを正しい場所にコピーする
いちばん簡単なのはスクリプトに任せる方法です。 無料の PC 用スクリプトが、移植版に必要な 1.12.2 のファイルだけを集め、移植版のファイルを置き換えずに カードへコピーします。PortBridge-1.0.0-stock.zip をダウンロードし、SD カード 1 をパソコンに入れて、PC フォルダーで python3 collect-minecraft.py --to <SD>/ports/minecraftjava(macOS、Linux。<SD> はカード)、または PowerShell で .\collect-minecraft.ps1 -To E:\ports\minecraftjava(Windows。カードのドライブ文字に置き換えてください)を実行します。詳しくは純正 OS 版のガイドをご覧ください。手作業でやる場合は、このまま読み進めてください。
これが 2 つ目の失敗でした。バージョンのファイルは ports/minecraftjava/versions/ には入れません。起動スクリプトは、移植版の中にある隠しフォルダー .minecraft から読み込みます:
SD カード 1(muOS:/mnt/mmc)
└── ports/minecraftjava/.minecraft/
├── versions/1.12.2/ ← 1.12.2.jar と 1.12.2.json
├── libraries/ ← PC の .minecraft/libraries フォルダー(統合)
└── assets/ ← PC の .minecraft/assets フォルダー(統合)
.jar と .json だけでは足りません。Minecraft 1.12.2 には約 30 個のライブラリとアセット(音、言語ファイル、テクスチャ)も必要で、合計およそ 200 MB です。これがないと起動しません。
「フォルダーごと」とは: パソコンの Minecraft フォルダー(上の表を参照)の中に、.jar ファイルがたくさん入ったサブフォルダー(com、org、net…)を持つ libraries フォルダーと、assets フォルダーがあります。それぞれを中身ごと SD カードの ports/minecraftjava/.minecraft/ にコピーしてください。
置き換えずに統合する。 移植版にはすでに独自の
librariesフォルダーがあり、携帯ゲーム機で Minecraft を動かす ARM 版の LWJGL が入っています。パソコンに聞かれたら 結合(macOS)を選ぶか、既存のフォルダーにコピーして、すでにあるファイルはスキップしてください(Windows)。置き換えを選ぶと移植版のファイルが消え、Minecraft が起動しなくなります。versionsとassetsも同じです。
PC で多くのバージョンの Minecraft を遊んでいると、これらのフォルダーはすべてのバージョンのファイルを含むので大きくなります。それでも大丈夫です。携帯ゲーム機は 1.12.2 に必要なものだけを使います。
コピーはカードリーダーか、Wi-Fi 経由で muOS の SFTP サーバーを使って行います(SFTP アプリではパスが /SD1 (mmc)/ports/minecraftjava/.minecraft/ と表示されます)。移植版は独自の ARM 版 LWJGL を持っているので、PC の libraries フォルダーをコピーしても何も壊れません。
パソコンで .minecraft が見えない場合:macOS では Finder で ⌘ Shift . を押します。Windows では 表示 → 隠しファイル をオンにします。
ステップ 3:起動する
携帯ゲーム機で Ports → Minecraft Launcher を開きます。メニューに Vanilla v1.12.2 が表示されるはずです。
まだ Exit しか出ない場合は、ports/minecraftjava/Launcherlog.txt を確認してください。
versions/1.12.1/1.12.1.json: line 1: {assetIndex:: command not found のようなエラーは、起動スクリプト ROMS/Ports/Minecraft Launcher.sh が手で編集されたことを意味します。PortMaster から移植版を入れ直して、元のスクリプトに戻してください。
ROMS/Ports にバックアップを残さないでください。 私たちは古いスクリプトを Minecraft Launcher.sh.bak としてそこに保存し、muOS がそれを「Minecraft Launcher.sh」という 2 つ目のゲームとして表示しました。それを起動すると、壊れた古いスクリプトがまた動きました。バックアップは別の場所に置いてください。
直し方:カクつき、フリーズ、固まる
これがいちばん多い問題で、原因はほとんどの場合インストールの失敗ではなく設定です。
症状
- 最初は普通に遊べるのに、だんだん遅くなり、数分で固まったように見える。
- ボタンの反応が数秒遅れる。
- 携帯ゲーム機全体が反応しなくなり、SFTP サーバーも止まり、再起動するまで戻らない。
私たちの場合、ports/minecraftjava/log.txt に Can't keep up! Did the system time change, or is the server overloaded? Running 2227ms behind, skipping 44 tick(s) と出て、ゲームは毎秒 30 フレームから 8〜12 秒に 1 フレームまで落ちました。クラッシュではなく、単なる過負荷です。
原因
RG40XXH の RAM は 1 GB で、チップはスマートフォン並みです。移植版が Java に与えるのは 384 MB だけ。PC から設定をコピーしていると、Minecraft は描画距離 12 チャンク、高画質グラフィック、スムースライティングで読み込もうとします。携帯ゲーム機は追いつけず、メモリが足りなくなり、Java はゲームを動かすよりメモリの掃除に時間を使うようになります。
直る設定
Options → Video Settings で変えるか、ゲームを閉じた状態で ports/minecraftjava/.minecraft/options.txt を編集します:
| 設定(ゲーム内) | options.txt |
値 | 理由 |
|---|---|---|---|
| Render Distance | renderDistance |
4(後で 5〜6 も試す) | 速度とメモリへの影響がずば抜けて大きい |
| Graphics | fancyGraphics |
false(Fast) | 葉、水、影が簡素になる |
| Smooth Lighting | ao |
0(Off) | ブロックごとの CPU を節約 |
| Clouds | renderClouds |
false | 描くものが減る |
| Mipmap Levels | mipmapLevels |
0 | テクスチャのメモリが減る |
| Max Framerate | maxFps |
30 | それ以上を狙わず 30 で安定 |
| VSync | enableVsync |
false | フレーム間の余計な待ちを避ける |
| Particles | particles |
2(Minimal) | 戦闘や雨のエフェクトが減る |
| Entity Shadows | entityShadows |
false | 描くものが減る |
options.txt ではこうなります:
renderDistance:4
fancyGraphics:false
ao:0
renderClouds:false
mipmapLevels:0
maxFps:30
enableVsync:false
particles:2
entityShadows:false
この変更で、私たちの RG40XXH はなめらかに動くようになりました。
それでもカクつくなら
1 つずつ試してください:
- 大きくてにぎやかなワールドでは、描画距離を 3、あるいは 2 まで下げる。
- 新しいワールドを始めるか、スポーン地点の近くで遊ぶ。読み込まれたチャンク、農場、動物の多い巨大なワールドはメモリを多く使います。
- 長く遊んだらゲームを再起動する。 メモリは時間とともにたまっていきます。
- 1.7.10 に切り替える。 移植版が対応するいちばん軽いバージョンで、移植版自身の説明でも最高のパフォーマンスのために勧められています。
- 上級者向け:Java のメモリを増やす。 上限は
ports/minecraftjava/1.12.2.startで設定されています(1 GB の機器ではXMX=384M)。448Mに上げるとカクつきが減ることがありますが、muOS、表示レイヤー、ゲームが同じ 1 GB を分け合っています。上げすぎるとシステムがゲームを強制終了することがあります。上の手順で足りないときだけ変更し、元のファイルのコピーはROMS/Portsの外に置いてください。
今まさに固まっている?
R2 + SELECT + B(muOS の強制終了)を押します。何も反応しなければ POWER を約 10 秒長押しします。ワールドは残りますが、最後のオートセーブ以降の分は失われます。次に遊ぶ前に設定を下げてください。
無害なもの: log.txt が GL ERROR 1282 @ Post render で埋まることがあります。これは移植版のグラフィック互換レイヤーから出るもので、遅くなる原因ではありません。
操作
| ボタン | 動作 |
|---|---|
| 左スティック | 移動 |
| 右スティック | 見回す、メニューではマウスポインター |
| A | ジャンプ |
| B | アイテムを捨てる |
| X / Y | インベントリ |
| R2 | 壊す / 攻撃(左クリック) |
| L2 | 置く / 使う(右クリック) |
| L1 / R1 | ホットバー |
| L3 / R3 | ダッシュ / スニーク |
| START | ポーズメニュー |
ゲームが終了させてくれないとき:R2 + SELECT + B が muOS の強制終了です。ワールドを保存するため、先にポーズしてください。
まとめ
- Minecraft Java Edition を持っていて、公式ランチャーで 1.12.2(または 1.7.10)を一度インストールしておく。
versions/1.12.2、libraries、assetsをports/minecraftjava/.minecraft/にコピーする。ROMS/Portsはきれいに保ち、.bakスクリプトを置かない。- 低めのビデオ設定を使う(描画距離 4、Fast グラフィック、30 FPS)。それでもカクつくなら、上の対処法を参照。
質問は feedback@pocketkode.com までメールでどうぞ。
Minecraft は Mojang Synergies AB の商標です。PocketKode は Mojang、Microsoft、PortMaster、muOS、Anbernic とは関係ありません。