見出し画像

Code Connection for Minecraft復活への道(復活不能となった話)

【重要】Code Connection for Minecraft終了のお知らせ

2024/1/31追記:
すでにご存知の方も多いと思うが、公式からCode Connection for Minecraftの終了が告知されている。アプリの配布そのものも無くなるので完全終了となる

残念だが、統合版でのプログラミング環境はこれにより完全終了となってしまった。従って、コードビルダーが使えるのは教育版だけとなる。

Code Connection for Minecraftにはコードビルダー以外にもREST APIが使えるWebサーバが実装されているなどとても面白い機能があっただけに、とても残念だ。せめて教育版にこの機能を移植してくれたら、と思っているのだが。

個人的にmicro:bitと教育版マインクラフトを連携させるしくみを開発しているので、ここにREST APIの機能を実装することも検討している。

WebSocket仕様変更の影響

統合(BedRock)版マインクラフトと教育版マインクラフトはベースが共通のマインクラフトだ。

統合版マインクラフトにはWebSocketプロトコルで外部サーバとの接続が可能となる機能が実装されており、この機能を通じてCode Connection for Minecraftと接続してプログラミング環境が実現されていた。

ただ、ウィンドウの切り替えを伴うプログラミング環境は操作が煩雑となるため、これを取り込んで快適な環境にしてあるのが教育版だ。

このWebSocketプロトコルなのだが、半年以上前から仕様変更が行われていてCode Connection for Minecraftはこの変更に追従するアップデートが行われておらず、統合版ではCode Connection for Minecraftを接続してもバージョンアップをするようにメッセージが出るだけで使用することができなくなっているのだ。

教育版についても2022年夏のアップデートv.1.18.32から統合版と同様になりCode Connection for Minecraftの使用ができなくなった。

教育版にCCは必要なのか?

教育版にはコードビルダーが内蔵されているのだからCode Connection for Minecraftは不要なのではないか、と思うだろうが、実はCode Connection for Minecraftにしか無い機能もあるのでそれを使おうと思う場合は未だに必要なツールなのである。

その機能がREST API呼び出しによるマイクラコマンドの実行機能である。詳細は以下の資料を参照してほしい。

Code Builder for Minecraft: Education Edition API Documentation
https://education.minecraft.net/wp-content/uploads/Code_Connection_API.pdf

これが何に使えるのか、という疑問については以下の動画を見てもらうと分かるだろう。

iPadやiPhone経由で声によってマイクラコマンドを実行できるのだ。これはもちろんチートなのだが、Night Vision効果を手の作業を止めずに声で実行できるなどプレイヤーが第3の手を得られる手段として使うことが可能だ。

最新プロトコル対応手段

統合版・教育版は基本的に最新版がリリースされると強制的にアップデートされて過去のバージョンは使用することができなくなる(他に方法があることは知っているが公式ではないのでここでは触れない)。

要は、Code Connection for Minecraftの古い通信内容を最新のWebSocket通信に対応させれば良いので、その仲立ち役となるプログラムがあれば対応できる。それを実現したのが以下のCodeConnectFixである。

Windows環境はexeバイナリファイルが配布されているのでダウンロードした上で

  • Code Connection for Minecraftの起動

  • CodeConnectFix.exeの起動

  • マインクラフトからの/connectコマンド接続(CodeConnectFixに接続)

という手順で接続することができる。

しくみを図示すると以下のようなイメージだ。

CodeConnectFixは通訳

追記:注意点としては全てがネットワーク接続による連携となるため、Windows Firewall(その他のソフトで設定している場合はそれら)の設定でアクセス許可を設定して欲しい。
いずれか1つでも設定が不十分であると接続できないので必ず確認して欲しい。

統合版で使える?

当然、統合版でも使える・・・ハズなのだが、肝心の統合版のconnectコマンドが現在のバージョンでは全く機能しない状況になっていて使えないのである。次のバージョンアップで修正されていることを祈りたい。

マイクラのバグトラッキングシステムを検索してみると、過去にWebSocketの接続に関する不具合が起きていることはあったようなので、よくある問題なのだろうと思う。

統合版アップデート!

2022/11/30追記:
統合版v.1.19.50がリリースされた。見事にWebSocket接続のバグは修正されていたので統合版で使える!と断言できる状況になった

統合版v1.19.50とCC4MでMakeCode実行成功!

互換性について

現時点で、教育版マインクラフトでは動作するのにCodeConnectFix経由のコードビルダーでは動作しないものも確認できているので、完全な互換性はない模様だ。このあたりは残念ではあるがCode Connection for Minecraftのバージョンアップを待つほかないだろう。

起動スクリプトの作成

現在、v1.1.1が配布されており筆者もこれを使用しているが、マイクラのconnectコマンドで接続した時にCodeConnectFixが落ちてしまうことがある(筆者の環境だけかもしれないが)。

そこで、このCodeConnectFixの死活監視PowerShellスクリプトを作って

  • Code Connection for Minecraftの起動

  • CodeConnectFixの起動

  • CodeConnectFixの死活監視

  • マイクラのconnectコマンドを自動的にクリップボードに入れる

を行うようにしている。こうすることで個別に起動することが不要になるのでCode Connection for MinecraftをPowerShellスクリプトからの起動だけで快適に使えるようになった。

マイクラで実行するconnectコマンドが自動的にクリップボードに入るのでCTRL+Vするだけですぐにコマンド実行できるのもこのPowerShellスクリプトの特徴である。

※Code Connection for Minecraftのコマンドでは接続できないことに注意。CodeConnectFixは接続ポート番号が異なっている。

このスクリプトを必要とするのはもしかすると筆者だけの環境かもしれないので本当に必要な人だけ続きを読んでもらえればと思う。


ここから先は

1,608字 / 1画像

¥ 150

この記事が気に入ったらサポートをしてみませんか?