Use the same Halo OG testing package as the other players:
test-v0.3.0-net11-dmg2.
If the release is unavailable, the download table
explains matching-commit CI artifacts.
You do not need to compile the game.
This revision adds the Mac installer screen. Its game app and other platform
ZIPs match test-v0.3.0-net11; both contain identical protocol-11 game builds.
Bring your own original Xbox Halo: Combat Evolved disc image (.iso / .xiso)
or extracted game data. Use one complete set. USA NTSC is recommended;
the community downloads require NTSC cache build 01.10.12.2276. PC, Custom
Edition, Anniversary, and MCC data are not substitutes.
Requires Apple Silicon and macOS 26 or later. Use the minimum recorded in
macos-README.txt / the package's README.txt if it changes in a later build.
- Open
Halo-OG-macos-arm64.dmgand drag Halo OG.app into Applications. - Open the app. This testing build is ad-hoc signed and unnotarized; if macOS blocks it, use System Settings → Privacy & Security → Open Anyway for this app after attempting to open it. See Mac installation.
- Choose your Xbox disc image, or Choose Maps Folder. A disc import extracts maps without changing the image. For a folder, Copy and Manage copies the maps into the app's data folder; Use This Folder keeps the external folder selected. Your originals stay in place.
- Select/create your profile and try a stock map before joining others.
Use Halo OG → Settings… or the menu-bar helmet for fullscreen, map selection,
download status, and Open Saves Folder. Data lives in
~/Library/Application Support/Halo OG/. First launch copies old
Halo CE Universal data where needed, preserving old and existing files. A
copy failure stops launch with an explanation so you can correct it and retry.
Escape pauses/releases the mouse; F12 releases or recaptures it. WASD moves, the mouse aims, and the left mouse button fires. Controls can be remapped; see Mac controls.
- Extract
halo-windows-release.zipinto a writable folder. Keephalo.exeandSDL3.dlltogether; run the extracted executable, not one inside the ZIP. - Open
halo.exe. If no maps are found, choose your original Xbox disc image in the game's import prompt. It extractsmapsbeside the executable. An existing completemapsfolder can also go there. - Select/create a profile and try a stock map.
This is a portable 32-bit x86 build for an x86/x86-64 PC with OpenGL 4.5.
An exact Windows runtime minimum has not been established by this playtest.
Settings are in config.toml beside the executable; saves default to
%APPDATA%\Halo OG. Old %APPDATA%\halo saves are copied without overwriting
existing data. See Windows setup.
- Extract
halo-linux-release.zipinto a writable folder. - Install your distribution's 32-bit glibc, SDL3, OpenGL/Mesa, and PipeWire or PulseAudio client libraries. The executable is 32-bit x86 and requires OpenGL 4.5. See Linux runtime requirements for package names; distribution compatibility still needs testing.
- From the extracted folder, run
./halo. If necessary, first runchmod +x halo. Select your original Xbox disc image when prompted, or put a completemapsfolder beside the executable. - Select/create a profile and try a stock map.
Settings are in config.toml beside the executable. Saves default to
$XDG_DATA_HOME/halo-og, usually ~/.local/share/halo-og. Old halo-linux
saves are copied while preserving existing files. See Linux setup.
- Extract
halo-android-release.zipand copyapp-release.apkto the device. - Install the APK, allowing installation from that file source if Android asks.
- Copy your Xbox disc image onto the device, open Halo OG, and use its file picker to select the image. Wait for map extraction to finish.
- Connect a game controller or keyboard. Android gameplay has no touch controls. Keep the app in the foreground during a match.
Requires ARM64, Android 9/API 28 or later, and OpenGL ES 3. Device gameplay is a playtest target. If Android reports a signature conflict with an older installation, back up its maps/saves before removing it—uninstalling can remove app data. See Android installation/data.
- Confirm everyone uses the same Halo OG release tag/commit, protocol 11, and matching map data. Old protocol-10 builds cannot join. For this first test, use a stock map and leave PB Options → Stock selected.
- The host opens Multiplayer → System Link and creates a game. Select a stock map such as Blood Gulch and a game type such as Slayer.
- On the same LAN, clients open Multiplayer → System Link and select the host's game. Allow local-network/firewall access if your operating system prompts; isolated guest Wi-Fi may prevent discovery.
- For an Internet test, the host shares the current
halo://join/…invite copied to its clipboard. The client copies the invite and returns to the game, or opens the registered invite link. Once the host appears in System Link, select it and join. The host app must remain running. - Start the match. Check movement, shooting, damage, deaths/respawns, audio, and the scoreboard on both machines. Play a second match without restarting.
Physical cross-platform and Internet/NAT play are still being validated. Report which pairing/network worked or failed; a successful CI build is not proof of that pairing. Invite/network details and Mac networking cover troubleshooting.
PB Options are optional. The host chooses them in the game type editor or multiplayer pause menu; all peers need compatible options support. Timer Sounds additionally require a separately supplied local audio pack. PB Options explains these settings.
First verify a stock-map match. The public collection contains 40 approved
community maps for original Xbox v5 NTSC data, about 863 MiB in total.
This includes PB community variants with their normal embedded Halo dependencies;
original disc images, stock map files, campaign files, and ui.map are excluded.
On Mac, open Halo OG → Settings…, enable Download approved community maps in the background, and accept the prompt. Check Maps / Retry refreshes the catalog. Missing maps from the collection are queued on launch while the app runs; joining a host whose approved map is missing also requests it. Watch the Settings progress/error text. Installed, verified maps work with downloads disabled and offline. Reopen map selection after completion; restart if the current session still holds an older selection. Downloads never replace your original maps.
On Windows/Linux/Android, automatic map downloads are not implemented yet.
Download the same approved
downrush.map
and put it into the active game's maps folder, keeping the exact filename.
Windows/Linux usually keep this beside the executable; Android keeps it under
/sdcard/Android/data/com.halo.decomp/files/maps/ (see its data instructions).
Mac can also use this file manually in its selected maps folder. Restart
after adding it. Preserve any existing same-name map first; all participants
must use the same bytes. The approved file is 26,480,640 bytes, SHA-256
3282e580e782f939ae00c63f01971238eb0f85db19a2467efe42b5cb5600d126.
For another map, open the public catalog,
find its id, and append its object_key to https://dl.oghalo.com/ to download
the approved file. Keep <id>.map as its filename and use the catalog's
file_bytes and sha256 to check it. All players need the same map bytes.
Downrush has completed two consecutive multiplayer matches on one Mac; the
other maps have short local load/render checks, with multiplayer/mode testing
still needed. All 40 public downloads have been checked against their hashes.
Manual downloads for all 40 community maps
Original stock maps and ui.map remain user-imported. A PC/Custom Edition map
cannot be made compatible by renaming it or changing its version field.
Map conversion explains the supported pipeline.
Open an issue in Halo OG with:
- The release tag and commit from
provenance.jsonorBuildInfo.txt. - Both devices' OS/CPU/GPU, controller or keyboard/mouse, and which is host.
- LAN or Internet, the map/build, game type, and whether PB Options were enabled.
- What you did, what happened, and whether restarting or a stock map changes it.
- Relevant log lines or a screenshot. Mac logs are
halo.login Application Support; Windows/Linux logs aredebug.txtin the active data root; Android hasdebug.txtin its app data folder.
Do not attach game data, private invite codes, credentials, or personal saves to a public issue. Check logs for personal paths before sharing. Keep originals and backups while testing. See current validation limits.