Même les jeux 100% client / serveur ont parfois des problèmes lorsque le client est derrière NAT. Les jeux de pipi sont encore plus importants. Certains jeux doivent utiliser plusieurs transports (comme UDP et TCP) ou plusieurs connexions (comme un port UDP différent pour la voix).
Quels sont les moyens de s'assurer qu'un jeu fonctionne de manière fiable lorsqu'il s'exécute derrière un routeur NAT?
- Peer-Peer: Aucun serveur centralisé n'existe. Le joueur A commence une partie et le joueur B veut se joindre
- Client-Serveur: Un serveur centralisé sur une adresse bien connue (nom d'hôte) accepte toutes les connexions entrantes. Chaque client communique uniquement avec ce serveur.
- Combo: où le serveur est juste un matchmaking, mais les mises à jour du jeu sont peer-peer. Différents pairs peuvent voir chaque joueur avec un IP / port différent potentiellement (par exemple, certains clients sont derrière le même NAT et certains sont sur un routeur différent)