IW4x is a community-driven project that aims to revitalize and enhance the Call of Duty: Modern Warfare 2 (2009) multiplayer experience by providing a stable platform with support for dedicated servers and modding.
A Steam installation of Modern Warfare 2 is required to run IW4x, copies from the Microsoft Store are not compatible.
IW4x is currently distributed through the AlterWare Launcher.
Important
Clone the git repository instead of downloading the ZIP, as the latter will not work.
- Clone the repository -
git clone https://github.com/iw4x/iw4x-client.git
- Run
generate.bat
to initialize and update submodules and generate the Visual Studio solution - Open/build the generated solution file
build\iw4x.sln
with Visual Studio
To use the iw4x.dll
, you must have a valid Modern Warfare 2 installation with the IW4x Rawfiles installed.
Development Setup
- Right-click the IW4x solution in Visual Studio
- Select Properties
- Set the output directory to your MW2 install path
- Right-click the IW4x solution in Visual Studio
- Select Properties
- Select Debugging
- Set the Command value to the path of your
iw4x.exe
inside your MW2 game files
Tip:
- Switch to Windowed mode in-game, as breakpoints will lock the window.
- Pressing
F5
will launch the game and attach the debugger.- The default hotkey for stopping the debugger is
Shift+F5
.
Argument | Description |
---|---|
--copy-to=PATH |
Optional, copy the DLL to a custom folder after build, define the path here if wanted. |
--copy-pdb |
Copy debug information for binaries as well to the path given via --copy-to. |
--force-unit-tests |
Always compile unit tests. |
--disable-binary-check |
Do not perform integrity checks on the exe. |
Argument | Description |
---|---|
-tests |
Perform unit tests. |
-entries |
Print to the console a list of every asset as they are loaded from zonefiles. |
-stdout |
Redirect all logging output to the terminal iw4x is started from, or if there is none, creates a new terminal window to write log information in. |
-console |
Allow the game to display its own separate interactive console window. |
-dedicated |
Starts the game as a headless dedicated server. |
-bigminidumps |
Include all code sections from loaded modules in the dump. |
-reallybigminidumps |
Include data sections from all loaded modules in the dump. |
-dump |
Write info of loaded assets to the raw folder as they are being loaded. |
-nointro |
Skip game's cinematic intro. |
-version |
Print IW4x build info on startup. |
-nosteam |
Disable friends feature and do not update Steam about the game's current status just like an invisible mode. |
-unprotect-dvars |
Allow the server to modify saved/archive dvars. |
-zonebuilder |
Start the interactive zonebuilder tool console instead of starting the game. |
-original-str-parsing |
(ZoneBuilder mode only) Parse .str files in the same manner as the CoD4 Mod Tools. |
-disable-notifies |
Disable "Anti-CFG" checks |
-disable-mongoose |
Disable Mongoose HTTP server |
-disable-rate-limit-check |
Disable RCon rate limit checks |
This software has been created purely for the purposes of academic research. It is not intended to be used to attack other systems. Project maintainers are not responsible or liable for misuse of the software. Use responsibly.