📈 GH Trending Explorer 🎲 Surprise me

← all repos

vladtrc / iw4L

git clone https://github.com/vladtrc/iw4L.git

Standalone experimental Call of Duty runtime in Rust, built on bevy and wgpu

+6
stars, 24h · #5,016
+~63
stars, 7 days · #3,232
+~270
stars, 30 days · #2,949
1.1k
★ total · +6% this week
142
forks · 18 open issues

Star history (as recorded here)

2026-10-20 · 1,117 ★ 2026-10-23 · 1,144 ★
LanguageRust
LicenseApache-2.0
Created2026-09-13 (1mo ago)
Last push6d ago
Watchers8
OwnerUser

Links

README excerpt
# IW4L
IW4L is an open-source runtime for Call of Duty: Modern Warfare 2 (2009), written in
Rust with Bevy. Point it at a copy of MW2 you already own and it
loads that installation's maps, models, textures and weapons into its own engine. You
can try implemented movement and combat on multiplayer maps, then inspect or change how
those systems work.
## What you can try
Explore maps, fight bots, and record and replay demos. Gameplay remains incomplete;
expect missing behavior, bugs and desyncs. The asset readers also cover MW3 and Black
Ops.
APIs, configuration, caches and the wire protocol change between commits;
multiplayer peers must run the same build.
## Windows: prebuilt release
1. Download `iw4l-windows.zip` from Releases and extract it into an
 empty writable folder. The archive password is `t.me/contextrot`.
2. Launch `iw4l.exe`. It finds MW2 in your Steam libraries and creates a
 `Modern Warfare 2.lnk` shortcut next to itself. For an install outside Steam, create
 that shortcut to your MW2 folder yourself.
For online play, put the `.iw4l-server` file you received from a server operator next
to `iw4l.exe`. With it the game finds that master and updates itself on launch. Details:
Windows guide.
## Build and run
Install Rust through rustup and GNU Make. Build dependencies cover
Linux's C/C++ toolchain and system libraries, and macOS's Xcode command line tools.
Windows instructions cover building and arranging a portable folder.
You need your own installed MW2 Multiplayer data. IW4L
distributes no game assets and reads installations without patching or replacing their
files. Caches, demos and logs go under `iw4l-artifacts/`; Linux settings use a separate
configuration directory described in the run guide.
From the repository root:
 [code] 
This builds the optimized `play` profile and starts a local match with three bots.
`force_match_start` skips the warmup that otherwise freezes movement.
## Inside the engine
| Area | Implementation |
|---|---|
| Assets | Native FastFile readers convert game data into a shared intermediate representation. |
| Shaders | Retail Direct3D 9 Shader Model 3 bytecode is translated to WGSL. |
| Rendering | World geometry, models and effects feed one sorted draw-surface list. |
| Simulation | Server authority, client prediction and replay share one simulation step over explicit Bevy ECS state. |
| Networking | Custom UDP traffic; a QUIC master provides browsing and relaying. The host simulates the match. |
## Where to go next
- Run guide: console commands, classes and demo playback; master setup for playtests.
- Rendering and simulation: inspect the engine's implementation.
- Map loading, GSC runtime and bot AI: starting points for experiments and modifications.
- Documentation index, contributing and security reports.
This whole project is written by an LLM.
## Acknowledgements and license
Thank you to all contributors for code, bug reports, testing and feedback.
Special thanks to **ju1cedr1nker** and **silvernote03