The XMage client lets you play Magic: The Gathering against human opponents on public or private servers, and against computer AI opponents locally. Installation revolves around the XMage Launcher — a small Java application that downloads and keeps the main XMage app files up to date automatically. You do not need to build anything from source; the launcher handles everything.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/magefree/mage/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- Java 8 or later installed. See System Requirements for details.
- An internet connection for the initial launcher download and subsequent app-file updates.
- ~200 MB of free disk space for the base install; several GB more if you download full card artwork.
Installation Steps
Download the Launcher
Go to http://xmage.today/ and download the latest launcher archive (a
.zip file containing XMageLauncher-x.x.x.x.jar and supporting files).Unpack to a Local Folder
Extract the archive to any permanent folder on your machine. Avoid paths that require administrator privileges to write to (e.g.
C:\Program Files on Windows) — the launcher writes update files into its own directory.Run the Launcher
The launcher checks for updated XMage app files on every start and downloads them automatically. On first launch this may take a few minutes depending on your connection speed.
- Windows
- Linux
- macOS
Double-click If nothing happens when double-clicking the JAR, your GPU rendering artifacts (Windows): If you see garbled card images or UI elements, add the following flag to fix Direct3D rendering issues:Add this in the launcher under Settings → Java → Client java options.
XMageLauncher-x.x.x.x.jar in Explorer, or run the provided .bat wrapper:.jar file association may point to the wrong program. Open a Command Prompt in the XMage folder and run:Configure JVM Options (Optional)
From the launcher menu bar choose Settings → Java. Here you can set:
- Client java options — JVM flags applied when the XMage client starts (e.g. heap size, rendering flags).
- Server java options — JVM flags applied when launching a local server from the launcher.
Connect to a Server
Click Start Client in the launcher. In the connection dialog, enter a server address and port (
17171 by default). Public servers are listed at http://xmage.today/servers/.To host your own server instead, see Server Setup.Download Card Images
On first connection the client will prompt you to download card images. You can also trigger this later from the client menu. Images are cached in the
xmage/mage-client/cache/ directory. A complete download of all sets can reach several gigabytes — you can choose to download only the sets you need.Client Configuration Files
The XMage client stores its preferences in theconfig/ folder inside your XMage installation directory. Most settings are managed through the launcher and client UI, but you can inspect or edit these files directly if needed. Do not edit them while the client or launcher is running.
JVM Performance Tweaks
XMage targets the JRE 8 rendering pipeline. The flags below (set under Settings → Java → Client java options) can noticeably improve performance on capable hardware:| Flag | Effect |
|---|---|
-Dsun.java2d.opengl=true | Enable OpenGL pipeline (Linux; see caveat about file chooser bug) |
-Dsun.java2d.xrender=true | Enable XRender pipeline (Linux; more stable than OpenGL) |
-Dsun.java2d.d3d=false | Disable Direct3D (Windows; fixes card-rendering artifacts) |
-Xmx2G | Raise max heap to 2 GB (helps with large game states or many open card images) |
