Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Chupathingy

Halo CE: Ported for Everyone.

Windows Mac Linux SteamOS Android FreeBSD

In testing
Xbox Xbox 360 Wii U Switch

Community ports
PSP, Vita, PS3, PS4, PS5 Xbox Series

Download · chupathingy.org · Games online now · Discord

License: GPL-3.0-or-later Latest release Discord

Chupathingy in a multiplayer game

Play Halo: Combat Evolved on your PC, Mac, Steam Deck or phone. Campaign, split screen, System Link, and online games with players on every platform.

It plays like the Xbox game. Everything extra is a setting.

You need your own copy of the game. Chupathingy never includes or downloads Microsoft's files.

New: Halo MCC maps

Own Halo: The Master Chief Collection on Steam? Its Halo CE Workshop maps now play in Chupathingy, on Windows, Mac and Linux.

  • Browse the Workshop in the Delta Guide, with each item's picture and page.
  • Link Steam once by scanning a QR code with the Steam app. The game never sees your Steam password.
  • Maps download straight from Steam, with no Steam client needed. Once they're in, they play offline or online.
  • MCC maps show in every map screen, with search, next to your Xbox and PC maps.
  • Host and join MCC games, on your own machine or a dedicated server.

How it works, and what you need: docs/mcc.md.

The Workshop in the Delta Guide, listing MCC maps and campaigns A Workshop item's page, ready to download

Playing a multiplayer map from the Workshop Windfall Island, a Workshop map, in game

Get it

Download the latest release from the Releases page.

SystemDownload
Windows 10 or laterchupathingyce-windows64-release.zip
Mac, Apple silicon or Intelchupathingyce-macos-release.zip
Linuxchupathingyce-linux64-release.AppImage
SteamOSchupathingyce-linux64-release.AppImage
Android 9 or later, 64-bitchupathingyce-android64-release.zip
FreeBSDchupathingyce-freebsd64-release.zip

Step-by-step setup for each system, including the Steam Deck, is in docs/install.md. Older 32-bit PCs and the Linux zip are there too.

The game checks for updates when it starts and asks before installing one. It only installs updates we've signed. On a Mac, it opens the download page instead.

First start on Windows. If Windows warns about an unknown publisher, choose More info, then Run anyway.

First start on a Mac. Move ChupathingyCE to Applications and open it. If macOS won't open it, go to System Settings > Privacy & Security and choose Open Anyway. You only do this once.

Set it up

  1. Start Chupathingy.
  2. Pick your Halo: Combat Evolved disc image (.iso or .xiso) from the original Xbox. Any region works.
  3. Wait while it copies the maps (about 2 GB). Then you're in.

Have Halo PC or Custom Edition? The same screen takes the Halo PC disc and the Custom Edition installer too. See docs/maps.md.

On Android, copy the disc image to your phone first.

Where your maps, settings and saves go: docs/install.md.

Play online

  • Join a game. Open Multiplayer > Online Games, pick a game and press A. Or press Join on stats.chupathingy.org.
  • Host a game. In Online Games, press Y to create one. Everyone can see it on the list.
  • Invite a friend. Send them your game's invite link.
  • Play the campaign together. Host it online from Create Game. Here's how.

Chupathingy players on every platform play together. Compatible with OpenCE build-355 (network version 44) for online play: their players can join your games, and you can join theirs.

Friends can't get into your game? See docs/online.md.

Online Games A carnage report

Features

Playing together

  • An Online Games list in the Multiplayer menu
  • Our servers around the clock, plus the community's
  • Split screen for up to four, and System Link with no internet or account
  • Online co-op through the campaign
  • Friends, parties and clans in the Delta Guide (F3), with party links you can paste in Discord
  • Text and voice chat, and host tools to kick or ban

Maps

  • Every Xbox map from your disc
  • Halo PC, Custom Edition, HaloMD and MCC Workshop maps, side by side with the Xbox ones
  • Missing maps download when you join, and each one is checked before it's used
  • Community Xbox map packs, like Halo CE+
  • Stubbs the Zombie, an early work in progress, from your own Xbox maps (off by default)

