# Call of Duty: Modern Warfare 2 (2009) — IW4L

Canonical: https://playable.wtf/games/modern-warfare-2-iw4l/

Project ID: project:modern-warfare-2-iw4l

A Rust/Bevy runtime that reads your MW2 maps and weapons.

## About this version

IW4L can explore maps, fight bots and record demos using a player-owned installation. The creator explicitly says gameplay is incomplete and peers must use the same build.

Native setup. Shooter.

[Setup on creator site](https://github.com/vladtrc/iw4L/releases)

## Call of Duty

Browser Zombies, COD4’s Steam-file campaign and native console ports serve different sessions.

- [Read Call of Duty guide](https://playable.wtf/guides/call-of-duty-browser-native-versions/)
- [Choose BO1 Zombies rules](https://playable.wtf/games/black-ops-zombies/): Select Classic or Counter-Strike guns before a solo or lobby session.
- [Invite a small co-op group](https://playable.wtf/games/nacht-der-untoten/): A separate desktop fan remake with a two-to-four-player invitation flow.
- [Play the original COD4 campaign](https://playable.wtf/games/modern-warfare-browser/): Import your own Steam files for the story and Mile High Club.
- [Use the 2009 console edition natively](https://playable.wtf/games/paulcombal-mw2-recompiled/): Choose the Windows/Linux controller route with matching owned Xbox 360 data.

[Browse all version comparisons](https://playable.wtf/families/)

## Explore MW2 through a new runtime

IW4L loads maps, models, textures and weapons from an owned MW2 installation into a Rust engine built with Bevy. You can explore multiplayer maps, fight bots and record or replay demos. The appeal is both playable experimentation and the ability to inspect how movement and combat are implemented.

It is not the same approach as recompiling the Xbox 360 executable. IW4L supplies its own runtime and simulation, so missing behavior and desyncs remain expected. Asset readers also cover other Call of Duty games, but being able to read their data is not a promise that every mode from those games is playable.

Sources: [IW4L · project documentation](https://github.com/vladtrc/iw4L)

## Keep the original installation intact

Extract the Windows release to a writable folder. It looks for MW2 in Steam libraries and creates a shortcut pointing to the installation; a non-Steam location needs that shortcut supplied manually. IW4L reads the original files without patching them, while its caches, demos and logs go into iw4l-artifacts.

A first local test can use the documented bot-match command. The game mode’s countdown normally holds movement until the match begins; the development force\_match\_start command skips that warmup. A frozen player at the beginning of a scripted test is therefore not necessarily a broken input mapping.

Sources: [IW4L · project documentation](https://github.com/vladtrc/iw4L)

## Experiment with classes, cameras and replays

The run guide describes custom classes, weapon attachments, camouflage and killstreak selections, with a choice of first- or third-person camera. Aim can be hold-to-aim or a toggle. Those controls let you compare how familiar weapons and spaces behave in the new engine, rather than assuming every default exactly matches the retail client.

Cheats are enabled by default for host experiments and can be disabled in game setup. Multiplayer peers must use the same build because the protocol changes between commits. Demo recording is useful for revisiting an experiment, but this developing runtime should not be treated as a finished replacement for all MW2 multiplayer behavior.

Sources: [IW4L · run and controls guide](https://github.com/vladtrc/iw4L/blob/HEAD/docs/RUN.md) · [IW4L · project documentation](https://github.com/vladtrc/iw4L)

## Do I need the original game files?

Your own MW2 installation.

Creator-reported: [Project guide](https://github.com/vladtrc/iw4L)

## How do I get started?

Follow the original release or build guide and point IW4L at your installed copy.

Creator-reported: [Project guide](https://github.com/vladtrc/iw4L)

## What should I know before playing?

Missing behavior, bugs and desyncs are expected; network protocol changes between commits.

Creator-reported: [Project guide](https://github.com/vladtrc/iw4L)

## Credits and project

- [Original project](https://github.com/vladtrc/iw4L)
