| Next revision | Previous revision |
| games:bsd:wine:cod_mw2_2009_iw4x_steamcmd [2026/06/17 00:56] – created Sean Rhone | games:bsd:wine:cod_mw2_2009_iw4x_steamcmd [2026/06/18 02:01] (current) – Sean Rhone |
|---|
| ===== Prerequisites ===== | ===== Prerequisites ===== |
| |
| * [[linux:distros:opensuse_tumbleweed_gnome|openSUSE Tumbleweed (GNOME)]] | * [[bsd:freebsd_15.1_xfce|FreeBSD 15.1 (Xfce)]] |
| * [[linux:notes:wine|Wine]] (new WoW64) | * [[bsd:notes:wine|Wine]] (old WoW64) |
| * [[programs:linux:steamcmd|SteamCMD]] | |
| |
| ====== Dependencies ====== | ====== Dependencies ====== |
| |
| **** | su - |
| |
| sudo zypper install 'git-core' | pkg install 'git' |
| |
| ====== Modern Warfare 2 ====== | ====== Initial Prefix ====== |
| |
| ===== Restore Files ===== | mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' WINEARCH='win32' wine wineboot --init && WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine winecfg /v 'win10' && WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v 'winemenubuilder.exe' /t 'REG_SZ' /d '' /f |
| |
| mkdir -p ~/'Steam/steamapps/common' && gio open ~/'Steam/steamapps' | WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\Drivers' /v 'Graphics' /t 'REG_SZ' /d 'x11' /f |
| |
| ls -d ~/'Steam/steamapps/appmanifest_10180.acf' ~/'Steam/steamapps/appmanifest_10190.acf' ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2' | WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\Direct3D' /v 'renderer' /t 'REG_SZ' /d 'gdi' /f |
| | |
| | ====== SteamCMD ====== |
| |
| ===== Install ===== | ===== Install ===== |
| |
| ~/'Steam/steamcmd/steamcmd.sh' +'login' 'Espionage724' +'@sSteamCmdForcePlatformType' 'windows' +'app_update' '10180' +'quit' | mkdir -p ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam' |
| |
| ~/'Steam/steamcmd/steamcmd.sh' +'login' 'Espionage724' +'@sSteamCmdForcePlatformType' 'windows' +'app_update' '10190' +'quit' | wget -O '/tmp/steamcmd-win32.zip' -q --show-progress 'https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip' && bsdunzip -o -q -d ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam' '/tmp/steamcmd-win32.zip' 'steamcmd.exe' && rm -f '/tmp/steamcmd-win32.zip' |
| |
| ===== Validate ===== | ===== Login ===== |
| |
| **** | WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamcmd.exe' +login 'Espionage724' +quit |
| |
| ~/'Steam/steamcmd/steamcmd.sh' +'login' 'Espionage724' +'@sSteamCmdForcePlatformType' 'windows' +'app_update' '10180' 'validate' +'quit' | <code>-overrideminos</code> |
| |
| ====== Initial Prefix ====== | ====== Modern Warfare 2 ====== |
| |
| mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' WINEARCH='wow64' '/usr/local/bin/wine64.bin' wineboot --init && WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' '/usr/local/bin/wine64.bin' winecfg /v 'vista' && WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' '/usr/local/bin/wine64.bin' REG ADD 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v 'winemenubuilder.exe' /t 'REG_SZ' /d '' /f | ===== Restore Files ===== |
| |
| WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\Drivers' /v 'Graphics' /t 'REG_SZ' /d 'wayland' /f | mkdir -p ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps' && gio open ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps' |
| |
| WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\Direct3D' /v 'renderer' /t 'REG_SZ' /d 'gdi' /f | ls -d ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/appmanifest_10180.acf' ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/appmanifest_10190.acf' ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/common/Call of Duty Modern Warfare 2' |
| | |
| | ===== Install/Update ===== |
| | |
| | WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamcmd.exe' +login 'Espionage724' +app_update '10180' +quit |
| | |
| | WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamcmd.exe' +login 'Espionage724' +app_update '10190' +quit |
| | |
| | ===== Validate ===== |
| | |
| | WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamcmd.exe' +login 'Espionage724' +app_update '10180' validate +quit |
| | |
| | WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamcmd.exe' +login 'Espionage724' +app_update '10190' validate +quit |
| |
| ====== IW4x ====== | ====== IW4x ====== |
| * https://github.com/iw4x/iw4x-rawfiles/releases | * https://github.com/iw4x/iw4x-rawfiles/releases |
| |
| wget -O ~/'Downloads/IW4x-iw4x-latest.dll' 'https://github.com/iw4x/iw4x-client/releases/latest/download/iw4x.dll' && mv -fv ~/'Downloads/IW4x-iw4x-latest.dll' ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/iw4x.dll' | wget -O ~/'Downloads/IW4x-iw4x-latest.dll' -q --show-progress 'https://github.com/iw4x/iw4x-client/releases/latest/download/iw4x.dll' && mv -fv ~/'Downloads/IW4x-iw4x-latest.dll' ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/common/Call of Duty Modern Warfare 2/iw4x.dll' |
| |
| wget -O ~/'Downloads/IW4x-release-latest.zip' 'https://github.com/iw4x/iw4x-rawfiles/releases/latest/download/release.zip' && unzip -o ~/'Downloads/IW4x-release-latest.zip' -d ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2' && rm -fv ~/'Downloads/IW4x-release-latest.zip' | wget -O ~/'Downloads/IW4x-release-latest.zip' -q --show-progress 'https://github.com/iw4x/iw4x-rawfiles/releases/latest/download/release.zip' && bsdunzip -o -q -d ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/common/Call of Duty Modern Warfare 2' ~/'Downloads/IW4x-release-latest.zip' && rm -f ~/'Downloads/IW4x-release-latest.zip' |
| |
| ====== Settings ====== | ====== Settings ====== |
| ===== Client ===== | ===== Client ===== |
| |
| mkdir -p ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/players' && nano ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/players/iw4x_custom.cfg' | mkdir -p ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/common/Call of Duty Modern Warfare 2/players' && ee ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/common/Call of Duty Modern Warfare 2/players/iw4x_custom.cfg' |
| |
| <code> | <code> |
| * https://github.com/iw4x/iw4-server-configs | * https://github.com/iw4x/iw4-server-configs |
| |
| mkdir -p ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/players' && nano ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/players/iw4x_localhost.cfg' | mkdir -p ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/common/Call of Duty Modern Warfare 2/players' && ee ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/common/Call of Duty Modern Warfare 2/players/iw4x_localhost.cfg' |
| |
| <code> | <code> |
| **** | **** |
| |
| mkdir -p ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/userraw' && cp -Rf ~/'Projects/IW4-Bot-Warfare/src/scriptdata' ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/userraw/scriptdata' | mkdir -p ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/common/Call of Duty Modern Warfare 2/userraw' && cp -Rf ~/'Projects/IW4-Bot-Warfare/src/scriptdata' ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/common/Call of Duty Modern Warfare 2/userraw/scriptdata' |
| |
| ===== IWD ===== | ===== IWD ===== |
| **** | **** |
| |
| 7z a -m'0=Copy' -t'zip' ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/userraw/z_svr_bots.iwd' ~/'Projects/IW4-Bot-Warfare/src/maps' ~/'Projects/IW4-Bot-Warfare/src/scripts' && ls ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/userraw/z_svr_bots.iwd' | 7z a -m'0=Copy' -t'zip' ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/common/Call of Duty Modern Warfare 2/userraw/z_svr_bots.iwd' ~/'Projects/IW4-Bot-Warfare/src/maps' ~/'Projects/IW4-Bot-Warfare/src/scripts' && ls ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/common/Call of Duty Modern Warfare 2/userraw/z_svr_bots.iwd' |
| |
| ====== Libraries ====== | ====== Libraries ====== |
| * Last tested: ''dxvk-master-9aa4e3da8d026b767de3c530e3b6bd0cdd9b0a76.zip'' | * Last tested: ''dxvk-master-9aa4e3da8d026b767de3c530e3b6bd0cdd9b0a76.zip'' |
| |
| unzip -j -o ~/'Downloads/dxvk-master-'*'.zip' 'x32/d3d9.dll' -d ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/windows/syswow64' | bsdunzip -j -o ~/'Downloads/dxvk-master-'*'.zip' 'x32/d3d9.dll' -d ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/windows/system32' |
| |
| ==== Dll Override ==== | ==== Dll Override ==== |
| * https://github.com/doitsujin/dxvk/blob/master/dxvk.conf | * https://github.com/doitsujin/dxvk/blob/master/dxvk.conf |
| |
| nano ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/dxvk.conf' | ee ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/common/Call of Duty Modern Warfare 2/dxvk.conf' |
| | |
| <code> | |
| # General | |
| d3d9.dpiAware = "False" | |
| d3d9.enumerateByDisplays = "False" | |
| | |
| # Intel | |
| d3d9.hideIntelGpu = "False" | |
| d3d9.floatEmulation = "False" | |
| dxvk.enableGraphicsPipelineLibrary = "False" | |
| dxvk.enableMemoryDefrag = "False" | |
| dxvk.lowerSinCos = "False" | |
| | |
| # Tweaks | |
| d3d9.presentInterval = "0" | |
| d3d9.maxFrameLatency = "1" | |
| dxgi.maxFrameLatency = "1" | |
| dxgi.syncInterval = "0" | |
| dxvk.tearFree = "False" | |
| dxvk.latencySleep = "False" | |
| | |
| # HUD | |
| #dxvk.hud = "devinfo,fps,memory,gpuload,frametimes" | |
| #dxvk.hud = "full" | |
| | |
| # End</code> | |
| |
| ====== Scripts ====== | ====== Scripts ====== |
| ===== Server Start ===== | ===== Server Start ===== |
| |
| mkdir -p ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)' && nano ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-localhost-server-start.sh' && chmod +x ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-localhost-server-start.sh' | mkdir -p ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)' && ee ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-localhost-server-start.sh' && chmod +x ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-localhost-server-start.sh' |
| |
| <code> | <code> |
| export WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' | export WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' |
| |
| wine ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/iw4x.exe' -dedicated -disable-notifies -disable-mongoose -disable-rate-limit-check +exec 'iw4x_localhost.cfg' +map_rotate | '/usr/local/bin/wine64.bin' ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/iw4x.exe' -dedicated -disable-notifies -disable-mongoose -disable-rate-limit-check +exec 'iw4x_localhost.cfg' +map_rotate |
| |
| unset 'WINEPREFIX' | unset 'WINEPREFIX' |
| ===== IW4x Update ===== | ===== IW4x Update ===== |
| |
| mkdir -p ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)' && nano ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-update.sh' && chmod +x ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-update.sh' | mkdir -p ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)' && ee ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-update.sh' && chmod +x ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-update.sh' |
| |
| <code> | <code> |
| ===== Bot Warfare Update ===== | ===== Bot Warfare Update ===== |
| |
| mkdir -p ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)' && nano ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-bot-warfare-update.sh' && chmod +x ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-bot-warfare-update.sh' | mkdir -p ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)' && ee ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-bot-warfare-update.sh' && chmod +x ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-bot-warfare-update.sh' |
| |
| <code> | <code> |
| ===== Profile Back-up ===== | ===== Profile Back-up ===== |
| |
| mkdir -p ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)' && nano ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-profile-backup.sh' && chmod +x ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-profile-backup.sh' | mkdir -p ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)' && ee ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-profile-backup.sh' && chmod +x ~/'Steam/scripts/Call of Duty Modern Warfare 2 (10180)/iw4x-profile-backup.sh' |
| |
| <code> | <code> |
| ===== IW4x ===== | ===== IW4x ===== |
| |
| mkdir -p ~/'.local/share/applications/wine/Programs/IW4x' && nano ~/'.local/share/applications/wine/Programs/IW4x/IW4x.desktop' && sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/wine/Programs/IW4x/IW4x.desktop' && update-desktop-database --quiet ~/'.local/share/applications' | mkdir -p ~/'.local/share/applications/wine/Programs/IW4x' && ee ~/'.local/share/applications/wine/Programs/IW4x/IW4x.desktop' && sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/wine/Programs/IW4x/IW4x.desktop' && update-desktop-database --quiet ~/'.local/share/applications' |
| |
| <code> | <code> |
| **** | **** |
| |
| WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/iw4x.exe' +exec 'iw4x_custom.cfg' +set 'r_fullscreen 1' +set 'g_antilag 0' | WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/common/Call of Duty Modern Warfare 2/iw4x.exe' +exec 'iw4x_custom.cfg' +set 'r_fullscreen 1' +set 'g_antilag 0' |
| |
| === Window === | === Window === |
| **** | **** |
| |
| WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/iw4x.exe' +exec 'iw4x_custom.cfg' +set 'r_fullscreen 0' +set 'g_antilag 0' | WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/common/Call of Duty Modern Warfare 2/iw4x.exe' +exec 'iw4x_custom.cfg' +set 'r_fullscreen 0' +set 'g_antilag 0' |
| |
| ==== Server ==== | ==== Server ==== |
| **** | **** |
| |
| WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/iw4x.exe' -dedicated -disable-notifies -disable-mongoose -disable-rate-limit-check +exec 'iw4x_localhost.cfg' +map_rotate | WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/common/Call of Duty Modern Warfare 2/iw4x.exe' -dedicated -disable-notifies -disable-mongoose -disable-rate-limit-check +exec 'iw4x_localhost.cfg' +map_rotate |
| |
| ===== Save Restore ===== | ===== Save Restore ===== |
| * ''players/iw4x.stat'' | * ''players/iw4x.stat'' |
| |
| mkdir -p ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/players' && gio open ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/players' | mkdir -p ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/common/Call of Duty Modern Warfare 2/players' && gio open ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/common/Call of Duty Modern Warfare 2/players' |
| |
| ===== Main Config ===== | ===== Main Config ===== |
| **** | **** |
| |
| nano ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/players/iw4x_config.cfg' | ee ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/common/Call of Duty Modern Warfare 2/iw4x_config.cfg' |
| |
| ===== Root Folder ===== | ===== Root Folder ===== |
| **** | **** |
| |
| gio open ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2' | gio open ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/Program Files/Steam/steamapps/common/Call of Duty Modern Warfare 2' |
| |