Native Apple Silicon port of Command & Conquer: Generals and Zero Hour with Generals Online multiplayer, a direct Metal renderer and a one-click launcher.
Not Wine, not CrossOver, not Parallels, not an emulator: the game engine is recompiled for ARM64 macOS with its own DirectX 8 → Metal translation layer.
| 🌐 Website | general-online-zh.web.app — install guide in 12 languages, FAQ, mod list |
| 🎮 About the project | generals-online-mac.github.io — what the port is, in plain words, with screenshots |
| 📥 Download | Latest Generals Online for macOS |
| 🎬 YouTube | Install guide, 5–10 minutes · Channel: Metal gameplay, 8-AI stress test |
| 💬 Find players | Telegram chat · Discord |
| 📣 News | Telegram channel |
The game data is not shipped with the port: you need your own copy of C&C Generals Zero Hour, for example from Steam.
| Area | Status |
|---|---|
| Native Apple Silicon (ARM64) build, macOS 13+ | ✅ Working |
| Direct Metal rendering backend | ✅ Working |
| Zero Hour and classic Generals: skirmish, campaign, saves | ✅ Working |
| Online multiplayer (macOS ↔ macOS) | ✅ Working |
| Online multiplayer (macOS ↔ Windows) | 🔄 In review — PR #2670 |
| Mods installed from the launcher | ✅ Working |
| Native macOS audio (AVAudioEngine) | ✅ Working |
| macOS launcher (SwiftUI) with Steam download | ✅ Working |
| Replay compatibility (macOS ↔ macOS) | ✅ Working |
| Replay compatibility (from Windows) | 🔄 Requires deterministic math |
GeneralsX by fbraz3 is a separate project with a different goal — one codebase for every desktop OS:
| This Port | GeneralsX | |
|---|---|---|
| Target platform | macOS Apple Silicon (native) | Linux, macOS, Windows (cross-platform) |
| Rendering | Custom DX8 → Metal bridge | DXVK (DX8 → Vulkan → MoltenVK on macOS) |
| Windowing | Native macOS (Cocoa) | SDL3 |
| Audio | AVAudioEngine (native macOS) | OpenAL |
| App Size & Overhead | ~12 MB (Native APIs, no wrappers) | ~78 MB (Bundled DXVK, MoltenVK, SDL3) |
| Online | Official Generals Online servers (playgenerals.online), shared with the main community | Own server, a fork of the Generals Online server, for GeneralsX builds |
| Cross-platform play | macOS ↔ macOS today, Windows once deterministic math lands upstream | macOS, Linux and Windows GeneralsX builds play together |
| Codebase | Fork of Generals Online (GOD Team) | Fork of TheSuperHackers, with the Generals Online network protocol integrated by hand |
Both projects keep C&C Generals alive on modern platforms and take different routes to it:
- This Port focuses on a first-class native macOS experience: writing directly to Metal, Cocoa and AVAudioEngine leaves no translation layer between the game and Apple Silicon.
- GeneralsX targets broad cross-platform compatibility: a separate backend for each operating system would be a huge effort, so DXVK serves as one rendering path for every OS.
The long-term hope on both sides is the same: once deterministic math is part of Generals Online, every port can play in one shared player pool instead of splitting the community across separate servers.
- Apple Silicon Mac (M1 or newer)
- macOS 13 (Ventura) or later
- Xcode Command Line Tools (
xcode-select --install) - Original C&C Generals Zero Hour game files
The port lives in the okji/feat/macos-port branch.
git clone -b okji/feat/macos-port https://github.com/OKJID/GameClient.git
cd GameClient
sh build_run_mac.sh # Build and launch
sh build_run_mac.sh --clean # Clean rebuild| Document | Description |
|---|---|
| Platform/MacOS/docs/README.md | macOS port architecture overview |
| Platform/MacOS/docs/SETUP.md | Build setup and prerequisites |
| Platform/MacOS/docs/RENDERING.md | DX8 → Metal rendering pipeline |
| Platform/MacOS/docs/FILE_SYSTEM.md | File system and resource resolution |
| Platform/MacOS/docs/DEVELOPMENT.md | Development guidelines |
| Platform/MacOS/docs/BUILD_SYSTEM.md | CMake build system details |
| Platform/MacOS/docs/IMPLEMENTATION_STATUS.md | Detailed implementation status |
EA — the original game (2003), source code released under GPL-3.0
└── TheSuperHackers/GeneralsGameCode the community codebase: Generals and Zero Hour
├── GeneralsOnlineDevelopmentTeam/GameClient the fast track behind the Generals Online service
│ └── OKJID/GameClient this macOS port
└── Okladnoj/GeneralsGameCode deterministic math
- TheSuperHackers and the Generals Online Development Team are one Windows community working on two tracks. TheSuperHackers keep the full codebase and move carefully; the GOD Team is the fast track that launched the Generals Online service and regularly pulls from TheSuperHackers.
- This macOS port is an independent effort, not part of either team. It forks the GOD Team client because the online service lives there, and sends its shared changes back to both projects as pull requests, for example GameClient #457.
- Deterministic math is developed in Okladnoj/GeneralsGameCode and contributed to TheSuperHackers as #2670. Once it lands, the two tracks are expected to converge, and Windows and Mac players share one simulation.
Contributions are welcome! If you're interested in helping with the macOS port — especially in areas like deterministic math, Metal rendering, or audio — join the discussion in the pull requests above or open an issue.
Please read CONTRIBUTING.md before submitting a pull request.
EA has not endorsed and does not support this product. All trademarks are the property of their respective owners.
This project is licensed under the GPL-3.0 License. See LICENSE.md for details.