Skip to main content

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.

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.
The client and server must run the same XMage version. If you connect to a public server, the launcher will update your client to match. For private servers, always update both sides together before a session.

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

1

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).
2

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.
# Good examples
D:\games\xmage          (Windows)
~/games/xmage           (Linux / macOS)
3

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.
Double-click XMageLauncher-x.x.x.x.jar in Explorer, or run the provided .bat wrapper:
XMageLauncher.bat
If nothing happens when double-clicking the JAR, your .jar file association may point to the wrong program. Open a Command Prompt in the XMage folder and run:
java -jar XMageLauncher-x.x.x.x.jar
GPU rendering artifacts (Windows): If you see garbled card images or UI elements, add the following flag to fix Direct3D rendering issues:
-Dsun.java2d.d3d=false
Add this in the launcher under Settings → Java → Client java options.
4

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.
Example flags for a machine with 4 GB of RAM to spare:
-Xmx2G -Xms512m
5

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.
6

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 the config/ 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:
FlagEffect
-Dsun.java2d.opengl=trueEnable OpenGL pipeline (Linux; see caveat about file chooser bug)
-Dsun.java2d.xrender=trueEnable XRender pipeline (Linux; more stable than OpenGL)
-Dsun.java2d.d3d=falseDisable Direct3D (Windows; fixes card-rendering artifacts)
-Xmx2GRaise max heap to 2 GB (helps with large game states or many open card images)
The Oracle JRE 8 2D rendering flags reference lists every available pipeline option if you want to experiment further.

Build docs developers (and LLMs) love