One thing to make this experience easier for your son, go to
www.dyndns.org and sign up for a free dynamic domain name. You run a small app on your "server" that contacts DYNDNS servers and updates them with your IP address as it changes through the dynamics of ADSL. This way you dont have to go checking your router everytime you want to play your sons friends just type in a name like icemans-son.dyndns.org
I have a number of free names through them and also a paid service for
sarcasmogerdes.com that points to a couple of webservers, an email server and a vpn service to allow remote access to the systems I run at home.
This is all done on a regular ADSL2+ service.