| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| games:linux:wine:cod_mw2_2009_iw4x_steamcmd [2026/06/26 23:35] – Sean Rhone | games:linux:wine:cod_mw2_2009_iw4x_steamcmd [2026/08/03 20:37] (current) – Sean Rhone |
|---|
| * Steam ((https://store.steampowered.com/app/10180/Call_of_Duty_Modern_Warfare_2_2009/)) | * Steam ((https://store.steampowered.com/app/10180/Call_of_Duty_Modern_Warfare_2_2009/)) |
| * IW4x ((https://iw4x.io/)) | * IW4x ((https://iw4x.io/)) |
| | |
| | ===== Media ===== |
| | |
| | * [[https://www.youtube.com/watch?v=EaGEZKEIUxY|Test Video]] |
| |
| ===== Prerequisites ===== | ===== Prerequisites ===== |
| |
| * [[linux:distros:opensuse_tumbleweed_gnome|openSUSE Tumbleweed (GNOME)]] | * [[linux:distros:debian_13_xfce|Debian 13 (Xfce)]] |
| * [[linux:notes:wine|Wine]] (new WoW64) | * [[linux:notes:wine|Wine]] (old WoW64) |
| * [[programs:linux:steamcmd|SteamCMD]] | * [[programs:linux:steamcmd|SteamCMD]] |
| |
| ====== Dependencies ====== | ====== Dependencies ====== |
| |
| **** | sudo apt install 'git' |
| | |
| sudo zypper install 'git-core' | |
| |
| ====== Modern Warfare 2 ====== | ====== Modern Warfare 2 ====== |
| |
| ===== Validate ===== | ===== Validate ===== |
| |
| **** | |
| |
| ~/'Steam/steamcmd/steamcmd.sh' +'login' 'Espionage724' +'@sSteamCmdForcePlatformType' 'windows' +'app_update' '10180' 'validate' +'quit' | ~/'Steam/steamcmd/steamcmd.sh' +'login' 'Espionage724' +'@sSteamCmdForcePlatformType' 'windows' +'app_update' '10180' 'validate' +'quit' |
| | |
| | ~/'Steam/steamcmd/steamcmd.sh' +'login' 'Espionage724' +'@sSteamCmdForcePlatformType' 'windows' +'app_update' '10190' 'validate' +'quit' |
| |
| ====== Initial Prefix ====== | ====== Initial Prefix ====== |
| |
| mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' WINEARCH='wow64' wine wineboot --init && WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' winecfg /v 'vista' && 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 ~/'.wine' && WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' WINEARCH='win32' wine wineboot --init && WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' winecfg /v 'vista' && 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 |
| |
| 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 | 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 |
| |
| 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 | 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 |
| set bots_main_firstIsHost "1" | set bots_main_firstIsHost "1" |
| set bots_main_waitForHostTime "0" | set bots_main_waitForHostTime "0" |
| set bots_manage_fill "17" | //set bots_manage_fill "17" |
| | set bots_manage_fill "11" |
| set bots_main_menu "0" | set bots_main_menu "0" |
| set bots_main_chat "0" | set bots_main_chat "0" |
| |
| ===== Files ===== | ===== Files ===== |
| |
| **** | |
| |
| 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 ~/'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' |
| |
| ===== 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' ~/'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' |
| * https://github.com/doitsujin/dxvk | * https://github.com/doitsujin/dxvk |
| |
| ==== master ==== | ==== 2.6.2 ==== |
| |
| * https://github.com/doitsujin/dxvk/actions ((need to be signed into GitHub, and select the latest ''master'' artifacts package)) | * https://github.com/doitsujin/dxvk/releases/tag/v2.6.2 |
| * 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' | wget -O '/tmp/dxvk-2.6.2.tar.gz' 'https://github.com/doitsujin/dxvk/releases/download/v2.6.2/dxvk-2.6.2.tar.gz' -q --show-progress && tar -xzvf '/tmp/dxvk-2.6.2.tar.gz' --strip-components='2' -C ~/'.wine/Call of Duty Modern Warfare 2 (2009)/drive_c/windows/system32' 'dxvk-2.6.2/x32/d3d9.dll' && rm -f '/tmp/dxvk-2.6.2.tar.gz' |
| |
| ==== Dll Override ==== | ==== Dll Override ==== |
| |
| **** | |
| |
| WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v 'd3d9' /t 'REG_SZ' /d 'native' /f | WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v 'd3d9' /t 'REG_SZ' /d 'native' /f |
| ==== dxvk.conf ==== | ==== dxvk.conf ==== |
| |
| * https://github.com/doitsujin/dxvk/blob/master/dxvk.conf | * https://github.com/doitsujin/dxvk/blob/9d6f54a1ade20d1d27dd421024717a636f3d8c68/dxvk.conf |
| |
| nano ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/dxvk.conf' | nano ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/dxvk.conf' |
| |
| <code> | <code> |
| # General | #dxvk.hud = "devinfo,fps,memory,gpuload,frametimes" |
| d3d9.dpiAware = "False" | #dxvk.hud = "full" |
| d3d9.enumerateByDisplays = "False" | |
| |
| # Intel | dxvk.allowFse = "True" |
| | d3d9.maxFrameLatency = "1" |
| | d3d9.maxFrameRate = "-1" |
| | dxvk.latencySleep = "False" |
| | dxvk.disableNvLowLatency2 = "True" |
| | d3d9.hideNvidiaGpu = "False" |
| | d3d9.hideNvkGpu = "False" |
| | d3d9.hideAmdGpu = "False" |
| d3d9.hideIntelGpu = "False" | d3d9.hideIntelGpu = "False" |
| d3d9.floatEmulation = "False" | d3d9.presentInterval = "0" |
| | dxvk.tearFree = "False" |
| | dxvk.tilerMode = "False" |
| | d3d9.samplerAnisotropy = "16" |
| | d3d9.samplerLodBias = "-2.0" |
| | d3d9.invariantPosition = "False" |
| | dxvk.useRawSsbo = "True" |
| dxvk.enableGraphicsPipelineLibrary = "False" | dxvk.enableGraphicsPipelineLibrary = "False" |
| | dxvk.trackPipelineLifetime = "False" |
| dxvk.enableMemoryDefrag = "False" | dxvk.enableMemoryDefrag = "False" |
| dxvk.lowerSinCos = "False" | d3d9.dpiAware = "False" |
| | d3d9.lenientClear = "True" |
| # Tweaks | d3d9.floatEmulation = "False" |
| d3d9.presentInterval = "0" | d3d9.sincosEmulation = "False" |
| d3d9.maxFrameLatency = "1" | d3d9.forceSwapchainMSAA = "0" |
| dxgi.maxFrameLatency = "1" | d3d9.deviceLocalConstantBuffers = "True" |
| dxgi.syncInterval = "0" | d3d9.enumerateByDisplays = "False" |
| dxvk.tearFree = "False" | d3d9.seamlessCubes = "True" |
| dxvk.latencySleep = "False" | |
| | |
| # HUD | |
| #dxvk.hud = "devinfo,fps,memory,gpuload,frametimes" | |
| #dxvk.hud = "full" | |
| |
| # End</code> | # End</code> |
| |
| export WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' | export WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' |
| | export WINEDLLOVERRIDES='d3d9=b' |
| |
| 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 | 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 |
| |
| unset 'WINEPREFIX' | unset 'WINEPREFIX' 'WINEDLLOVERRIDES' |
| |
| # End</code> | # End</code> |
| |
| ==== Icon ==== | ==== Icon ==== |
| |
| **** | |
| |
| mkdir -p ~/'.wine/Icons' && wrestool --output=$HOME/'.wine/Icons/IW4x-256.png' --extract --raw --type='3' --name='6' ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/iw4x.exe' | mkdir -p ~/'.wine/Icons' && wrestool --output=$HOME/'.wine/Icons/IW4x-256.png' --extract --raw --type='3' --name='6' ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/iw4x.exe' |
| |
| ===== Winecfg ===== | ===== Winecfg ===== |
| |
| **** | |
| |
| WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' winecfg | WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' winecfg |
| |
| ===== Winetricks ===== | ===== Winetricks ===== |
| |
| **** | |
| |
| WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' winetricks | WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' winetricks |
| |
| ===== Registry Editor ===== | ===== Registry Editor ===== |
| |
| **** | |
| |
| WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' regedit | WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' regedit |
| |
| ===== Kill ===== | ===== Kill ===== |
| |
| **** | |
| |
| WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wineserver --kill | WINEPREFIX=~/'.wine/Call of Duty Modern Warfare 2 (2009)' wineserver --kill |
| |
| ==== IW4x ==== | ==== IW4x ==== |
| |
| **** | |
| |
| 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 ~/'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 ~/'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)' WINEDLLOVERRIDES='d3d9=b' 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 ~/'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 ===== |
| |
| ===== Main Config ===== | ===== Main Config ===== |
| |
| **** | |
| |
| nano ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/players/iw4x_config.cfg' | nano ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2/players/iw4x_config.cfg' |
| |
| ===== Root Folder ===== | ===== Root Folder ===== |
| |
| **** | |
| |
| gio open ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2' | gio open ~/'Steam/steamapps/common/Call of Duty Modern Warfare 2' |
| |