|Well, we both know that Windows, Unix & Linux all use random source ports|
Yes indeed, we both do know that. But, we're talking about hosting a game from behind a firewall and allowing external connections to said game.
When you're talking about hosting a game via the internet (something I've done numerous times over the years) you need to find the source port of the game in question and input that into your forward. Each game has uses a unique port number and the trick is finding out what port that is and then progamming your forward with that info.
I haven't played this one in forever but I used to host Diablo II games and my friend would join in. I first googled "Diablo II port number" to find out what port the game uses. It is:
Allow port 4000 TCP out and in (hosting open games only)
I got the above port number from a quick google search and the following site: http://portforward.com/cportsnotes/battlenet/battlenet.htm
So I created a port forward that takes incoming traffic on port 4000 (TCP) and sends it to 192.168.1.50 - my XP Pro gaming rig.
I have another set to send port 8767 to 192.168.1.55 which is the port for teamspeak, and .55 is my teamspeak server (running on a Linux Distro) which my friend and I use so we can talk while playing.
I have a couple others, port 22 for SSH and port 115 for sftp and 3389 for RDC sessions. (On a side note, I now have things setup in such a way that when I go to connect to my home PC from work, I first establish and encrypted ssh session from my work PC (using Putty - it's an XP PC) and then I run an RDC session through that tunnel)
You're talking about web sites and web hosting and I suspect the rules are slightly different for setting forwards up for those.