# OpenMoHAA: an open engine for Medal of Honor: Allied Assault

> OpenMoHAA is a C re-implementation of the Medal of Honor Allied Assault engine, built on ioquake3 and the F.A.K.K SDK, that keeps the original assets, scripts and multiplayer working on Linux, Windows and macOS. It is not finished, and the project says so with a note comparing it to a beta build from the era of LAN parties.

**openmoh/openmohaa** — Open re-implementation of Medal of Honor: Allied Assault including Spearhead and Breakthrough expansions with modern features and bugfixes from ioquake3 with cross-platform support

- Repository: https://github.com/openmoh/openmohaa
- Website: https://docs.openmohaa.org/
- Stars: 846 · Forks: 85
- Language: C
- License: GPL-2.0
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/openmoh-openmohaa

## An engine re-implementation, not a game

OpenMoHAA describes itself as an open source project aimed at preserving and enhancing Medal of Honor: Allied Assault, including the Spearhead and Breakthrough expansions, by providing more features and bugfixes across modern platforms and architectures.

The distinction that matters is between the engine and the game. OpenMoHAA is the engine, written in C and built on ioquake3 and the F.A.K.K SDK, and it is designed to run the original game's assets, scripts and multiplayer. The claim of full compatibility with the original, covering assets, scripts and multiplayer, is the technical core of the project: the thing people love about Medal of Honor: Allied Assault is the mission scripting and the atmosphere, and an engine replacement is only interesting if it preserves that.

The original data remains proprietary. What OpenMoHAA provides is the executable side, so a player who owns the retail release supplies the assets and the project supplies everything else.

The README also carries a line worth repeating: OpenMoHAA is an independent project and is not affiliated with or endorsed by Electronic Arts. For a game remake that is standard, but for this one it matters, because the target is a modern military shooter whose publisher is not on hand to bless the successor.

## What ioquake3 and the F.A.K.K SDK contribute

The upstream basis explains most of the technical character of the project.

ioquake3 is the community-maintained open source release of the Quake III engine, and inheriting from it brings the general engine architecture, the renderer, the client and server split, and the accumulated modern-system fixes. A project that forked ioquake3 rather than starting from the id source inherits a codebase that already runs on current compilers and current platforms, which is why the F.A.K.K SDK appears alongside it.

The F.A.K.K SDK is the Ritual Entertainment SDK, the one that shipped with the Return to Castle Wolfenstein era engines, and the Medal of Honor: Allied Assault engine descends from that lineage. Using it means the mission scripting behaviour, the game logic and the entity behaviour are built on the same foundation the original game used, which is the most plausible route to the compatibility the README claims.

The consequence for a user is that OpenMoHAA is closer to a maintained branch of an existing engine than a from-scratch project. That helps in two ways and hurts in one. It helps because the multiplayer stack, the mod ecosystem and the console code are already understood by the community, and it helps because a new feature lands in a codebase that other people know. It hurts because a fork carries a fork's constraints, and a large inherited codebase is harder to change than a small one.

The dependency list in the README is longer than a typical game engine needs: Flex and Bison for parsing, SDL for input and windowing, OpenAL and LibMAD for audio, cURL, and the Libogg, Libvorbis and Libopus trio for sound formats.

## What changed relative to the original game

The feature list in the README is where the value sits, and it is more than a list of bugfixes.

Cross-platform support for Linux, Windows and macOS is the headline, along with better support for modern systems generally. Both single-player and multiplayer modes are supported, and the README states that all fixes from Spearhead 2.15 and Breakthrough 2.40b are included, which means the two expansions are supported at their final patch levels rather than at their launch state.

Then there are additions: bots and a ban system are named explicitly. The bot support matters more than it sounds, because a shooter from 2002 is far less replayable without opponents, and built-in bots serve both offline practice and testing, with the documentation giving a dedicated section on setting them up.

The README also points to a list of differences, hosted in the documentation under the introduction section, and that document is the honest place to look before installing. A project of this kind always differs from the original in some places, whether through a deliberate fix or through an accident of the port, and the differences list is how the maintainers communicate that.

On the multiplayer side the README describes the state as almost fully stable, with every official game mode supported including the Spearhead and Breakthrough additions: Free-For-All, Team-Deathmatch, a round-based match, an objective match, Tug-of-War from Spearhead and Liberation from Breakthrough. Popular mods such as Freeze-Tag are supported.

## The project tells you it is not finished

There is a note in the README that deserves to be read as documentation rather than as decoration. OpenMoHAA has not hit version 1.0.0 yet, and the project asks readers to think of it like a beta build from the golden age of LAN parties: features are being added, bugs are getting squashed, and more things are being tweaked, so things might change, break or get better over time.

That is an unusually direct framing, and it is a fair description of a game engine in active development. The recent releases support it, with v0.82.1 from 2025-08-05 and v0.82.0 from 2025-07-11, both carrying a beta marker in their tag names, and a dev build tagged from a commit hash. A version number below 1.0 combined with beta tags in the release names is a project signalling that the interface may still move.

The bug reporting guidance follows the same logic. The README asks for a GitHub issue using the template, and points to a Discord for quick help, with the project describing itself as one where things get squashed over time rather than one with a frozen release.

The repository is not archived and the last push was on 2026-04-23, so the code is being worked on. The build system is CMake, with a CMakeLists.txt at the root and a cmake/ directory, a .clang-format for the C sources and a CHANGELOG.md, and the documentation notes the LAYOUT.md file, which describes how the source tree is arranged.

## Where OpenMoHAA is the wrong tool

The first limitation is the asset requirement. This is an engine, so the original game data is still needed, and the installation and running documentation deals with where those files go and which expansions are detected. Anyone without a copy of the original has nothing to run, and the project does not redistribute the assets.

