Minecraft の Mod をブラウザ上で制作できるツール「Portal」を作った

2017年12月23日

この記事は Minecraft Advent Calendar 2017 20日目の記事です。


はじめに

表題の通りですが、Minecraft の Mod (Minecraft Forge)をブラウザ上から編集・ビルドそして Minecraft のクライアント上からダウンロード・実行できるツール群を作成しました。

名前は、ブラウザ上というプラットフォームと Minecraft の中を行き来するところから Portal と名付けました。

ライセンスは AGPL 3.0 になるので、誰でも自由に使用することができます。

Webサイトも作ってはいますが、作業が全く追いついていないのでまだ実のある内容ではありません。ロゴもないのでぜひ誰か

http://portalmc.org

最後にクローズドアルファテストの募集のリンクを貼っていますので、是非興味ある方はご応募下さい。


Mod制作のフローとスクリーンショット

プロジェクト一覧

Portal のメインのプロジェクト一覧画面は以下のような感じです。

分かる人には分かると思いますが、Github をすごく意識しています。

エディター

エディターはこんな感じです。

分かる人には分かると思いますが、IntelliJ をすごく意識しています。

ビルド開始ボタンを押すと、このような感じにビルドが行われます。

このビルドはリモートのDocker上で行われており、成果物だけが保存されます。

Modの実行

最後に、ビルドしたModの確認方法ですが、実際にMinecraftを起動して確認します。

前提となるModを導入した状態でMinecraftを起動すると、ログインを促す画面が出てくるようになります。

次にダウンロードするModを選べるので、実際に動作させたいModを選びます。

すると、自動的にダウンロードが行われ、選択したModが読み込まれた状態でMinecraftが起動します。

主な流れはこんな感じです。

技術的紹介

サーバーアプリケーションの開発には、ASP.NET Coreを使用しています。

どうしてASP.NET Coreかというと、ただ単純に使ってみたかっただけだからです。

ModのビルドはDocker上で行われます。

5分で作ったアーキテクチャ図がこんな感じです。

Webからビルドの指示を出し、保存された成果物をダウンロードする というのが1サイクルになります。

製作期間は大体3ヶ月ちょっとです。

クローズドアルファテストについて

2018年1月上旬をめどに、クローズドアルファテストを実施しようと考えています。

もし、触ってみたい方がいらっしゃいましたらぜひご応募下さい。

主に、何回かビルドをしてもらって、バグを踏んでもらったり、こうした方が良さそうといった意見を出してもらう形になります。

なので、できればModの開発を行ったことのある方の方が望ましいです。

(現時点では応募された方全員を通す予定ですが、万が一人数が集まりすぎた場合には抽選になる可能性もあります。)

https://docs.google.com/forms/d/1WeMyjRMJxtv9USy2PtWkp0vVIgUDS6TVlyH6Ts5ooTE

おわりに

ソースコードはこちらで全て公開をはじめました

https://github.com/PortalMC

ご自身のサーバーで動かすことも可能なので、物好きな方はぜひ試して下さい。(詳細な設定方法などについては私に聞いていただければ返信いたします。)

コントリビューションもどんどんしていただいて構いません。

寄付

もし心優しい方がいらっしゃいましたらぜひ寄付をお願いします。

今はやりのMonacoinです。

MEkXbnWVDQAu1CFQyzEoR6DC2cLS9SiYK8