Non, c'est ce qu'il faut faire. Si le serveur que tu essayes de joindre est derrière un NAT, faut mettre le routeur au courant que lorsqu'une connexion arrive depuis un client, faut l'envoyer vers le serveur.
Y a plusieurs techniques pour ça, par exemple certaines à base de serveur intermédiaire, mais le plus simple reste la configuration du routeur (manuelle ou par UPnP).
Plus pratiquement, essayes de mettre en place une DMZ si t'as l'option pour ça (c'est un peu le bazooka de la configuration NAT). Si ça ça marche pas, le soucis est ailleurs.