Egg Repository

Pterodactyl Community Egg Repository

IW4x

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.

Read Me

IW4X

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/

Author & Contributers

NameGithub Profile
brainsheadhttps://github.com/brainshead

Server Ports

IW4X requires up to 1 ports

Portdefault
Game28960

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.

  • This is required for installation of the server files.
  • Client also need need to use the IW4x launcher installed to connect to the server
  • Launcher can be found on https://iw4x.dev/

CAUTION

[Only Steam is supported] IW4x does not support game copies from the Microsoft Store!

Install Notes

Memory 1GB and 20 GB storage is needed at least without modicification.

Settings

Most setting can be done by opening userraw/server.cfg and edit settings inside

Server hosting rules

Can be found at IW4X Docs.

Violation of any rule may result in your server being delisted.

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

Yolks
NameTag
Wine Latest ghcr.io/ptero-eggs/yolks:wine_latest
Wine Staging ghcr.io/ptero-eggs/yolks:wine_staging
Variables
NameDescriptionEnvironment VariableDefault ValueUser ViewableUser Editable
Steam UserThis is a required setting and cannot be set to anonymous.STEAM_USERYesYes
Steam PasswordSteam User PasswordSTEAM_PASSYesYes
Game IDThe ID corresponding to the game to download and run using SRCDSSRCDS_APPID10190YesNo
Steam AuthSteam account auth code. Required if you have 2fa enabledSTEAM_AUTHYesYes
Auto Update ServerThis is to auto-update the game serverAUTO_UPDATE1YesYes
Windows InstallWINDOWS_INSTALL1NoNo
WinetricksWINETRICKS_RUNvcrun2022NoNo
Wine DebugWINEDEBUG-allNoNo
Mod DirName of the Dir where the mod are.MOD_DIRYesYes
Server NameSets 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_NAMEPterodactyl IW4XYesYes
Install Script
#!/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 "-----------------------------------------"