I'm having the same issue where my server can't be seen outside the network. I'm running HLDS as installed through steamCMD.
1. I disabled Windows firewall
2. I opened up the 27015 UDP/TCP ports in the router
3. I manually set/checked ipaddress as my external, sv_lan 0
I downloaded the packet analyzer, Wireshark, and I can see the SteamQueries coming in and my machine responding with the server info, but it never shows up on the server list, nor is it able to be manually connected/searched from outside the network when I put my external address in "add a server".
Also everytime I tried to manually connect/search my server from outside the network, I can see the SteamQuery packet come in. There are also SteamQueries that come in from random IP addresses, so I assume these are the people clicking "refresh" on the internet game list.
So the steam master server is apparently acknowledging the existence of my server, as I keep getting SteamQueries, but something doesn't follow through. It seems the only two possibilities are that either these clients that are doing the querying are unable to receive my SteamQuery response, or that they do not like something in my SteamQuery response.
Thoughts?