Your stats

  • A carnage report with medals for every finished game
  • Service records and leaderboards on stats.chupathingy.org
  • Your Delta profile, right in the game

How it looks and feels

  • The Xbox menus, with Halo PC's settings added
  • High-res HUD and text, and widescreen
  • Controller layouts, Bumper Jumper included, with button prompts for Xbox, PlayStation and Nintendo pads
  • 5.1 and 7.1 surround, and a headphone 3D mode
  • The intro and cutscene movies from your disc

Danger Canyon Split screen Delta Profile

Text chat Host tools A HaloMD map

Every setting, and the config.toml file behind them: docs/settings.md. What each platform has: docs/builds.md.

Consoles

Chupathingy also runs as homebrew on consoles, in the same online games as everyone else. Most are test builds for now.

ConsoleGet it
Original Xboxwarthog-xbox, test builds
Xbox 360warthog-360, test builds
Wii Uwarthog-wiiu, test builds
Nintendo Switchwarthog-switch, by thelinkin3000
PlayStation 3warthog-ps3, by Mayo1970. Work in progress, no release yet.

Other developers have ported it to the PSP, PS Vita, PS4, PS5, Xbox Series (UWP), the Steam Link, and the iPhone, iPad and Apple TV. They play in the same games.

Xbox 360 Wii U

Run a server

The dedicated server runs a playlist of games around the clock. It runs on Linux (x86, x64 or arm64, Raspberry Pi too), on 64-bit Windows, or in Docker, and needs no port forwarding. It can host MCC Workshop maps too. Start with server/README.md.

Builds

Releases are the stable builds, and the game updates itself from them. Want the newest changes early? Pick an update channel in Settings > Online > Updates, or on the setup screen's Updates tab:

  • Release (the default) gets releases only.
  • Testing gets test builds first, and may have bugs.
  • Nightly gets a build of main every night, and the test builds too.

Testing and Nightly still get each release. You can switch back to Release anytime. The game never installs an older build, so after a test build you stay on it until the next release comes out. More in docs/install.md.

Help

Ask on the Discord. It's also where people find games and report bugs. You can file bugs in issues too.

Fixes for common problems, and how to send your logs, are in docs/help.md.

Build it yourself

You need Python 3, ninja and clang. You don't need the Xbox SDK.

python3 configure.py
ninja

Every target and option is in docs/building.md.

Generative AI

The decompilation this project is built on, and the port it began as a fork of, were made with heavy use of generative AI. Chupathingy has its own code and releases now, but a lot of that earlier work is still in it.

We use AI tools the way developers use any other tool. A person decides what to build, reviews every change, tests it, and is responsible for it. Nothing is handed to an AI to build from start to finish without a person involved. We're also working through the code we inherited to clean up what reads as machine-written: comments that only repeat the code, unclear names, and changes nobody can explain.

If you contribute, the same applies to you: see CONTRIBUTING.

License

Chupathingy is free software under the GNU General Public License, version 3 or later. It comes with no warranty. Releases up to 0.7.5d stay under CC0. The details, and the permission for console SDKs, are in docs/license.md.

The license covers Chupathingy's code only. It gives no rights in Halo or anything else Microsoft owns.

Support

Chupathingy is free and always will be. Support through Ko-fi goes to running the site and the servers. If there's a specific developer or port you'd like to support, ask them: they may not be part of our community.

Credits

  • Chupathingy: Milenko and contributors.
Contributors

