IW4x Updated April 28, 2026

IW4x Server Port Forwarding and Firewall Setup

Which ports IW4x uses, how to open them in Windows Firewall and Linux iptables/ufw, and how to verify connectivity.

IW4xMW2PortsFirewallNetworking

IW4x Server Port Forwarding and Firewall Setup

For players to connect to your IW4x server and for it to appear in the public server browser, the correct ports must be open at every layer of your network: the OS firewall, any software firewall, and your router (if hosting from home or a NAT'd environment).

Ports Used by IW4x

Port Protocol Purpose
28960 UDP Game traffic (player connections, game state)
28960 TCP Auxiliary game traffic and RCON
1624 TCP IW4MAdmin web panel (optional but recommended)

The game port defaults to 28960 and is configurable via +set net_port "XXXX" in your launch parameters. If you're running multiple servers on the same machine, use different ports (28960, 28961, 28962, etc.) and open each one.

Windows Firewall

Using the GUI

  1. Open Windows Defender Firewall with Advanced Security (search for it in the Start menu).
  2. Click Inbound Rules → New Rule.
  3. Select Port → Next.
  4. Select UDP, enter 28960, click Next.
  5. Select Allow the connection → Next.
  6. Apply to all profiles (Domain, Private, Public) → Next.
  7. Name it something like IW4x Game UDP → Finish.
  8. Repeat for TCP port 28960.
  9. If using IW4MAdmin, repeat for TCP port 1624.

Using PowerShell (faster)

# Game traffic
New-NetFirewallRule -DisplayName "IW4x Game UDP" -Direction Inbound -Protocol UDP -LocalPort 28960 -Action Allow
New-NetFirewallRule -DisplayName "IW4x Game TCP" -Direction Inbound -Protocol TCP -LocalPort 28960 -Action Allow

# IW4MAdmin web panel
New-NetFirewallRule -DisplayName "IW4MAdmin Web" -Direction Inbound -Protocol TCP -LocalPort 1624 -Action Allow

Using netsh

netsh advfirewall firewall add rule name="IW4x UDP" dir=in action=allow protocol=UDP localport=28960
netsh advfirewall firewall add rule name="IW4x TCP" dir=in action=allow protocol=TCP localport=28960

Linux Firewall

UFW (Ubuntu/Debian)

sudo ufw allow 28960/udp
sudo ufw allow 28960/tcp
sudo ufw allow 1624/tcp    # IW4MAdmin
sudo ufw reload
sudo ufw status

iptables

# Accept incoming game traffic
sudo iptables -A INPUT -p udp --dport 28960 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 28960 -j ACCEPT

# Accept IW4MAdmin web panel
sudo iptables -A INPUT -p tcp --dport 1624 -j ACCEPT

# Save rules (Debian/Ubuntu)
sudo netfilter-persistent save

# Save rules (CentOS/RHEL with iptables-services)
sudo service iptables save

firewalld (CentOS/RHEL/Fedora)

sudo firewall-cmd --permanent --add-port=28960/udp
sudo firewall-cmd --permanent --add-port=28960/tcp
sudo firewall-cmd --permanent --add-port=1624/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-ports

Home Router / Port Forwarding

If you're running the server at home (behind a consumer router), you also need to set up port forwarding on your router to direct incoming traffic to your server machine.

  1. Log in to your router's admin panel (usually 192.168.1.1 or 192.168.0.1).
  2. Find Port Forwarding or Virtual Servers (location varies by router brand).
  3. Create entries for:
    • UDP 28960 → your server's local IP (e.g., 192.168.1.100)
    • TCP 28960 → same local IP
  4. Assign your server a static local IP address so the forwarding rules don't break when the DHCP lease renews. Most routers let you do this by binding a static IP to the server's MAC address in the DHCP settings.

To find your server's local IP on Windows:

ipconfig

Look for the IPv4 address under your active network adapter.

On Linux:

ip addr show

Cloud/VPS Hosting

If your server runs on a VPS or dedicated server (AWS, OVH, Hetzner, etc.), there's no consumer router involved, but the provider typically has a cloud firewall or security group that you must configure through their control panel:

  • AWS: Edit the Security Group inbound rules to allow UDP 28960, TCP 28960, TCP 1624 from 0.0.0.0/0.
  • OVH/Hetzner: Check the "Firewall" or "Network" section of their control panel.
  • DustBowl.Games: Ports are pre-configured for game server plans — you don't need to manage firewall rules manually.

Verifying Connectivity

Check if the port is listening (on the server)

Windows:

netstat -an | findstr 28960

Linux:

ss -ulnp | grep 28960

You should see something like 0.0.0.0:28960 in the output, indicating the server is bound to that port.

Test from an external machine

Use an online UDP port checker tool (search "UDP port check online") and test port 28960 against your server's public IP. For TCP, you can test with:

nc -zv YOUR_SERVER_IP 28960

Check your public IP

curl ifconfig.me

This is the IP players use to connect directly (connect 1.2.3.4:28960 in the IW4x console).

Multiple Servers on One Machine

If you're running multiple IW4x instances, each needs its own port:

Server Port Launch Parameter
Server 1 28960 +set net_port "28960"
Server 2 28961 +set net_port "28961"
Server 3 28962 +set net_port "28962"

Open each port in your firewall and, if on a home network, create separate port forwarding entries for each.