A weekend project by Damian Crisafulli 🍻

Implementation accelerated with Grok Bot 🤖

Credits

This site runs a game that other people spent a very long time taking apart and putting back together. 🍺 to all of them.

The game

ProjectWhat it providesLicense
punpckhdq/halo The original Halo: Combat Evolved decompilation, of the Xbox build 2342 (cachebeta.exe), with its byte-matching build. CC0-1.0
bnunu/halo-1 The fork of that decompilation that the port starts from. CC0-1.0
cybersecurity/halo-ce-universal The port of the decompilation to Linux, Windows and Android: Direct3D 8 on OpenGL, SDL3 input and sound, and the system link netcode. CC0-1.0
damiantw/halo-ce-universal This site's fork of the port: the headless dedicated server, its control channel, the WebAssembly build and the WebSocket gateway. CC0-1.0

Tools and libraries

ProjectWhat it providesLicense
Emscripten Compiles the game to WebAssembly for the browser. MIT / UIUC-NCSA
SDL Windowing, input, sound and the OpenGL context of the game (SDL3). Zlib
coder/websocket The WebSockets of halo-gateway, which relays the browsers to the dedicated servers. ISC
Ninja Builds the game. Apache-2.0
Laravel This site: the server manager, the admin and the /play page (with Octane and Reverb for the chat). MIT
FrankenPHP Serves the site and the game's files. MIT
Caddy HTTPS in front of the site, and the web server inside FrankenPHP. Apache-2.0

Legal

Halo is a trademark of Microsoft. This site is a fan project; it is not affiliated with or endorsed by Microsoft.

The game data is not included in the decompilation, the port or this site's source code. The maps this site serves come from its operator's own copy of the game. To play the port anywhere else you need your own Xbox disc image of Halo: Combat Evolved ("Game data" in the port's README).