Jgamer's idea is good, a p2p server is a bit much, all you need is a list server that tracks the IP of each game "host" (computer that created a game) and getting how many players etc. (For net games) The list server should use a TCP CONNECTION not ping to see if the server is alive (using ping to see if a host is alive is not wise internet programming, lots of ppl will disagree but ping is way overused... It's only for seeing how long it takes to communicate, and nothing else)
You HAVE to use TCP sockets for internet games, both to the list server and the other players.... (well, you saw how UDP worked in OP2.... not good.)
However UDP is fine for TCP/IP (misleading name.., should be UDP/IP) compatible networks, since there is no routing invovled and you can use broadcast/multicast on UDP to find games.
As far as Novell IPX/SPX compatible networks, phone modem, null modem direct serial, etc..... those are options, but I've never programmed them, so I wouldn't know anything about them.