XMage is a multiplatform Java application that runs on Windows, Linux, and macOS. Whether you are joining an existing public server as a player or hosting your own private server for friends and AI opponents, understanding the minimum requirements before you begin will save you troubleshooting time later. The sections below outline what you need for each role.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.
Java
Both the XMage client and server require Java 8 or later. The project is compiled with<java.version>1.8</java.version> source and target compatibility (as declared in the root pom.xml), so any JRE or JDK from version 8 onward will work. Oracle JDK, OpenJDK, Eclipse Temurin, and Amazon Corretto are all compatible distributions.
On macOS with Apple Silicon (M1/M2/M3), use a native ARM64 JDK such as Eclipse Temurin for macOS AArch64 or Azul Zulu for ARM. Running an x86-64 JDK under Rosetta 2 works but may cause rendering glitches and reduced performance.
Supported Operating Systems
| Platform | Status |
|---|---|
| Windows 10 / 11 (64-bit) | ✅ Fully supported |
| Windows 7 / 8 (64-bit) | ⚠️ Works, not actively tested |
| Linux (x86_64) | ✅ Fully supported |
| Linux (ARM / Raspberry Pi) | ⚠️ Community-supported |
| macOS 11+ (Intel) | ✅ Fully supported |
| macOS 12+ (Apple Silicon) | ✅ Requires native ARM JDK |
Hardware Requirements
The table below shows recommended minimums for each role. Running both client and server on the same machine requires combining the figures.| Component | Client (player) | Server (self-hosted) |
|---|---|---|
| Java | 8 or later | 8 or later |
| RAM | 512 MB minimum; 1–2 GB recommended with images loaded | 1 GB minimum; 2–4 GB for active multiplayer |
| CPU | Any dual-core, 1 GHz+ | Any dual-core, 2 GHz+ for multiple concurrent games |
| Disk space | ~200 MB base install; card image cache can reach several GB after full download | ~200 MB base install; additional space for saved games if enabled |
| Display | 1280 × 800 or higher | Not required (headless) |
| Network | TCP access to server on ports 17171 and 17179 | Ports 17171 and 17179 open inbound through firewall/NAT |
Network Ports
XMage uses two TCP ports for its JBoss Remoting bisocket transport:| Port | Purpose | Config attribute |
|---|---|---|
| 17171 | Primary server socket (client connections) | port |
| 17179 | Secondary / callback socket | secondaryBindPort |
secondaryBindPort is set to -1 in config.xml, the server will choose a random ephemeral port at startup — this can be problematic behind NAT or strict firewalls, so it is best to keep the explicit value for public servers.
macOS-Specific Notes
macOS users with M1 or M2 hardware should also verify that their installed Java binary is a native ARM build:x86_64, install an AArch64 JDK to avoid potential GUI freezes and degraded performance.