Fixes from other people's pull requests and forks, taken into Chupathingy with their authors credited in each commit.

  • Tyberious: Xbox ADPCM decoding without the 344 Hz buzz, vertex constant serials that never wrap, pose snapping for frame interpolation, and the clip-space position kept on the desktop (no more first-person vertex spikes).
  • thelinkin3000: the motion sensor for three and four local players (a split screen crash), and split screen dividers where the views meet on a wide screen.
  • xshxdex98 (DamnationCE): the pause menu's QUIT by mouse or keyboard, and lens flares out of view no longer tested.
  • zimm3rmann: visibility test slot 0 kept apart from the scratch query (lens flares sharing a result).
  • nsafran1217: no hang where the visibility results buffer cannot be mapped.
  • saulob: the first menu frame's colors.
  • natsu-anon: the cursor hidden during play.
  • lantos1618: no ghosting in the zoom effect at high resolutions; on macOS, Command-W does not quit and Command-Q asks twice.
  • pfista: projectile trails ready before a weapon's first shot.
  • JoshRob297: hosts that run their own games (the dedicated servers) no longer refuse every join after one arrived as a game ended.
  • HiIAmMoot (Mootjuh): the Android menus by touch, and starting a multiplayer game alone (game.start_with_one_player, first debug.solo_game), now on by default.
  • oatkrs: crisp windowed rendering and no audio cut-outs on macOS, and a corrupted script thread dropped instead of halting the game.
  • Renkoto: the FreeBSD port (port/unix, ninja freebsd64) and its Delta platform, 13.
  • JizzyRivers: the iOS port (port/ios), Custom Edition maps and the Map Browser on the original Xbox, and the consoles' start-up screens and updates.
  • startupfoundry and pastudan (OpenH1): camera shake, particle streams, change colors and camo smoothed between ticks, a faster audio resampler and limiter, a lighter scope zoom at high resolutions, and a map's first frame drawn through every shader, which lists the stock maps' shaders and makes bgfx's pipelines before play.
  • chestahh (GulchCE): lens flares and light glows back on AMD graphics, less stutter the first time a texture is drawn on Windows, host cheat and shadow setup fixes, and the Halo MCC map loader: MCC Workshop and MCC install maps, their scripts, HUDs, effects and campaigns.
  • PeterRichardsonGolf and the other GulchCE contributors: the Steam Workshop catalog with its items' titles and collections, and the MCC sharing rules.
  • mOTA-lEV (OpenCE-Faber): projectiles and damage that forget objects deleted under them.
  • bitmoda (mastercheese's OpenCE fork): the clock read only when something needs it.
  • theLlamaNet: the Android on-screen touch controls, through JoshRob297's halo-ce-touch.
  • Guven (GuvenHuso) and hispanorum (OpenCE): the debug camera flown by mouse and keyboard, and its saved spot kept for the player in view (written from a description of their work).
  • Fonts: Cyborg Interface Gothic, the font of the game's text and of our own screens, by fizzy, made to match Halo's interface font from Overpass and glyphs of their own (SIL OFL); the menus' titles in Chupathingy Titles, Newtown by Roger White (public domain), respaced to sit where Halo's titles do (SIL OFL); Overpass (SIL OFL); Noto Sans (SIL OFL), for the letters Cyborg lacks, and Kenney's Input Prompts (CC0); the scoreboard's platform logos are one-color marks from Simple Icons (CC0) and Wikimedia Commons (public domain), plus our own Xbox 360 ring and Wii U GamePad; the names and logos are their owners' trademarks, used only to identify platforms. The same marks make the platform badges at the top of this page. BSD Daemon used with permission.
  • The service record is our own (on the site since September, and in the Delta Guide's SERVICE RECORD). The Guide's local career totals and top medals (port/linux/src/service_record.c) follow the career record in mOTA-lEV's OpenCE-Faber, used under GPL-3.0 with his permission.
  • Controller button icons by snapchipper, CC0 (port/assets/prompts).
  • The Xbox's 3D sound and reverb (audio.hrtf, audio.reverb): the HRTF measured on an Xbox and the reconstruction of its DSP reverb are OpenH1's work, brought into GulchCE by chestahh (port/linux/src/dsound_xbox_*, docs/reading/xbox_audio.md).
  • High-res HUD art on the Xbox maps: Aerocatia's and Jessie's HUD art from Halo PC Restored (release r220), used with Aerocatia's permission on the condition that both are credited; port/assets/hud/NOTICE.md lists which files are theirs.
  • HD HUDs on Custom Edition maps (MCC's "0.5 HUD scale" and Chimera's "force HUD use high resolution scale" flags): ugoboom, tested with Aerocatia's halopc-restored resource maps.
  • Stubbs mode reads Stubbs the Zombie's maps with layouts from Sigmmma's reclaimer (GPL-3.0). The maps aren't included.
  • Grifball courts: Bomb plays on SlappyThePirate's "Grifball Beta" court (grifball.map), which is open to use with credit; the map is not included.
  • HaloMD map names: from MacGamingMods' public HaloMD mod list, so the menus can show each map's own name.
  • Missing Custom Edition maps: downloaded from the community map repositories, as Chimera uses them (maps.halonet.net, the HAC2 map repository, and its mirrors). Chupathingy's downloader is its own code; Chimera showed where the repositories are and how they answer.
  • Chimera by SnowyMouse and contributors (GPL-3.0): Halo PC fixes reference and the compressed map format.
  • Security reports: nickarcade, who reported the dedicated server's control panel permission gap fixed in #462.
  • Libraries: SDL3, stb, Mbed TLS, miniupnpc, KCP, tomlc17, musl's maths, Expat, Monocypher, zlib, Zstandard (BSD-3-Clause), the LZMA SDK's decoder (Igor Pavlov, public domain), SMAA, and Project Nayuki's QR Code generator (MIT). Their licenses are beside them in port/third_party. The 64-bit desktop builds' test renderer uses bgfx, bx and bimg by Branimir Karadžić (BSD-2-Clause), with glslang and SPIRV-Cross (Khronos, BSD-3-Clause and Apache-2.0), fetched at build time (tools/bgfx_build.py). Every download carries their notices and full license texts in one file, THIRD-PARTY-NOTICES.txt.
Findings and testing
  • Sabriel and ugoboom: the Halo PC map reports and regression lists behind most of the Custom Edition fixes.
  • Sabriel, roundzabout and Mega: Grifball playtesting and the bugs and tweaks it turned up.

Where it came from

Chupathingy is a port of the Halo: Combat Evolved decompilation (punpckhdq/halo and bnunu/halo-1). It began as a fork of OpenCE, an earlier port of that decompilation (the code is theirs up to October 9, 2026), and has had its own code, releases and community since.

  • The decompilation: punpckhdq/halo and bnunu/halo-1, of the Xbox build 2342.
  • The port Chupathingy began as a fork of: OpenCE and its contributors, up to October 9, 2026.
  • Later fixes taken from OpenCE (CC0), with their authors kept in the history: startupfoundry, xshxdex98, hkmodd, eltanschauung, justinfilip, bertoaldo, addisonbair, thelinkin3000, bmanturner, chestahh, FDervish, frankyfife, actes2, crowtrx and MrBruh (by their GitHub handles). The wire format tool (tools/network_format.py) is addisonbair's and MrBruh's.
  • The icon: MrBruh's helmet from OpenCE, with tusks.
  • bnunu: Custom Edition map findings from the custom-edition-maps branch, credited in the commits they led to, and the larger texture cache for Halo PC maps, which that branch had first.
  • MrBruh (build-145's Custom Edition loader, from DamnationCE's work by xshxdex98): maps that need OpenSauce refused with a clear reason, the missing-map message when joining, and the custom_maps\<name> naming our hosts and clients share with OpenCE.

Chupathingy is an unofficial fan project. It isn't affiliated with or endorsed by Microsoft, Xbox Game Studios, Bungie or Halo Studios. Halo is a trademark of Microsoft. No game files are included: you bring your own copy. The code is released under the GNU GPL, version 3 or later (see License).

关于 About

Halo CE: Ported for Everyone. Windows, Mac, Linux, Steam Deck, Android and FreeBSD, with online games and stats. Bring your own copy of the game.
androidcross-platformcustom-editiondecompilationdedicated-serverfreebsdgame-porthalohalo-cehalo-combat-evolvedlinuxmacosmultiplayeronline-multiplayersdl3split-screensteam-deckwindows

语言 Languages

C88.0%
Python8.8%
C++1.7%
Java0.6%
Swift0.2%
JavaScript0.2%
Objective-C0.1%
Assembly0.1%
Pascal0.1%
HTML0.1%
Makefile0.1%
Shell0.0%
CSS0.0%
DIGITAL Command Language0.0%
CMake0.0%
Roff0.0%
Dockerfile0.0%
SAS0.0%
Batchfile0.0%
Module Management System0.0%
Linker Script0.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
6766
Total Commits
峰值: 885次/周
Less
More

核心贡献者 Contributors