Have you ever hosted a Counterstrike server? I believe they do need port-forwarding, but the servers are setup somewhere already, and people just join.

One way is, as far as I know, to have a "masterserver"(when many people play you'll need multiple servers to keep up) which always runs the game. Then all players are clients of that server, and if one player "hosts" then he will not have to do any port forwarding because he's really a client just telling the server what to do/what map to choose etc.


~"I never let school interfere with my education"~
-Mark Twain