Nope, does not seem to work. What I am trying to do is to be able to host a civilization 3 game via gamespy, which required lots of ports to be used. I have a home network behind a linux router, where I use iptables for all my forwarding needs.
For example, in past, if I wanted to set up a host for warcraft 3 game, I'd have to do the following:
Forward Warcraft 3 port
-A PREROUTING -p tcp --dport 6112 -i eth0 -j DNAT --to 192.168.0.16:6112
Unfortunately, civilization 3 required a LOT of ports, as described by their support page -
http://www.atarisupport.com/newfaq/c...faq_prodissues
Here are the ports required for hosting:
# In order to host a game on the Internet through the built-in GameSpy software, the following ports must be opened:
* IRC - Port 6667
* Voice Chat - Port 3783
* Master Server UDP Heartbeat - Port 27900
* Master Server List Request - Port 28900
* GP Connection Manager - Port 29900
* GP Search Manager - Port 29901
* Custom UDP Pings - Port 13139
* Query Port - Port 6500
* DirectPlay - Port 2302
* Initial UPD COnnection - Port 6073 Inbound
* Subsequent UPD Inbound and Outbound - Ports 2302-2400
So, here's what I added to my iptables:
-A PREROUTING -p udp -i etho0 --dport 6073 -j DNAT --to 192.168.0.16:6073
-A PREROUTING -p udp -i etho0 --dport 2302:2400 -j DNAT --to 192.168.0.16:2302:2400
-A PREROUTING -p tcp -i etho0 --dport 6667 -j DNAT --to 192.168.0.16:6667
-A PREROUTING -p tcp -i etho0 --dport 3783 -j DNAT --to 192.168.0.16:3783
-A PREROUTING -p udp -i etho0 --dport 27900 -j DNAT --to 192.168.0.16:27900
-A PREROUTING -p tcp -i etho0 --dport 28900 -j DNAT --to 192.168.0.16:28900
-A PREROUTING -p tcp -i etho0 --dport 29900 -j DNAT --to 192.168.0.16:29900
-A PREROUTING -p tcp -i etho0 --dport 29901 -j DNAT --to 192.168.0.16:29901
-A PREROUTING -p udp -i etho0 --dport 13139 -j DNAT --to 192.168.0.16:13139
-A PREROUTING -p tcp -i etho0 --dport 6500 -j DNAT --to 192.168.0.16:6500
-A PREROUTING -p tcp -i etho0 --dport 2302 -j DNAT --to 192.168.0.16:2302
/etc/init.d/iptables restart gave me no errors, so I assume everything is correct. But I am still not able to host a game.
So either I did something wrong in the iptables, or gamespy or developers don't know what the hell their ports are.
Thanks in advance.