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.
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
- Open Windows Defender Firewall with Advanced Security (search for it in the Start menu).
- Click Inbound Rules → New Rule.
- Select Port → Next.
- Select UDP, enter
28960, click Next. - Select Allow the connection → Next.
- Apply to all profiles (Domain, Private, Public) → Next.
- Name it something like
IW4x Game UDP→ Finish. - Repeat for TCP port 28960.
- 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.
- Log in to your router's admin panel (usually
192.168.1.1or192.168.0.1). - Find Port Forwarding or Virtual Servers (location varies by router brand).
- Create entries for:
- UDP 28960 → your server's local IP (e.g.,
192.168.1.100) - TCP 28960 → same local IP
- UDP 28960 → your server's local IP (e.g.,
- 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.