Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


homebrew-magic

Lint status Build status

A Homebrew tap for Forge and XMage, two open-source Magic: The Gathering implementations

This tap packages Forge and XMage into macOS apps, distributed as Homebrew casks, offering a more convenient way to install, update, and run these projects than the official methods. It features:

  • Forge in all three modes: Desktop, Adventure Mode, and the Adventure Editor, each installed as its own app.
  • XMage client and server, as separate apps: the client always plays on a server; connect to a public server to play online, or run the bundled local server to play locally, including against the AI.
  • Stable and snapshot channels: Forge ships as the latest stable release or the rolling daily snapshot; XMage ships as its regular releases.
  • No Java prerequisite: each app bundles its own Java runtime, so there is nothing to install besides the cask.

Table of contents

Install

Since Homebrew 6.0.0, casks from non-official taps must be explicitly trusted before Homebrew loads them. Trust this tap once:

brew trust mserajnik/magic

Important

Installing a cask by its fully-qualified name trusts only that one cask, which is enough for XMage. Each Forge cask, however, declares conflicts_with the other, so installing either one makes Homebrew load the other to check the conflict, and loading a cask from an untrusted tap fails. Trusting the whole tap once covers all three casks.

Forge

To install Forge, run:

brew install --cask mserajnik/magic/forge

This installs three apps:

  • Forge: the original desktop rules engine.
  • Forge Adventure Mode: the Shandalar-style single-player mode.
  • Forge Adventure Editor: the Adventure Mode content editor.

To install the daily snapshot build instead of the stable release, use:

brew install --cask mserajnik/magic/forge@snapshot

Note

The two Forge casks conflict; install one or the other.

XMage

To install XMage, run:

brew install --cask mserajnik/magic/xmage

This installs two apps:

  • XMage: the client. It always connects to a server: a public one to play online, or your local server (below) to play locally, including against the AI.
  • XMage Server: the server, opened in a Terminal window so its log is visible and it can be stopped conveniently (by pressing Ctrl+C). Run it to play locally, including against the AI.

Updating

The stable Forge and XMage casks track their upstream releases; the Forge snapshot cask is rebuilt daily. Update with the usual:

brew update
brew upgrade --cask <cask-name>

E.g., to update Forge, run:

brew upgrade --cask forge

Note

Older builds are not kept indefinitely; if you need a specific past version, build it yourself with the scripts in build/.

Notes

  • These are Apple silicon (arm64) builds requiring macOS 11 (Big Sur) or newer; Intel Macs are not supported (GitHub's Intel macOS runners have been retired).
  • The apps are ad-hoc signed (no paid Apple Developer account). The cask removes the quarantine attribute on install, so they launch normally.

Forge-specific notes

  • The built-in updater is disabled; update Forge with Homebrew (above) instead.

  • On first launch the app copies its game data into ~/Library/Application Support/Forge and runs from there, so every feature, including the Adventure Editor's saving, can write. This copy is refreshed automatically when you upgrade to a new Forge version, so the first launch after an install or upgrade takes a few extra seconds.

  • User data (decks, preferences, saves, downloaded card images) lives under ~/Library/Application Support/Forge and ~/Library/Caches/Forge, and is preserved across upgrades.

  • Plain brew uninstall removes the apps but leaves the game-data copy and your user data in ~/Library. To remove everything, including that data:

    brew uninstall --zap --cask forge

XMage-specific notes

  • On first launch each app seeds its resources into its own directory under ~/Library/Application Support and runs from there. The client downloads card images on demand; these and the card database are preserved across upgrades.

  • XMage Server opens in a Terminal window. macOS asks to allow incoming network connections the first time it runs; the client connects to localhost by default.

  • The "What's new" news page no longer pops up on launch: it needs JavaFX, which the bundled runtime omits, and upstream would otherwise open it in your browser every launch. The "Show what's new" button still opens it in your browser on demand. Nothing else depends on JavaFX.

  • Plain brew uninstall removes the apps but leaves your data in ~/Library. To remove everything, including the downloaded card images, card database, and preferences:

    brew uninstall --zap --cask xmage

Maintainer

Michael Serajnik

Contribute

You are welcome to help out!

Open an issue or make a pull request.

Licenses

This project follows the REUSE specification.

Disclaimer

This is an independent, community-made Homebrew tap for the open-source Forge and XMage projects. It is not affiliated with, endorsed by, or sponsored by Wizards of the Coast LLC, and it is not an official Forge or XMage project.

Forge and XMage are both implementations of Magic: The Gathering. Magic: The Gathering, including its card data and imagery, is the property of Wizards of the Coast. The app icons are derived from the respective project's original artwork/logos. This tap is intended for private, non-commercial use only and comes with no warranty.

About

A Homebrew tap for Forge and XMage, two open-source Magic: The Gathering implementations

Topics

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages