Ports et pare-feu

Comment ouvrir des ports sur Windows Server avec PowerShell

Ouvrir TCP et UDP en entrée et en sortie dans le pare-feu Windows en deux lignes, vérifier que c'est bien pris en compte et comprendre pourquoi ça ne marche parfois toujours pas.

4 min de lectureMis à jour le 6 octobre 2026

Quand tu montes un serveur de jeu sur un VPS Windows et que personne n'arrive à se connecter, le coupable est presque toujours le même : le pare-feu Windows bloque le port. Voici comment l'ouvrir en ligne de commande, ce qui est plus rapide que de passer par les menus et, surtout, se copie-colle sans erreur.

Sur un VPS, il n'y a pas de box à configurer. Oublie la « redirection de ports » des tutos : c'est pour les serveurs à la maison. Ton VPS a sa propre IP publique, donc la seule chose entre tes joueurs et ton serveur, c'est le pare-feu Windows.

Chemin d'un joueur jusqu'à ton serveur : son PC, Internet, le filtre AntiDDoS, le pare-feu du VPS et ton serveur à l'écoute sur son port
Si une seule de ces étapes n'a pas le port ouvert, avec le bon protocole, le joueur n'entre pas.

Ouvre PowerShell en administrateur

Connecte-toi à ton VPS en Bureau à distance (on t'explique comment ici), fais un clic droit sur le bouton Démarrer et choisis Terminal (Admin) ou Windows PowerShell (Admin). Sans les droits d'administrateur, les commandes échoueront avec une erreur de permissions.

Ouvrir un port : TCP et UDP, en entrée et en sortie

Cet exemple ouvre le 30120 ; remplace le numéro et le nom par les tiens. Colle tout le bloc d'un coup :

$port = 30120
$nom = "Serveur de jeu"

New-NetFirewallRule -DisplayName "$nom TCP $port (entrant)" -Direction Inbound  -Protocol TCP -LocalPort $port -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "$nom UDP $port (entrant)" -Direction Inbound  -Protocol UDP -LocalPort $port -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "$nom TCP $port (sortant)" -Direction Outbound -Protocol TCP -LocalPort $port -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "$nom UDP $port (sortant)" -Direction Outbound -Protocol UDP -LocalPort $port -Action Allow -Profile Any

Ce que fait chaque partie, si tu veux l'adapter :

  • -Direction Inbound, c'est ce qui arrive de l'extérieur (ce dont tu as vraiment besoin), et Outbound, ce qui sort.
  • -Protocol TCP ou UDP. Ils ne sont pas interchangeables. Si ton jeu utilise UDP et que tu n'ouvres que TCP, personne n'entre : c'est l'erreur la plus fréquente.
  • -LocalPort, c'est le port sur lequel ton serveur écoute.
  • -Profile Any applique la règle aux trois profils réseau (domaine, privé et public). Sur un VPS, la connexion est en général en « public », c'est donc important.

Les règles de sortie sont-elles nécessaires ? Sur Windows Server, le trafic sortant est autorisé par défaut, donc en principe non. Elles sont là parce qu'elles ne gênent pas et parce que, si quelqu'un a durci le pare-feu avant, ce seront justement celles qui manquaient.

Pour une plage de ports

New-NetFirewallRule -DisplayName "Jeu UDP 7777-7778 (entrant)" -Direction Inbound -Protocol UDP -LocalPort 7777-7778 -Action Allow -Profile Any

Une liste séparée par des virgules marche aussi : -LocalPort 27015,27020.

Vérifier que les règles sont bonnes

Get-NetFirewallRule -DisplayName "*30120*" | ForEach-Object {
    $f = $_ | Get-NetFirewallPortFilter
    [pscustomobject]@{
        Regle     = $_.DisplayName
        Active    = $_.Enabled
        Sens      = $_.Direction
        Action    = $_.Action
        Protocole = $f.Protocol
        Port      = $f.LocalPort
    }
} | Format-Table -AutoSize

Les quatre règles doivent apparaître, avec Enabled à True et Action à Allow.

Vérifier que ton serveur écoute

Ouvrir le port ne sert à rien si rien n'écoute derrière. Avec le serveur de jeu lancé :

Get-NetTCPConnection -LocalPort 30120 -State Listen
Get-NetUDPEndpoint  -LocalPort 30120

S'ils ne renvoient rien, le problème n'est pas le pare-feu : ton serveur n'a pas démarré, il a planté ou il est configuré sur un autre port. Regarde la console du jeu avant de continuer à toucher aux règles.

Supprimer une règle

Remove-NetFirewallRule -DisplayName "Serveur de jeu TCP 30120 (entrant)"

Si tu préfères le faire à la souris

Appuie sur Win + R, tape wf.msc et Entrée. Dans le volet de gauche, choisis Inbound Rules (règles de trafic entrant) → New Rule… (nouvelle règle) à droite → Port → choisis TCP ou UDP et saisis le numéro dans Specific local ports (ports locaux spécifiques) → Allow the connection (autoriser la connexion) → laisse les trois profils cochés → donne un nom et termine. Recommence pour l'autre protocole : une règle ne couvre que TCP ou UDP, jamais les deux.

Ça ne marche toujours pas

Vérifie dans cet ordre, c'est celui qui élimine le plus vite :

  1. Le serveur écoute-t-il ? Les deux commandes ci-dessus. C'est de loin le problème le plus courant.
  2. As-tu ouvert le bon protocole ? La moitié des jeux passent par UDP. Ouvre TCP et UDP et tu n'auras plus de doute.
  3. Testes-tu depuis le serveur lui-même ? De l'intérieur, ça marche toujours. Teste depuis une autre connexion ou demande à quelqu'un de rejoindre.
  4. Filtrage AntiDDoS. Sur la fiche de ton service, onglet Sécurité, se trouvent les filtres du réseau. Si tu as créé des filtres à la main, vérifie qu'ils incluent le port et le protocole de ton jeu.

Ne désactive jamais tout le pare-feu « pour tester ». Un VPS avec une IP publique reçoit des scans automatiques quelques minutes après son démarrage. Ouvre les ports dont tu as besoin et laisse le reste fermé.

Articles liés

Retour au centre d’aide

Vous ne trouvez pas ?

Ouvrez un ticket depuis votre panel, nous répondons en moins de 5 minutes.