XMage - Magic Another Game Engine https://xmage.today
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-10 22:10:11 -05:00
.devcontainer/xmage-dev-tools dev: improved tests startup performance in dev container 2026-08-22 14:11:52 +00:00
.github Run CI when moving a PR from Draft to Ready for review (#16144) 2026-09-09 08:01:55 -05:00
.travis dev: added detail logging info on startup (print all log appenders with their levels and file names) 2026-07-24 07:04:22 +00:00
Mage [FRA] Implement Kwia Vigorbloom (#16134) 2026-09-10 21:41:09 -05:00
Mage.Client [FRA] Implement Empower Jace mechanic. Implement No Admittance (#16136) 2026-09-09 22:27:56 -05:00
Mage.Common Implement Prepare Mechanic (#15601) 2026-09-08 23:43:19 -04:00
Mage.Plugins version bump 2026-08-12 12:26:29 +00:00
Mage.Reports version bump 2026-08-12 12:26:29 +00:00
Mage.Server version bump 2026-08-12 12:26:29 +00:00
Mage.Server.Console version bump 2026-08-12 12:26:29 +00:00
Mage.Server.Plugins Implement Prepare Mechanic (#15601) 2026-09-08 23:43:19 -04:00
Mage.Sets [fix] Correct Prepare spell type for Diviner of Victory 2026-09-10 22:10:11 -05:00
Mage.Tests [FRA] Implement Empower Jace mechanic. Implement No Admittance (#16136) 2026-09-09 22:27:56 -05:00
Mage.Verify Implement Prepare Mechanic (#15601) 2026-09-08 23:43:19 -04:00
repository/com/googlecode/jspf/jspf-core Added local repository to pom 2012-07-25 20:22:18 +03:00
Utils Update mtg-cards-data.txt 2026-09-10 21:20:28 -05:00
.gitignore [dev] Util folder cleanup (#15699) 2026-08-02 09:30:17 -05:00
.travis.yml Added data collectors, AI and testing tools improves: 2025-07-05 21:44:55 +04:00
clean_dbs.sh make clean_dbs.sh executable 2015-11-08 22:32:42 -08:00
LICENSE.txt add current MIT license to root 2018-06-02 17:48:28 +02:00
Makefile tests: improved code and cleanup, improved load tests 2026-08-22 11:24:31 +00:00
pom.xml version bump 2026-08-12 12:26:29 +00:00
readme.md Update URLs in readme.md to use HTTPS (#16075) 2026-09-01 22:53:49 -05:00
sonar-project.properties added sonarcloud support (hopefully it works) 2019-01-05 11:29:35 -05:00

XMage — Magic, Another Game Engine

Build Status Latest release Commits since latest release

XMage is a full rules-enforcement engine for playing Magic against other players or computer AI, online or on your own server. It supports over 32 000 unique cards and more than 91 000 reprints across official sets, plus custom sets like Star Wars.

Local server supports a special test mode for testing combos and other game situations with pre-defined conditions.

There are public servers where you can play XMage against other players. You can also host your own server to play against the AI and/or your friends — including fully offline, with no internet connection required.

XMage community and resources:

Official public server with released version:

Other servers and status:

Features

  • The most tested open-source rules enforcement engine: ~9000 unit tests, ~80% coverage;
  • Cross-platform support: Windows, Linux, MacOS;
  • Two-player duels or multiplayer games (Commander and others) with up to 10 players;
  • Drafts, tournaments and single games with sideboarding supported;
  • Smart and fast AI opponents for both games and draft/deck-building;
  • Cheat-proof by design: all rules and hidden information are enforced server-side — clients never see or act on data they're not authorized to;
  • Deck editor (support deck import from multiple apps and services);
  • Players rating system (Glicko);
  • Supports dozens of formats and game modes like Commander, Oathbreaker, Cube, Tiny Leaders, Super Standard, Historic Standard and more;
  • Single matches or tournaments supported (elimination or swiss type handling), which can be played with up to 16 players;

Bug report / feature request

The best way to report bug or feature request is github's issues page.

Installation / running

  • Download files and follow install instructions on https://xmage.today/
  • You need to have Java version 8 or later to run launcher;
  • Recommended folder to unpack/install: D:\games\xmage (don't use Program Files or Download folders);
  • If you want to play with AI opponents then must run "server" app via the launcher and connect to it via localhost;

Wiki page contains detailed information about private or public server setup, developer onboarding and other useful things

Troubleshooting / FAQ

Github issues page contain popular problems and fixes:

Performance tweaks

The main way to increase performance or fix micro-freezes -- increase max memory usage by special java flag:

  1. Run launcher -> Settings -> Java tab -> Client java options text field;
  2. Add or change existing flag to -Xmx3000m or another value based on your free memory stats (recommended settings: 2000m for 1080p desktop, 3000m for 4k desktop). It's useless to give 5+ GB memory;
  3. If you play many AI games then it's recommended to change Server java options with same value too;

Development

Full project documentation and instructions for developers can be found in wiki pages.

First steps for XMage's developers:

Torch icons created by Freepik - Flaticon