2014年10月22日水曜日

[CanaryMod版] Scratch で Minecraft を動かす - Raspberry Pi なしで Minecraft API を使ってプログラミング

みなさん、こんにちは。


秋も深まって、焼き芋のおいしい今日このごろ・・・

元気にプログラミングしてますか?

さて、今回のエントリは、
僕は発展途上技術者」というブログでお馴染みの


さんが、以前書かれていた以下のエントリ

Scratch で Minecraft を動かす(その1) - Raspberry Pi なしで Minecraft API を使ってプログラミング


について、最新の動向を含めたエントリを皆さんにお伝えしたいと思います。

というのも、上記エントリで必要とされている「CraftBukkit サーバー」がDMCA(デジタルミレニアム著作権法(ちょさくけんほう):Digital Millennium Copyright Act)に抵触したとのことで公開が停止されており、この環境を作ることができなくなっているのです。

今回お届けするエントリではCraftBukkitサーバー以外のMinecraft互換サーバーで@jishihaさんが、開発して公開されているScratch2MCPIを使える環境構築についてお届けしたいと思います(※CraftBukkitサーバの完全な代替になる訳ではありませんのでご注意ください)。

なお、今回はWindows8.1での環境構築を前提に説明しますが、他の環境でも動作するハズですので試してみてください。

また、説明は@jishihaさんのブログエントリに沿った形で書いていきます。


2014/11/25追記
2015/02/20追記
2015/05/23追記



必要なもの

  • Minecraft と minecraft.net より購入した有料アカウント
  • CanaryMod サーバー
  • CanaryMod対応 Raspberry Juice プラグイン

※今回紹介するCanaryModサーバーは日本語の情報が少ないようです。

CanaryModサーバーのインストール

  • CanaryModサーバーのダウンロードページからCanaryMod-1.7.10-1.1.2.jarをダウンロードします(今回の対象となるMinecraftのバージョンは1.7.10になります。他のバージョンにしたい時は適切なバージョン番号のものを選択してダウンロードします)。追記:1.6.4や1.8.0ではRaspberryJuiceは動作しませんでした
  • ダウンロードしたファイル名をcanarymod.jarに変更します。
  • CanaryMod という名前でホームディレクトリなどにフォルダを作成し、canarymod.jar をその下に移動します。
  • 同じフォルダ内に以下の内容で start_server.bat という名前のファイルを作ります(※2015/02/01追記:このファイルは作らなくても大丈夫です。jarファイルをダブルクリックして実行することが可能です。ウィンドウが開いて接続中ユーザ一覧が表示されますのでそちらの方がよろしいでしょう)
java -jar canarymod.jar
pause

  • 必要なフォルダや設定ファイルが準備されるように、一度 start_server.bat を実行しておきます(※2015/02/01追記:追記通りに作業する場合は無視してください)
  • (環境によってはここでjavaコマンドが見つからないというケースもあります。その場合はPATH環境変数の設定が必要となります。)
  • 同じフォルダにeula.txtというファイル(ソフトウェア利用許諾契約書)が出来ますので、それをノートパッドなどのエディタで読み込んで、同意した上でファイル内の

eula=false → eula=true 
に書き換えて保存します。

  • 再度start_server.batを実行します(※2015/02/01追記:追記通りに作業する場合はjarファイルをダブルクリックしてください)

