# IW4L: a Rust runtime that plays Modern Warfare 2 from the user’s installed game

> Implements a standalone runtime for Call of Duty: Modern Warfare 2 (2009) in Rust on Bevy and wgpu, loading maps, models, textures and weapons from the user’s installed game through native FastFile readers and translating its Direct3D 9 shaders to WGSL. Bots, demo recording and replay, and multiplayer over custom UDP with a QUIC master are implemented, while README warns that gameplay remains incomplete, with missing behavior, bugs and desyncs. README states that the whole project is written by an LLM; NOTICE names the community projects consulted and says the original binaries were read with Ghidra.

- Type: Case study
- Targets: Game
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-10-19
- Added to the catalog: 2026-11-02
- Original resource: <https://github.com/vladtrc/iw4L>
- Primary source: <https://github.com/vladtrc/iw4L/blob/acc57a5c9dd027db8eb5ef17c792fa69f059daa1/README.md>
- Catalog page: <https://awesomerea.org/resources/iw4l-mw2-rust-runtime-case/>
- Record JSON: <https://awesomerea.org/resources/iw4l-mw2-rust-runtime-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/iw4l-mw2-rust-runtime-case/index.md)

## Requirements & limits

- **Prerequisites:** Needs the user’s own MW2 Multiplayer installation, which BUILD.md describes as the Windows depot of a Steam copy; Black Ops and MW3 data are optional. The repository and release archives contain no game data, and CONTRIBUTING.md forbids attaching, committing or linking original game files.
- **Prerequisites:** Builds with stable Rust through rustup and GNU Make. Linux needs a C/C++ toolchain and X11, Wayland, ALSA, udev and xkbcommon development packages; macOS needs only the Xcode command-line tools. The Windows release is a password-protected iw4l-windows.zip; given a server operator’s .iw4l-server descriptor, iw4l.exe installs SHA-256-verified executable updates from that operator.
- **Limits:** Releases are tagged demo builds, v0.1.0-demo.23 at review. APIs, caches and the wire protocol change between commits, so multiplayer peers must run the same build.
- **Testing evidence:** No CI workflow or cargo test suite: make publish-check rejects test modules, and the only permanent checks are two owner-approved end-to-end scenarios driving real clients on MW2 maps with the user’s game data. Fidelity to the original game is not measured.
- **License:** Apache-2.0 source with two bundled OFL fonts; game assets and trademarks remain their owners’.
- **Attribution:** NOTICE says no third-party source is vendored and names references read during development, including OpenAssetTools, IW4x, KisakCOD and Plutonium’s decompiled Black Ops II scripts. A provenance note records replacing a movement module after reported similarities to GPL code.

## Primary sources

1. <https://github.com/vladtrc/iw4L/blob/acc57a5c9dd027db8eb5ef17c792fa69f059daa1/README.md>
2. <https://github.com/vladtrc/iw4L/blob/acc57a5c9dd027db8eb5ef17c792fa69f059daa1/NOTICE>
3. <https://github.com/vladtrc/iw4L/blob/acc57a5c9dd027db8eb5ef17c792fa69f059daa1/CONTRIBUTING.md>
4. <https://github.com/vladtrc/iw4L/blob/acc57a5c9dd027db8eb5ef17c792fa69f059daa1/AGENT.md>
5. <https://github.com/vladtrc/iw4L/blob/acc57a5c9dd027db8eb5ef17c792fa69f059daa1/docs/BUILD.md>
6. <https://github.com/vladtrc/iw4L/blob/acc57a5c9dd027db8eb5ef17c792fa69f059daa1/docs/WINDOWS.md>
7. <https://github.com/vladtrc/iw4L/blob/acc57a5c9dd027db8eb5ef17c792fa69f059daa1/Makefile>
8. <https://github.com/vladtrc/iw4L/blob/acc57a5c9dd027db8eb5ef17c792fa69f059daa1/crates/approved_tests/README.md>
9. <https://github.com/vladtrc/iw4L/blob/acc57a5c9dd027db8eb5ef17c792fa69f059daa1/docs/provenance/movement-iw4.md>
10. <https://github.com/vladtrc/iw4L/blob/acc57a5c9dd027db8eb5ef17c792fa69f059daa1/LICENSE>
11. <https://github.com/vladtrc/iw4L/releases/tag/v0.1.0-demo.23>

## More in Games

- [Jazz² Resurrection: a native C++ reimplementation of Jazz Jackrabbit 2](https://awesomerea.org/resources/jazz2-resurrection-engine-case/index.md) · Case study
- [Kinoko: reimplementing Mario Kart Wii’s physics engine for exact ghost replay](https://awesomerea.org/resources/kinoko-mkwii-physics-reimplementation-case/index.md) · Case study
- [LBA2 Remake: a Little Big Adventure 1 and 2 reimplementation in TypeScript and Three.js](https://awesomerea.org/resources/lba2remake-little-big-adventure-case/index.md) · Case study
- [Legend of Legaia: a Rust port with disc-local browser tooling](https://awesomerea.org/resources/legend-of-legaia-rust-port-case/index.md) · Case study
- [libd2: Diablo II 1.14d engine-core libraries](https://awesomerea.org/resources/libd2-engine-core-reconstruction-case/index.md) · Case study
- [librw: a re-implementation of the RenderWare Graphics engine](https://awesomerea.org/resources/librw-renderware-reimplementation-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
