IW4x is a community-driven modification for Call of Duty Modern Warfare 2 (2009) that enhances the game with improved security, dedicated servers, and extensive modding capabilities.
IW4x is a community-driven modification for Call of Duty Modern Warfare 2 (2009) that enhances the game with improved security, dedicated servers, and extensive modding capabilities. See https://iw4x.dev/
Name | Github Profile |
---|---|
brainshead | https://github.com/brainshead |
IW4X requires up to 1 ports
Port | default |
---|---|
Game | 28960 |
This can be changed to any port.
IMPORTANT
Before installing IW4x, you need to obtain a legitimate copy of Call of Duty: Modern Warfare 2 (2009) from Steam.
CAUTION
[Only Steam is supported] IW4x does not support game copies from the Microsoft Store!
Memory 1GB and 20 GB storage is needed at least without modicification.
Most setting can be done by opening userraw/server.cfg and edit settings inside
Can be found at IW4X Docs.
If you are unsure about the rules or want to report a server please do so via our Discord server. Alternatively write an E-Mail with details (and if applicable) Video proof to servers [at] iw4x [dot] dev
Discord Server IW4X
Name | Tag |
---|---|
Wine Latest | ghcr.io/ptero-eggs/yolks:wine_latest |
Wine Staging | ghcr.io/ptero-eggs/yolks:wine_staging |
Name | Description | Environment Variable | Default Value | User Viewable | User Editable |
---|---|---|---|---|---|
Steam User | This is a required setting and cannot be set to anonymous. | STEAM_USER | Yes | Yes | |
Steam Password | Steam User Password | STEAM_PASS | Yes | Yes | |
Game ID | The ID corresponding to the game to download and run using SRCDS | SRCDS_APPID | 10190 | Yes | No |
Steam Auth | Steam account auth code. Required if you have 2fa enabled | STEAM_AUTH | Yes | Yes | |
Auto Update Server | This is to auto-update the game server | AUTO_UPDATE | 1 | Yes | Yes |
Windows Install | WINDOWS_INSTALL | 1 | No | No | |
Winetricks | WINETRICKS_RUN | vcrun2022 | No | No | |
Wine Debug | WINEDEBUG | -all | No | No | |
Mod Dir | Name of the Dir where the mod are. | MOD_DIR | Yes | Yes | |
Server Name | Sets the server hostname. SERVER COLORS ^1 = Red , ^2 = Green, ^3 = Yellow, ^4 = Blue, ^5 = Cyan, ^6 = Pink, ^7 = White, ^8 = Depends on the team colors playing., ^9 = Grey, ^0 = Black, ^: = Rainbow colors. | SERVER_NAME | Pterodactyl IW4X | Yes | Yes |
#!/bin/bash
# steamcmd Base Installation Script
## just in case someone removed the defaults.
if [ "${STEAM_USER}" == "" ]; then
echo -e "steam user is not set.\n"
echo -e "Using anonymous user.\n"
STEAM_USER=anonymous
STEAM_PASS=""
STEAM_AUTH=""
else
echo -e "user set to ${STEAM_USER}"
fi
## download and install steamcmd
cd /tmp
mkdir -p /mnt/server/steamcmd
curl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzvf steamcmd.tar.gz -C /mnt/server/steamcmd
cd /mnt/server/steamcmd
# SteamCMD fails otherwise for some reason, even running as root.
# This is changed at the end of the install process anyways.
chown -R root:root /mnt
export HOME=/mnt/server
## install game using steamcmd
./steamcmd.sh +force_install_dir /mnt/server +login anonymous +app_update 1628350 validate +quit ## other flags may be needed depending on install. looking at you cs 1.6
./steamcmd.sh +force_install_dir /mnt/server +login anonymous +app_update 1493710 validate +quit ## other flags may be needed depending on install. looking at you cs 1.6
./steamcmd.sh +force_install_dir /mnt/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6
## set up 32 bit libraries
mkdir -p /mnt/server/.steam/sdk32
cp -v linux32/steamclient.so ../.steam/sdk32/steamclient.so
## set up 64 bit libraries
mkdir -p /mnt/server/.steam/sdk64
cp -v linux64/steamclient.so ../.steam/sdk64/steamclient.so
#Install IW4X launcher
cd /mnt/server
wget https://github.com/iw4x/launcher/releases/latest/download/iw4x-launcher-x86_64-unknown-linux-gnu.tar.gz
tar xfv iw4x-launcher-x86_64-unknown-linux-gnu.tar.gz
rm iw4x-launcher-x86_64-unknown-linux-gnu.tar.gz
chmod +x iw4x-launcher
#Getting server configs
cd /mnt/server
wget -q https://github.com/iw4x/iw4-server-configs/archive/main.zip
unzip main.zip
mv -f iw4-server-configs-main/* .
rmdir iw4-server-configs-main
rm main.zip
rm LICENSE
rm README.md
#first time update of launcher.
iw4x-launcher --update
## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"