The second is the beta status. If you need a stable, frozen release for an archive or a kiosk or a shared server that must not change behaviour, a 0.x project with beta tags is the wrong dependency, and the README itself frames the state as pre-1.0.

The third is the multiplayer caveat. The README says almost fully stable, and that almost is doing real work in that sentence. A game server depends on other people connecting to it, and the community around a project this size varies in size over time. The README links to 333networks and to a Discord, and the MOH-DB database, which are community resources rather than guarantees.

The fourth is the scope of the effort. The single-player campaign is described as something that should work across Allied Assault, Spearhead and Breakthrough, with a request for bug reports if it does not. The wording is careful, and for a re-implementation spanning three campaigns it implies a long tail of small issues rather than a clean experience.

The fifth is that the platform coverage is about the engine, not the game. Modern operating systems are supported, but modern hardware expectations are not, and the project is not trying to change what the game feels like.

## OpenMoHAA compared with ioquake3 and with the Wolfenstein: Enemy Territory forks

The comparison with ioquake3 is direct, since ioquake3 is the base. ioquake3 is the open release of the Quake III engine, and it runs Quake III, Team Arena, the standalone Jedi Knight games and Return to Castle Wolfenstein. OpenMoHAA takes that engine and its networking, and adapts it to the F.A.K.K lineage so that Medal of Honor: Allied Assault content runs on it.

The difference in approach is that ioquake3 games are first party or close to first party, so the engine and the game were developed together, while OpenMoHAA is a community project targeting a game whose publisher is not involved. That is the whole reason the project exists: the original engine was never released as source, and the closest open engine available was the Quake III one that the F.A.K.K SDK descends from.

The Enemy Territory forks are the other comparison. OpenArena and the Wolfenstein: Enemy Territory community forks are also Quake III derivatives that add modern platform support, and they are the template OpenMoHAA follows: a community takes ioquake3, maintains it for current compilers and systems, and adds the content and features the original had. Where Enemy Territory forks are essentially done, serving a stable multiplayer community with a settled feature set, OpenMoHAA is still in the 0.x range.

Against a modern shooter, the comparison is not close on graphics, physics or input, and it is not trying to be. What OpenMoHAA offers that a modern game does not is the specific mission design and atmosphere of 2002, and for the players who want that, a working multiplayer stack is the deciding factor.

## Licence, legal boundary and community resources

The licence field on the repository records GPL-2.0, and the repository contains a COPYING.txt file at the root alongside the CHANGELOG.md and the CONTRIBUTING.md.

There is a legal boundary worth stating plainly. The engine code is open under the GPL, and the original Medal of Honor: Allied Assault assets, which Electronic Arts publishes, are not. The README states the project is independent and not endorsed by Electronic Arts, and a user supplies their own copy of the original game. That is the standard arrangement for a community engine, and it is why the project can be distributed at all.

For a server operator, the practical point is the same as for a player: the data files live in the installation directory and the engine is what the project provides.

The community infrastructure is listed in the README as resources: the GitHub repository, MOH-DB, 333networks, the ModDB and GameBanana pages for the game, and a Discord invite. The project also links to a documentation site at docs.openmohaa.org, with the game settings and configuration page, the code and scripting reference, and the contributing guidelines, plus separate pages for installation, running the game and the expansions, a FAQ and troubleshooting page, and a guide to setting up a game server.

The most useful of those for a new user is the list of differences, because it is the shortest route to knowing what this engine does differently from the game it replaces.

## Conclusion

OpenMoHAA suits a player who owns the original Medal of Honor Allied Assault release and wants it running on a current operating system with a working multiplayer stack, bots and community servers, or a modder who wants a maintained ioquake3 derivative to build on. It is the wrong tool for anyone without the original assets, since the project supplies an engine rather than the game, and the wrong tool for a project needing a stable 1.0 release, because the README is explicit that 1.0 has not been reached. Before installing, read the differences list in the documentation, and check the licence file, because the engine code and the original game data are covered separately.

## FAQ

### What is OpenMoHAA and what does it need to run?

OpenMoHAA is an open source C re-implementation of the Medal of Honor: Allied Assault engine, built on ioquake3 and the F.A.K.K SDK. It is the engine rather than the game, so the original game assets are still required.

### Which platforms does OpenMoHAA support?

Linux, Windows and macOS, according to the README, along with better support for modern systems. The repository is built with CMake and the build documentation is linked from the README.

### Does OpenMoHAA have bots?

Yes. Built-in bots are included for offline practice and for testing, and the documentation has a section on setting them up. The README also lists a ban system among the additions over the original game.

### Is OpenMoHAA stable yet?

The README states the project has not reached 1.0.0 and asks readers to think of it as a beta build, and it describes multiplayer as almost fully stable with all official game modes supported.

### Which game modes can I play in OpenMoHAA multiplayer?

All official modes including the Spearhead and Breakthrough additions: Free-For-All, Team-Deathmatch, a round-based match, an objective match, Tug-of-War from Spearhead and Liberation from Breakthrough. Popular mods such as Freeze-Tag are also supported.

### Can I host a server with OpenMoHAA?

Yes. The README says you can host your own OpenMoHAA server or join others, and the documentation includes a page on setting up a game server.

## Sources

- [License: GPL-2.0](https://github.com/openmoh/openmohaa/blob/main/LICENSE)
- [openmoh/openmohaa on GitHub](https://github.com/openmoh/openmohaa)
- [Project website](https://docs.openmohaa.org/)
- [README](https://github.com/openmoh/openmohaa/blob/main/README.md)
- [Releases](https://github.com/openmoh/openmohaa/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/openmoh-openmohaa
