2010 Rust Rewrite Mashup: MW2, Skate 3 and a Minecraft world in one build
MW2, Skate 3 and Minecraft in one Rust game: IW4L's MW2 rewrite with Skate 3 mode and a real Minecraft world map
At a glance
- What is it?
- This project is a Rust game that runs Modern Warfare 2 on the IW4L rewrite, adds a Skate 3 board mode and stitches a generated Minecraft world into the map list. It is for players who own the games and want to see what a from-scratch engine does with them, not for a commercial product.
- Who is it for?
- This project suits a player who already owns Modern Warfare 2, optionally the Xbox 360 Skate 3, and wants to see a from-scratch Rust engine carry a full multiplayer game with a Minecraft world grafted onto it. It is the wrong tool if you want a supported game, if you cannot supply your own copies of the commercial titles, or if you need a Minecraft experience, since the world here is a combat arena rather than a survival game.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 21 days ago.
- What is it written in?
- Mainly Rust, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Three games layered onto one Rust engine
The mashup name describes the architecture better than any marketing phrase could. The base is IW4L, a from-scratch Rust rewrite of Modern Warfare 2, and everything else sits on top of that engine rather than replacing it. The MW2 layer is the multiplayer game itself with its maps, guns, killstreaks and HUD. The Skate 3 layer is a mode rather than a separate game: press J on any map and you drop onto a board with Skate 3 physics, tricks and grinds, and clicking both sticks in on a controller does the same thing. The third layer is a Minecraft world map generated by MinecraftOSS, the Rust Minecraft engine in the third_party directory, and the idea of it is that you fight through that world with MW2 guns. That is the actual novelty, and it is not a cosmetic reskin: the world has its own generation, its own day and night cycle, its own mobs, and blocks that you shoot apart. The credit section makes the layering explicit, with IW4L as the engine everything runs on and MinecraftOSS as the Rust Minecraft engine behind the world, mobs and items.
Minecraft assets are downloaded on first run, not shipped
The Minecraft map is handled in a way that avoids redistributing anything. The first time the game starts it downloads Minecraft 26.3's own files, textures, sounds and world data, straight from Mojang's official servers, the same way the Minecraft launcher does, and the download is about 125 MB into a folder called iw4l-artifacts/minecraft-26.3. After that it plays offline, and the documentation states plainly that nothing from Minecraft is included in the repository. That design has two consequences. The first is practical: you need an internet connection the first time you play the map, and you need curl, which the documentation notes comes with Windows 10 and 11, with macOS and with most Linux distributions. The second is legal in shape, since the files are fetched by the player's own machine from the vendor's own servers rather than bundled by a third party, and the credits section repeats the point that Minecraft files are downloaded from Mojang and not redistributed. The trade-off is a first-run dependency on a vendor endpoint that the project does not control, and if that endpoint changes, this part of the game changes with it.
Blocks break by bullet damage, and the inventory is a restyled hotbar
The interaction between the two games is where the design work shows. Harder blocks take more bullets, scaled by each gun's real MW2 damage and range, so the weapon you carry out of a match determines how fast you can dig through terrain, and you can also knife blocks and throw grenades that blow up like TNT. Broken blocks drop items that you pick up. The inventory and hotbar are restyled to look like MW2, with the guns sitting in the hotbar as items and your MW2 character standing in the inventory window, and you hold a block to place it or punch and mine with bare hands when the slot is empty. The world carries vanilla mobs, both passive and hostile, and they fight back, with Minecraft's own block, mob and footstep sounds and the lighting falling on your gun. The minimap shows the Minecraft world around you, and Skate 3 mode works there too, with full block collision. Unlimited ammo and grenades are the norm, with the Intervention, SPAS-12 and UMP45 always present, and there is no time or score limit, so the mode is a sandbox rather than a challenge.
Playing it needs a real MW2 install and a controller for skating
The requirements section is short but has hard edges. MW2 is required, and only the Steam version is tested. Skate 3 is optional, and for it you need the Xbox 360 version of Skate 3, specifically the extracted default.xex with its data folder, plus a controller; without those, everything else still works and skating is simply off. That the game looks for the extracted Xbox 360 files is a reminder of where the physics data came from, and it also means this is not a Steam Skate 3 user experience. The play steps are a grab of the zip from Releases, extracted somewhere writable rather than under Program Files, and then launching iw4l.exe, confirming the MW2 folder, and answering whether you have Skate 3 with the default.xex path. The Minecraft map is reached from Create Game by choosing the Minecraft tab in the map list, where the map is called overworld, and there are three other ways in:
iw4l.exe map minecraft:overworld
map minecraft:overworldThe first is the command line form with the executable, the second is what you type into the console opened with the backtick key under Esc. A Minecraft World.bat in the release folder does the same thing.
The console takes a script, which is how the game is driven by make
The Makefile shows that this is not only a game but a testable system, and the mechanism is a console command script. The comment in the Makefile explains the constraint plainly: make itself cannot carry an unknown --cmds flag because it parses its own options first and exits, so the spelling there is a make variable while the launcher binary takes --cmds verbatim. Two forms are given, a make invocation and the direct cargo run:
make map mp_boneyard CMDS='spawn 0; hold +attack'
cargo run -p launcher -- map mp_boneyard --cmds 'spawn 0; hold +attack'That is a scripting interface into the running game, and the rest of the Makefile is built on it. There are bench targets, scenario and chaos targets, lifecycle targets for swapping and replacing, and deploy, publish and logs targets for shipping a release to a host. The repository also carries .env.example, which documents the machine-local configuration the Makefile reads, and the split is explicit: paths live in .env and there are no hardcoded games roots.
IW4L_GAMES=/path/to/cod-games
IW4L_DEPLOY_HOST=user@host
IW4L_DEPLOY_ROOT=/srv/iw4l
IW4L_RELEASE_KEY=/path/to/release-ca
IW4L_MASTER_ADDR=master.example.net:4433
IW4L_MASTER_SERVER_NAME=iw4l-prodA workspace of many small crates, with one dependency pinned to a commit
The Cargo.toml describes a workspace with dozens of narrowly scoped crates, and the naming makes the architecture legible. There are asset crates split by concern, anim_iw4, asset_audio, asset_iw4, asset_world and the rest, then engine crates for rendering, with render, render_backend, render_frontend, render_anim, render_scene and render_frame, and game-side crates for the simulation, with gamemode_iw4, movement_iw4, playerstate_iw4, entity_iw4, hud and hud_iw4. Networking is separated into net, master_protocol and iw4l-master, and a d3d9_decl and d3d9_state pair alongside d3d9_sm3 shows the Direct3D 9 compatibility layer being handled explicitly. A crates/approved_tests directory and the approved_tests target in the Makefile point at a pattern of vetted test fixtures.
One dependency is pinned to a git commit rather than a version, and the comment above it explains why:
[patch.crates-io]
quinn-proto = { git = "https://github.com/quinn-rs/quinn", rev = "f650e0f213b01ea7bebd60023e5df7df65e5c2bd" }The stated reason is that quinn-proto 0.11.17 subtracts evicted DATAGRAM bytes twice and panics under relay backpressure, and the instruction is to remove the patch when a crates.io release includes the upstream fix. That is a QUIC library, which is what the master server connection uses.
Licences, releases and one known issue
The code is Apache-2.0, and the repository carries both a LICENSE file and a NOTICE file. The commercial games are a different matter, and the credits are explicit that Modern Warfare 2 and Skate 3 belong to their owners, that you need your own copies, and that the project is not affiliated with any of them. That is the honest position for a project of this kind, and it is also the practical constraint: this is not distributable as a game, only as a program that runs against a copy you already own. Releases move quickly, with v0.4.0 published on 2026-10-02, v0.3.2 on 2026-10-01 and v0.3.1 on 2026-09-29, and the last push was on 2026-10-02, the same day as the newest tag. The version numbers below 1.0 tell you where the project is in its life. The known issues list has a single entry, that the skateboard is invisible on some maps, which tells you the Skate 3 mode is the least finished part of the package. The repository also carries SECURITY.md and CONTRIBUTING.md, plus a docs directory with BUILD.md and SKATE.md as the two referenced guides.
Editorial conclusion
This project suits a player who already owns Modern Warfare 2, optionally the Xbox 360 Skate 3, and wants to see a from-scratch Rust engine carry a full multiplayer game with a Minecraft world grafted onto it. It is the wrong tool if you want a supported game, if you cannot supply your own copies of the commercial titles, or if you need a Minecraft experience, since the world here is a combat arena rather than a survival game. Before building, read the requirement that the MW2 install be the Steam version, plan for the roughly 125 MB of Minecraft assets downloaded on first run into iw4l-artifacts/minecraft-26.3, and note the licence situation honestly: the code is Apache-2.0 while the games it draws on remain the property of their owners, and the project is not affiliated with any of them.
Frequently asked questions
What do I need to play the 2010 Rust Rewrite Mashup?
You need Modern Warfare 2, and only the Steam version is tested. Skate 3 mode is optional and needs the Xbox 360 version of Skate 3, specifically the extracted default.xex with its data folder, plus a controller. The Minecraft map needs an internet connection the first time and curl, which comes with Windows 10 and 11, macOS and most Linux distributions.
Does the game include Minecraft files?
No. On first run the game downloads Minecraft 26.3's textures, sounds and world data from Mojang's official servers into iw4l-artifacts/minecraft-26.3, about 125 MB, and after that it plays offline. Nothing from Minecraft is included in the repository.
How do I get to the Minecraft world in the game?
Go to Create Game and pick the Minecraft tab in the map list, where the map is called overworld. You can also double-click Minecraft World.bat in the release folder, start the game with iw4l.exe map minecraft:overworld, or type map minecraft:overworld into the console opened with the backtick key under Esc.
How do I enable Skate 3 mode?
Press J on any map to drop onto a board with Skate 3 physics, tricks and grinds. On a controller, clicking both sticks in does the same thing, and the mode also works on the Minecraft map with full block collision. Skate 3 mode is off unless you supply the extracted default.xex at launch.
What licence is the 2010 Rust Rewrite Mashup released under?
The code is under the Apache-2.0 licence, with a LICENSE file and a NOTICE file in the repository. Modern Warfare 2 and Skate 3 remain the property of their owners, and the project states it is not affiliated with them and that you need your own copies of the games.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/chasmlol-2010-rust-rewrite-mashup)Was this useful?