In this day and age, you should NEVER, EVER have to open up ports for PC games. If Team Fortress 2, Left for Dead 2, and many many other games manage to work through firewalls and such without making the user open a port, there's no real excuse to release a game that does.
Killing Floor is one example, but I kind of forgive that because the games just awesome, but my new game, Hawx 2, which I bought exclusively for co-op, actually needs both you as the server, AND the person joining your server, to have ports open, or to be in DMZ mode. That means if you want to co-op, and one of your friends isn't very tech savvy, good luck trying to talk him through accessing his router and making the changes..
tbh, Hawx 2 is kind of fun too, but that "everyone needs to open ports" thing has me pissed coming from a major developer like Ubi.. It's not like we're talking about an indy dev here. I hear even the console versions have problems creating coop games..
That, and the drm is bad, with a poor man's Steam thing called Uplay needing to be open and connected to the internet at all times. I may never buy another Tom Clancy, or Ubisoft game again.. ¬¬