This is a really a networking question, and involves a few steps. But here goes.
Since this normally works without a problem when no home router is involved (ie, the friends list works and people can just follow you into a hosted game), I'm going to assume you have one.
So, STEP 1: Configure you router to allow incoming connections to your computer.
These steps assume you have a router with factory settings.
- Get your router's manual handy, because unfortunately, this process can vary between different makes and models.
- First, you'll need to log onto the administrative web-based interface for your router. This is typically at http://192.168.0.1 If not, see your manual.
- You'll be asked for a password and username. This is typically something like admin/password or [blank]/admin or something of the like. This default password is in your manual.
- Somewhere in an "Advanced" section, there is typically page labeled "Port Forwarding" or something similar. Go there.
- However your interface is laid out, you'll want to add an entry to forward port 27015 (Sometimes this can be a range, just specify 27015 to 27015 for the single port) to your computer.
- It will also require an IP or Hostname to identify your computer by. Preferably you'll want to do it by host name. If its a decent router, it will probably provide a list of hostnames on your LAN. You can look up yours by right clicking My Computer -> Properties and looking for a field labeled "Computer Name". That's your hostname.
- Apply/Add changes. You'll probably be able to label it, "Half-Life 2 Server" is a good label.

STEP 2: Firewalls
Whatever fire wall you use, if any, make sure it will allow incoming connections to hl2.exe on port 27015. Unfortunately, the process involved varies greatly between software used.
STEP 3: Pointing your friends to your server
- First you'll need your WAN IP. You can get this from your router interface's status page or from a site like this: http://www.whatsmyip.org/
- Note: The friends list will list off your LAN IP, which will not work, you will have to give them the WAN IP obtained above.
- Then its as simple as connect YOURIP:27015 in game, or, as a STEAM URL steam://connect/YOURIP:27015
(Note to others with comments: I will not go over the process DMZ'n a computer. Though easier, it completely circumvents the security of having a router.)
Hopefully I didn't misunderstand the question and waste my time. :closedeyes: