XMage — Magic, Another Game Engine

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:
- http://xmage.today/servers/ (temporarily out of service)
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 http://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:
- Run launcher -> Settings -> Java tab -> Client java options text field;
- 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;
- 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