オープンソースプロジェクト
magefree/mage avatar
magefree/mage

XMage: サーバー側でMagicのルールを処理する対戦エンジン

XMage - マジックの別のゲーム エンジン。 XMage、Magic、もう 1 つのゲーム エンジン XMage を使用すると、1 人以上のオンライン プレーヤーまたはコンピューターの対戦相手に対してマジックをプレイできます。

スター 2,357フォーク 939JavaMIT

ひと目でわかる

これは何?
Javaで動くオープンソースのMagic対戦エンジンで、公開サーバー、ローカルサーバー、AI対戦、ドラフトを扱います。
誰に向いている?
XMageは、Magicのルール処理をクライアントに任せず、友人やAIとの対戦環境を自分で持ちたい利用者に向きます。導入前にJava 8以上でランチャーを起動し、AI戦ではserverアプリをlocalhostで立ち上げて接続できるか確認してください。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 1 日前です。
何の言語で書かれている?
主に Java です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

XMage の核:31,000 枚以上のカードを扱うルールエンジン

XMage は、1 人以上のオンラインプレイヤーまたはコンピュータの対戦相手と Magic: The Gathering をプレイできる Java プロジェクトです。README は、31,000 枚以上のユニークなカードと、さまざまなエディションからの 91,000 枚以上の再録カードに対して完全なルール適用を行うと述べています。また、Star Wars のようなカスタムセットにも言及し、すべての通常セットにはほぼすべてのカードが実装されているとしています。リポジトリのメタデータでは、言語は Java、プロジェクト名は XMage - Magic Another Game Engine とされています。

ゲームモードとトーナメントサポート

README によると、XMage はデュエル、マルチプレイヤー、スタンダード、モダン、コマンダー、ポウパー、オースブレイカー、ヒストリック、フリーフォーム、リッチマンなどの数十のゲームモードを備えたシングルマッチとトーナメントをサポートしています。2 人デュエルと最大 10 人のマルチプレイヤー自由対戦が可能です。コンピュータ AI 対戦相手が含まれ、Glicko に基づくプレイヤーレーティングシステムがあります。トーナメントはエリミネーションまたはスイス方式をサポートし、最大 16 人でプレイできます。さらに、ブースタードラフト(Cube を含む)トーナメントは 4 人から 16 人、シールド(Cube を含む)トーナメントは 2 人から 16 人で行われます。ローカルサーバーの特別なテストモードでは、事前定義された条件でコンボやその他のゲーム状況を設定できます。

インストールとランチャーの要件

README のインストール手順は短く、xmage.today から最新の XMage ランチャーとアプリファイルをダウンロードし、任意のフォルダに解凍し、ランチャーを実行するには Java 8 以降が必要です。README にはこれ以外のセットアップ手順は記載されていません。サーバー設定の詳細は wiki を参照するように指示されています。

サーバー設定と公開インスタンス

XMage サーバーは、デフォルトで現在の作業ディレクトリからの相対パス config/config.xml(Windows では config\config.xml)で設定ファイルを探します。場所を変更するには、xmage.config.path プロパティを指定してサーバーを起動します。例: -Dxmage.config.path=config/otherconfig.xml。このオプションは XMageLauncher の Settings > Java > Server java options で設定できます。README には xmage.today/servers/ の公開サーバーがリストされていますが、そのページは一時的に停止中とされています。xmage.today のベータサーバーは、リリース版と未リリースまたは開発中の機能を実行します。README はまた、GitHub issues、公式フォーラム(時代遅れと表示)、Reddit グループ、Discord チャンネルなどのコミュニティリソースへのリンクを提供しています。

トラブルシューティングとパフォーマンスフラグ

README は、一般的な問題と修正について GitHub issues ページを参照し、起動時のフリーズ、画像ダウンロード失敗、ランチャーエラー、テキスト欠落、Windows GUI 描画アーティファクト、ピクセル化された画像、macOS ランチャーと M1/M2 の問題、クライアントのフリーズ、Linux の非標準ハードウェアまたは GUI アーティファクトに関する特定の issue にリンクしています。パフォーマンスについては、優れた GPU があれば、追加の Java フラグで大幅なパフォーマンス向上が見込めるとしています。XMage は JRE 8 で動作し、README は Oracle の Java 2D フラグドキュメントにリンクしています。ランチャー設定ダイアログの Java タブには Client java options フィールドがあります。Linux 固有のフラグには -Dsun.java2d.opengl=true と -Dsun.java2d.xrender=true があり、メモリ使用量を増やす -Xmx2G もありますが、README はメモリ増加が必ずしも効果的であるとは限らないと警告しています。

開発リソースとライセンス状況

開発者は、開発環境のセットアップ、テストツール、開発ワークフロー、HOWTO ガイドなどのページを含むプロジェクト wiki を参照するよう指示されています。README はまた、Freepik via Flaticon による torch アイコンにクレジットを表示しています。ライセンスについて、リポジトリのメタデータはライセンスを MIT としていますが、提供されたライセンスの抜粋は、共通パスにライセンスファイルが見つからなかったと述べるだけです。抜粋には許諾の文言が含まれていないため、ライセンスの正確な条件はソースからは確認できません。保証、サポート、セキュリティについての記載はありません。

実機で見る項目は、Javaランチャーの起動、localhost serverへの接続、デッキインポート、AI対戦、カード画像の取得です。READMEが挙げるWindows、macOS、Linuxの個別問題は環境ごとに結果が変わるため、使用するJDKとOSを記録して切り分けます。ルールエンジンの検討では、二人対戦だけで判断せず、Commanderなどの多人数戦、ドラフト、サイドボード、トーナメント形式を順に試します。サーバー側が非公開情報を制御する設計も、クライアントに見える情報とサーバーログを分けて確認します。

編集部の結論

XMageは、Magicのルール処理をクライアントに任せず、友人やAIとの対戦環境を自分で持ちたい利用者に向きます。導入前にJava 8以上でランチャーを起動し、AI戦ではserverアプリをlocalhostで立ち上げて接続できるか確認してください。対応フォーマットや最大人数はREADMEの記載を基準にし、カード画像の取得、M1/M2、GUI描画など既知の問題が自分のOSで再現しないかをGitHub IssuesのFAQと照合するのが先です。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート