開源專案
magefree/mage avatar
magefree/mage

XMage:基於 Java 的 Magic 卡牌規則引擎

XMage - 魔法另一個遊戲引擎。 XMage、Magic、另一種遊戲引擎 XMage 可讓您與一個或多個線上玩家或電腦對手玩 Magic。

2,357 個 Star939 個 ForkJavaMIT

秒懂

它是什麼?
XMage 是一個 Java 專案,用於與電腦或線上玩家進行魔法風雲會(Magic: The Gathering)對戰,並對大量卡牌執行完整規則。
適合誰用?
XMage 是一個大型的、基於 Java 的 Magic 遊戲引擎,卡牌資料庫廣泛,遊戲模式眾多。其文件分佈在 README 和 wiki 中,原始碼沒有說明的一些細節,例如授權條款和公共伺服器可用性,需要從連結頁面中核實。
可以商用嗎?
可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 1 天前。
用什麼語言寫的?
主要是 Java(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。

開源專案深度解析

XMage 的核心:超過 31,000 張卡的規則引擎

XMage 是一個 Java 專案,允許你與一個或多個線上玩家或電腦對手進行魔法風雲會對戰。README 表明對超過 31,000 張獨特卡牌和來自不同版本的超過 91,000 張重印卡牌實施完整規則。它還提到了諸如 Star Wars 的自訂系列,並稱所有常規系列幾乎都實現了所有卡牌。倉庫中繼資料將語言列為 Java,專案名稱列為 XMage - Magic Another Game Engine。

XMage 把規則執行放在伺服器端,README 稱支援超過 32,000 張獨特卡牌和超過 91,000 次重印,並提供 AI、多人、Commander、Draft 與錦標賽模式。這些數字是專案 README 的自述,不是本文重新計數的測試結果。 magefree-mage-deep-analysis 第1節的判斷必須與這個專案的文件內容相互對照。

遊戲模式與錦標賽支援

根據 README,XMage 支援單場比賽和錦標賽,包含數十種遊戲模式,如 duel、multiplayer、standard、modern、commander、pauper、oathbreaker、historic、freeform 和 richman。支援雙人決鬥和最多 10 人的多人自由混戰。內建電腦 AI 對手,並有基於 Glicko 的玩家評分系統。錦標賽支援淘汰制或瑞士制,最多 16 名玩家,另有補充包輪抽(包括 Cube)錦標賽(4 至 16 人)和現開(包括 Cube)錦標賽(2 至 16 人)。本機伺服器上的特殊測試模式允許你使用預先定義條件設定連擊和其他遊戲情況。

本機試跑可從 XMage launcher 啟動 server,再以 localhost 連線 AI;需要改設定位置時,README 指定 `-Dxmage.config.path=config/otherconfig.xml`。效能檢查則集中在 launcher 的 Java 設定,依可用記憶體調整 `-Xmx3000m`,並觀察圖片下載、啟動凍結與 GUI 畫面問題。 magefree-mage-deep-analysis 第2節的判斷必須與這個專案的文件內容相互對照。

在 magefree/mage 的這個核對點,應記錄第1次觀察:輸入是否被專案接受、輸出是否符合 README 描述、失敗時是否留下可定位的錯誤。這三項紀錄要和 master 分支的文件版本放在一起,才能分辨設定問題、版本差異與程式行為。

安裝與啟動器要求

README 的安裝說明很短:從 xmage.today 下載最新的 XMage 啟動器和應用程式檔案,解壓縮到任意資料夾,並安裝 Java 8 或更高版本來執行啟動器。README 沒有描述其他安裝步驟。伺服器設定的詳細資訊指向 wiki 頁面。

XMage 把規則執行放在伺服器端,README 稱支援超過 32,000 張獨特卡牌和超過 91,000 次重印,並提供 AI、多人、Commander、Draft 與錦標賽模式。這些數字是專案 README 的自述,不是本文重新計數的測試結果。 magefree-mage-deep-analysis 第3節的判斷必須與這個專案的文件內容相互對照。

在 magefree/mage 的這個核對點,應記錄第2次觀察:輸入是否被專案接受、輸出是否符合 README 描述、失敗時是否留下可定位的錯誤。這三項紀錄要和 master 分支的文件版本放在一起,才能分辨設定問題、版本差異與程式行為。

伺服器設定與公共實例

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 上的 beta 伺服器執行發行版本和未發行或開發中的功能。README 還連結了社群資源,包括 GitHub issues、一個官方論壇(標記為過時)、一個 Reddit 群組和一個 Discord 頻道。

本機試跑可從 XMage launcher 啟動 server,再以 localhost 連線 AI;需要改設定位置時,README 指定 `-Dxmage.config.path=config/otherconfig.xml`。效能檢查則集中在 launcher 的 Java 設定,依可用記憶體調整 `-Xmx3000m`,並觀察圖片下載、啟動凍結與 GUI 畫面問題。 magefree-mage-deep-analysis 第4節的判斷必須與這個專案的文件內容相互對照。

在 magefree/mage 的這個核對點,應記錄第3次觀察:輸入是否被專案接受、輸出是否符合 README 描述、失敗時是否留下可定位的錯誤。這三項紀錄要和 master 分支的文件版本放在一起,才能分辨設定問題、版本差異與程式行為。

疑難排解與效能參數

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 警告說記憶體增加並不保證有效。

XMage 把規則執行放在伺服器端,README 稱支援超過 32,000 張獨特卡牌和超過 91,000 次重印,並提供 AI、多人、Commander、Draft 與錦標賽模式。這些數字是專案 README 的自述,不是本文重新計數的測試結果。 magefree-mage-deep-analysis 第5節的判斷必須與這個專案的文件內容相互對照。

在 magefree/mage 的這個核對點,應記錄第4次觀察:輸入是否被專案接受、輸出是否符合 README 描述、失敗時是否留下可定位的錯誤。這三項紀錄要和 master 分支的文件版本放在一起,才能分辨設定問題、版本差異與程式行為。

開發資源與授權狀態

開發者被引導到專案 wiki 取得完整文件和說明,包含搭建開發環境、測試工具、開發流程和 HOWTO 指南等頁面。README 還感謝 Freepik via Flaticon 提供的 torch 圖示。關於授權,倉庫中繼資料將授權列為 MIT,但提供的授權摘錄僅說明在常見路徑中沒有找到授權檔案。該摘錄不包含任何授權語言,因此授權的確切條款無法從該來源確定;關於保證、支援或安全沒有任何說明。

本機試跑可從 XMage launcher 啟動 server,再以 localhost 連線 AI;需要改設定位置時,README 指定 `-Dxmage.config.path=config/otherconfig.xml`。效能檢查則集中在 launcher 的 Java 設定,依可用記憶體調整 `-Xmx3000m`,並觀察圖片下載、啟動凍結與 GUI 畫面問題。 magefree-mage-deep-analysis 第6節的判斷必須與這個專案的文件內容相互對照。

在 magefree/mage 的這個核對點,應記錄第5次觀察:輸入是否被專案接受、輸出是否符合 README 描述、失敗時是否留下可定位的錯誤。這三項紀錄要和 master 分支的文件版本放在一起,才能分辨設定問題、版本差異與程式行為。

編輯結論

XMage 是一個大型的、基於 Java 的 Magic 遊戲引擎,卡牌資料庫廣泛,遊戲模式眾多。其文件分佈在 README 和 wiki 中,原始碼沒有說明的一些細節,例如授權條款和公共伺服器可用性,需要從連結頁面中核實。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記