Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

914 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status License: GPL v3


MTG Arena Tool

MTG Arena Tool is a collection browser, a deck tracker and a statistics manager. Explore which decks you played against and what other players are brewing. MTG Arena Tool is all about improving your Magic Arena experience.

Install on macOS

Download the latest .dmg from the downloads page and drag the app to /Applications as usual, then run this once in a terminal:

xattr -dr com.apple.quarantine "/Applications/MTG Arena Tool.app"

This is a one time setup. macOS quarantines anything downloaded from the internet, and refuses to launch a quarantined app that isn't signed with a paid Apple Developer ID — the app is killed on start. The command above clears that flag.

It also matters for the deck tracker specifically. Reading the MTGA game process needs the com.apple.security.cs.debugger entitlement, which macOS only honours once the app is allowed to run normally. Skip this step and the tracker still starts, but Settings will report that it can't read MTGA's memory and you'll be limited to log-based data.

You do not need to run the app with sudo.

Install on Linux

On Linux systems you can use the .AppImage as-is, but the recommended installer takes care of setting up the desktop integrations; This is a one time setup.

Head to the downloads page and download the latest mtgatool-desktop-linux-installer.tar.gz

Navigate in terminal to the directory where the tar.gz was downloaded, then extract and install;

mkdir mtgatool &&
tar -xf mtgatool-desktop-linux-installer.tar.gz -C mtgatool &&
cd mtgatool &&
sudo ./install.sh

Run from source

Make sure you are using node 15+ and npm 7+

If swtching node versions is an issue you can use nvm (there's a Windows versiion too!)

Before running you will need to install some packages globally;

npm install -g foreman @craco/craco

Once installed you can proceed installing the app's packages;

npm install

To run the desktop app in development mode (with hot module reloading enabled)

npm start

To do the same, but for the web use:

npm start:web

You can use the app in localhost:3006 (we use this port to avoid conflicts with the electron version at port 3000)

Build is rather straightforward for both web and desktop;

npm run build

npm run build:web

Developing on macOS

The memory reader needs the debugger entitlement, which lives in a code signature — packaged builds get it from the afterPack hook (scripts/after-pack-macos.js), but the Electron binary you run in dev mode does not. Sign it once after npm install:

codesign -s - -f --deep --entitlements entitlements.mac.plist \
  node_modules/electron/dist/Electron.app

Without this the reader fails and Settings reports it can't read MTGA's memory. Re-run it whenever Electron is reinstalled. Do not add --options runtime: an ad-hoc signature plus the hardened runtime makes Electron's bundled dylibs fail library validation, and it dies with SIGTRAP on launch.

License

GPLv3

Contact

You can find me at any of these;

Twitter

Discord

mtgatool@gmail.com