CanaryModの動作テスト



  • CanaryModサーバーが起動したら、Minecraftから接続できるか確かめます。
  • Minecraft Launcherを起動してMinecraft1.7.10を実行します。1.7.10のプロファイルが無い場合は"Edit Profile"をクリックして1.7.10が実行される設定を作成してください(詳細はWebでググるなどして調べてください)。
  • 有効なアカウントでログインして、Minecraft1.7.10を実行します。

  • メニューから【マルチプレイ】を選択し【ダイレクト接続】にてサーバーアドレスに"localhost"と入力して設定を完了してください(サーバ名は"Minecraft Server CanaryMod"などとしておくと分かりやすいと思います)。

  • 設定したサーバを選択して【サーバーに接続】をクリックします。
  • 問題なくサーバの生成したワールドに入れれば動作確認は完了です。
  • ※この時、ブロックが置けない、壊せないという状況の場合はコマンドプロンプトから"op <ユーザ名>"というコマンドを入力すると解消できると思います。
  • CanaryModサーバを起動しているコマンドウィンドウで"stop"コマンドを入力してサーバを停止してください(Minecraftの接続はこの時点で終了します)。コマンドプロンプトはスペースキーなどを押すと閉じます。


CanaryMod対応 Raspberry Juice プラグインのインストール

仕上げはCanaryMod対応のRaspberry Juiceプラグインのインストールです。

Minecraft Graphics Turtleなどでお馴染みのRaspberry Juice開発者のMartin O'Hanlonさんがこの10月にCanaryMod対応版を発表しています。

  • Raspberry Juiceのソースコードとプラグインをhttps://github.com/martinohanlon/CanaryRaspberryJuice/archive/master.zipからダウンロードします。
  • Zipファイルを展開してjarsフォルダ内にある最新バージョンのCanaryRaspberryJuice-#.#.jarファイルをCanaryModフォルダ内のpluginsフォルダにコピーします。
  • start_server.batでCanaryModサーバーを起動します。
  • これで問題がなければRaspberry Juiceが有効になったというメッセージを確認することができます。また、コマンドプロンプトからpluginsというコマンドを実行して
> plugins
[16:55:05] [CanaryMod] [INFO] [NOTICE]: **** PLUGINS ****
[16:55:05] [CanaryMod] [INFO] [NOTICE]: CanaryRaspberryJuicePlugin
と表示されればインストールは成功です。

ここから先の動作確認は全く同じ作業なのでこのエントリでは省略しますがWindowsの場合には、


  • Windows用Python2.7.xのインストール
  • 環境変数の設定(コマンドプロンプトからPythonとeasy_installが実行できるようにする)
  • easy_installのインストール(2015/02/27追記:最近はセットアップすると自動的にインストールされるので作業不要になりました)
  • scratchpyのインストール


を行う必要があります。

これでScratchからMinecraftフルバージョンのワールドに構築物をプログラムで作ることができるようになります。

なお、接続できるScratchは

  • Scratch1.4 with Scratch2MCPI
  • Scratch2.0 Offline Editor with MCPI-Scratch

のどちらでもできることを確認しました。


ふーん・・・

わかったような・・・わかんないような・・・

Minecraftサーバーを起動するので
ちょっとムズカシイかもしれませんが
色々調べながらやってみると
理解が深まると思いますよ。


2014/11/25追記:

ちなみにちょっと古いPCで
この環境を作ると結構負荷が重いみたいです

CanaryModサーバをラズベリーパイで
起動させることも可能なので、
負荷軽減策として
検討してみても良いかもしれません。

ただ、CanaryModサーバーを
ラズベリーパイで動かすのはちょっと重荷なので
放熱対策などは必須になると思います。

ご参考まで。

2015/02/20追記:
CraftBukkitサーバ互換のSpigot-1.8に
RaspberryJuice1.6をインストールした環境で
動作確認が取れました

Spigotは軽量サーバというフレコミ通り
動作が軽いという印象があります

インストール時にSpigotそのもののBuild作業が必要ですが
それほど難しくありませんのでぜひチャレンジしてみてください

2015/02/27追記:
Spigot-1.8はMinecraft1.8.xで
Scratchプログラミング可能です

2015/05/23追記:
MCPI API Modが存在していることに気付きました
すでにModを適用する環境でMinecraftバージョンが
1.7.10の方はサーバを立てることなく
Scratch × マインクラフトプログラミング環境が作れます

0 件のコメント:

コメントを投稿