Anti-DDoS FiveM : la protection DDoS de votre serveur GTA RP

Mis à jour le

Un anti-DDoS FiveM — une protection DDoS conçue pour FiveM — est un service qui place un proxy filtrant entre les joueurs et votre serveur : il absorbe le flood UDP (L4) sur le port 30120, rejette les fausses connexions cfx.re (L7) et masque l'IP réelle de la machine. Un service qui n'en fait qu'un des trois vous laisse tomber par les deux autres.

Vous n'avez pas à changer d'hébergeur pour cela. Le serveur reste exactement où il est, chez le fournisseur que vous avez déjà ; la seule modification est un bloc de configuration collé dans server.cfg. Ni migration, ni changement DNS, ni ressource à installer.

Un serveur FiveM qui commence à compter — un GTA RP qui remplit ses places, une communauté qui grandit — ne reste pas longtemps tranquille. L'attaque arrive rarement d'un adversaire compétent : c'est un flood UDP loué quelques euros sur un booter, dirigé vers le port 30120, acheté par un joueur banni ou un serveur concurrent. Il n'a besoin d'aucune faille, d'aucun accès, et d'aucune compétence particulière.

Et pourtant la plupart des serveurs qui se disent protégés ne le sont que contre un tiers du problème. Un anti-DDoS FiveM n'est pas une fonctionnalité : ce sont trois métiers distincts, qui échouent chacun d'une manière différente. Cette page explique lesquels, pourquoi les réponses habituelles n'en couvrent qu'un seul, et ce que fiveshield fait concrètement.

  • Absorbe les floods UDP avant qu'ils n'atteignent votre lien
  • Bloque les fausses connexions cfx.re avant FXServer
  • Masque votre IP réelle

Vous gardez votre hébergeur : un bloc dans server.cfg. À partir de 2,25 $ CA/jour jusqu'à 50 joueurs, sans abonnement.

10 $ CA offerts sur votre premier serveur · Sans carte bancaire · Sans engagement

À quoi ressemble une attaque, vue du propriétaire

Il n'y a pas d'avertissement. Le serveur tourne, la population est normale, puis tout le monde time out en même temps. Le panel n'affiche rien d'anormal : le CPU est bas, la RAM est basse, le processus FXServer est toujours vivant. C'est précisément ce qui rend le diagnostic pénible — vue de la machine, il ne se passe rien, parce que le problème est en amont d'elle.

Ce qui est saturé, c'est le lien réseau. Les paquets d'attaque remplissent la bande passante disponible avant d'atteindre votre serveur, et les paquets légitimes de vos joueurs sont perdus dans le même goulot. Redémarrer FXServer ne change rien. Redémarrer la machine ne change rien. L'attaque s'arrête quand l'attaquant décide qu'elle s'arrête, ou quand votre hébergeur met votre IP en null route — ce qui revient au même résultat pour vos joueurs, en plus durable.

Booter, stresser, « se faire ddos » : le même produit

Le mot que vous verrez passer dans les Discord GTA RP, c'est booter — parfois stresser, ou IP stresser. Ce sont trois noms pour la même chose : un service de DDoS à la demande, vendu à l'abonnement, avec une interface web, un champ pour l'adresse, un champ pour la durée, et un bouton. Rien à installer, rien à comprendre.

C'est ce qui explique le profil des attaquants sur FiveM : ce ne sont presque jamais des gens qui savent ce qu'est un paquet UDP. « Se faire ddos » sur un serveur GTA RP, dans l'immense majorité des cas, c'est se faire viser par quelqu'un qui a payé quelques euros et collé une adresse dans un formulaire. La conclusion pratique est rassurante et inquiétante à la fois : l'attaque est bête, mais elle est à la portée de n'importe quel joueur banni.

Pourquoi le port de jeu n'a rien à vérifier

FiveM fait passer le trafic de jeu par ENet, au-dessus d'UDP. UDP n'établit pas de connexion : il n'y a pas de poignée de main à terminer avant que votre serveur ne commence à traiter un paquet. L'attaquant n'a donc rien à prouver, rien à compléter, et n'a même pas besoin de recevoir de réponse — il peut usurper son adresse source de bout en bout.

C'est la différence structurelle avec un site web. Une requête HTTP arrive au bout d'un handshake TCP, ce qui donne un point où l'on peut refuser quelqu'un avant de travailler pour lui. Sur le port 30120, ce point n'existe pas.

L'amplification fait le reste

Un attaquant qui dispose de 100 Mbit/s n'envoie pas 100 Mbit/s vers vous. Il envoie de petites requêtes, avec votre IP en adresse source falsifiée, vers des services mal configurés qui répondent beaucoup plus gros que la question posée : résolveurs DNS ouverts, serveurs NTP, Memcached, SSDP. Les réponses partent toutes chez vous.

Le facteur d'amplification va de 30× à plus de 50 000× selon le protocole. C'est pour cela qu'un flood à plusieurs dizaines de gigabits coûte le prix d'un abonnement de streaming, et pourquoi « avoir une bonne machine » ne protège de rien : la machine n'est jamais le facteur limitant, le lien l'est.

Les trois attaques que subit réellement un serveur FiveM

« DDoS » est un mot unique pour trois choses qui ne se défendent pas au même endroit. Un service qui n'en traite qu'une vous laisse tomber sur les deux autres, et c'est le cas le plus courant.

Les trois attaques sur un serveur FiveM : flood UDP volumétrique qui sature le lien, flood de connexions cfx.re qui sature le CPU de FXServer, flood de téléchargement de ressources qui sature la bande passante sortante
Trois attaques, trois goulots différents — et trois défenses qui ne se trouvent pas au même endroit.

1. Le flood volumétrique (couche 4)

Le cas de base : un très gros volume de paquets UDP vers votre IP, sans aucune prétention de ressembler à quoi que ce soit. C'est brutal et c'est efficace, parce qu'il suffit de dépasser la capacité de votre lien montant. Un serveur sur du 1 Gbit/s tombe sous 1 Gbit/s d'attaque, quelle que soit la qualité de sa configuration.

Cela se traite en amont, sur un réseau qui a la capacité de l'avaler — jamais sur la machine attaquée, qui par définition ne peut pas recevoir plus que ce que son lien accepte.

2. Le flood de connexions cfx.re (couche 7)

Le plus intéressant, et celui que presque personne ne filtre. Une fois le volume brut absorbé, un attaquant sérieux arrête d'envoyer du déchet et se met à envoyer du trafic techniquement valide : des milliers de tentatives de connexion FiveM bien formées par seconde.

Pour un tunnel L4 générique, chacune de ces tentatives ressemble à un joueur. Elle est donc transmise, et c'est votre FXServer qui fait le travail de la refuser : parsing du handshake, vérification du ticket cfx.re, file d'attente, allocation, puis rejet. Le lien n'est plus saturé — c'est le CPU du serveur qui l'est, et vos vrais joueurs n'arrivent plus à entrer. Le symptôme est différent (« le serveur est en ligne mais personne ne peut rejoindre »), la cause est la même.

3. Le flood de téléchargement de ressources

Chaque joueur qui rejoint télécharge vos ressources. Sur un serveur RP fourni, cela va couramment de plusieurs centaines de mégaoctets à plusieurs gigaoctets. Un attaquant n'a qu'à demander vos fichiers les plus lourds en boucle, depuis quelques centaines d'adresses, pour saturer votre bande passante sortante avec des requêtes parfaitement légitimes.

Il n'y a rien de malformé à détecter ici : c'est exactement ce qu'un vrai joueur fait, en plus souvent. Cela ne se règle pas avec un filtre, mais avec un cache qui sert les fichiers depuis un autre endroit que votre machine.

Ce ne sont pas les seules cibles de votre machine : la section suivante traite les deux que l'on découvre en général trop tard, l'API de requête du port 30120 et le panel txAdmin.

Les deux cibles que l'on découvre toujours trop tard

Les trois floods ci-dessus visent le trafic de jeu. Deux autres surfaces sont attaquées au moins aussi souvent, et aucune des deux ne se voit dans un graphe de bande passante — ce qui explique pourquoi on les diagnostique en dernier.

Le flood de requêtes serveur (getinfo, getstatus, players.json)

FiveM répond, sur le même port 30120, à deux familles de requêtes qui n'ont rien à voir avec le jeu. En UDP, des requêtes hors-bande héritées de Quake — getinfo et getstatus — dont se servent le navigateur de serveurs et les sites de listing pour afficher votre nom, votre carte et votre nombre de joueurs. En HTTP, sur le même numéro de port, les endpoints /info.json, /players.json et /dynamic.json, qui exposent la même chose en JSON.

Chacune tient dans un paquet ou une requête minuscule, et oblige FXServer à composer une réponse complète. Un attaquant n'a donc qu'à la répéter quelques milliers de fois par seconde pour occuper le thread principal, sans jamais tenter de se connecter. Le lien n'est pas saturé, la bande passante bouge à peine, et pourtant le serveur cesse de répondre : il disparaît de la liste alors qu'il tourne encore, et les joueurs qui tentent de rejoindre restent bloqués sur « Failed to get info from server (tried 3 times) » — le client demande ces informations avant de terminer la connexion.

/players.json a un second effet, celui-là permanent : il liste vos joueurs connectés à qui veut bien le demander. C'est de cette façon qu'on sait quand votre serveur est plein, donc quand une attaque fera le plus de dégâts.

Le SYN flood sur txAdmin (port 40120)

txAdmin écoute en TCP, par défaut sur le port 40120, sur la même machine que le jeu. C'est un serveur HTTP de plus, exposé, et il ne profite d'aucun des réglages que vous auriez pu mettre sur le port de jeu.

Un SYN flood y remplit la table des connexions semi-ouvertes sans jamais terminer une seule poignée de main : le panel devient injoignable bien avant que le port de jeu ne bouge. C'est l'attaque la moins spectaculaire et la plus efficace, parce qu'elle vous retire l'outil avec lequel vous auriez réagi. On ne la remarque en général qu'au moment où l'on ouvre le panel pour comprendre ce qui se passe.

Déplacer le port — txAdminPort, ou la variable d'environnement qui l'a remplacée — déplace la cible sans la faire disparaître : un scan de ports la retrouve en quelques secondes.

Chez fiveshield, ces deux surfaces sont derrière le proxy comme le reste : les requêtes de listing frappent nos instances et pas votre machine, et txAdmin passe par la même protection que le trafic de jeu plutôt que d'être exposé en direct.

Ce que server.cfg peut et ne peut pas faire

Les mêmes variables de server.cfg reviennent dans toutes les discussions FiveM sur le DDoS. Elles servent, elles sont gratuites, et il faut les régler. Aucune n'est une mitigation : elles réduisent ce que votre serveur publie et ce qu'il accepte, elles ne changent rien à ce qui arrive sur votre lien.

sv_endpointPrivacy — retiré, et il n’a jamais protégé votre serveur

La référence le décrit toujours comme masquant les adresses IP des joueurs dans les rapports publics émis par le serveur — celles des joueurs, pas la vôtre. Sur les builds FXServer actuels, il ne fait même plus cela : le convar a été retiré, le comportement est devenu inconditionnel, et le laisser dans la configuration fait afficher au démarrage un message demandant de l’enlever.

Il ne masque pas l'IP de votre machine et il ne rejette pas un seul paquet. C'est la confusion la plus répandue sur le sujet : le nom fait penser à un masquage d'origine, le comportement n'a rien à voir.

sv_requestParanoia — un filtre HTTP, pas un anti-DDoS

sv_requestParanoia va de 0 à 3 et ne concerne que les requêtes HTTP reçues par le serveur. Au niveau 1, il bloque les adresses dont les requêtes portent un en-tête Via ; au niveau 2, celles qui portent Upgrade-Insecure-Requests ; au niveau 3, il ferme en plus la socket sur laquelle elles sont arrivées. C'est prévu contre les floods HTTP relayés par des proxies.

Deux limites à connaître. Il raisonne sur des en-têtes, donc un attaquant qui ne les envoie pas n'est pas concerné. Et il ne voit pas l'UDP : ni le trafic de jeu, ni les requêtes getinfo du port 30120 ne passent par ce chemin. Mettez-le à 3, et ne comptez pas dessus comme protection contre un flood volumétrique.

sv_forceIndirectListing et sv_proxyIPRanges — la vraie paire pour l'origine

sv_forceIndirectListing true empêche le serveur d'être annoncé avec son adresse IP réelle : c'est le réglage qui compte dès que vous passez par un proxy. Il travaille avec sv_endpoints, qui déclare le point d'entrée réel ou les proxies, et au besoin avec sv_listingHostOverride / sv_listingIpOverride, qui remplacent le nom d'hôte et l'IP envoyés au master.

sv_proxyIPRanges déclare les réseaux, en notation CIDR, depuis lesquels l'en-tête X-Real-IP est accepté et le limiteur de débit contourné — autrement dit vos proxies. Par défaut, seuls les réseaux privés y figurent (10.0.0.0/8, 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12) ; ne pas l'ajuster fait voir à FXServer l'adresse du proxy à la place de celle du joueur, ce qui casse vos bans par IP avant de casser autre chose.

Ensemble, ces variables évitent que votre IP soit publiée. Elles ne l'effacent pas d'un ancien enregistrement DNS, d'un site web hébergé sur la même machine, ni d'une ressource qui appelle une adresse codée en dur.

sv_authMinTrust et sv_maxClients — contre les faux joueurs, pas contre les paquets

sv_authMinTrust va de 1 à 5 et exprime la difficulté d'usurper l'identité d'un client : monter le niveau écarte les identités les moins fiables. sv_maxClients plafonne le nombre de joueurs (1 à 2048), donc la taille de la file.

Les deux se décident à l'intérieur de FXServer, une fois la tentative reçue et traitée. C'est utile contre des bots qui rejoignent réellement ; c'est sans effet contre dix mille tentatives par seconde, parce que le coût que vous vouliez éviter — recevoir, décoder, vérifier — a déjà été payé au moment où la décision se prend.

Réglez celles qui existent encore : c'est du temps bien dépensé, et un serveur mal configuré se fait trouver plus vite. Mais aucune de ces variables ne peut refuser un paquet avant qu'il n'ait traversé votre lien, pour une raison qui n'a rien à voir avec leur qualité : aucune ne s'exécute ailleurs que sur la machine attaquée.

Pourquoi les réponses habituelles ne suffisent pas

« On est derrière Cloudflare »

Cloudflare protège du HTTP. Le trafic de jeu FiveM n'est pas du HTTP — c'est de l'UDP sur le port 30120, et le proxy Cloudflare classique ne le voit jamais passer. Mettre son domaine derrière Cloudflare protège le site web de la communauté et ne fait strictement rien pour le serveur de jeu.

Pire, cela donne un faux sentiment de sécurité, et cela laisse presque toujours l'IP réelle exposée quelque part : un sous-domaine oublié, un enregistrement DNS resté en clair, un ancien A record. L'attaquant n'a besoin que d'un.

Il existe une exception qu'il vaut mieux connaître que se faire opposer : Cloudflare Spectrum est un proxy de couche 4 qui, lui, relaie du TCP et de l'UDP et masque l'origine. Deux réserves. La documentation Cloudflare indique que les applications TCP/UDP personnalisées — ce qu'est le port 30120 — demandent un plan Enterprise avec Spectrum en option payante, ce qui n'est pas l'ordre de grandeur d'un serveur communautaire. Et Spectrum reste un tunnel générique : il ne vérifie pas la poignée de main cfx.re, donc il transmet une fausse connexion bien formée exactement comme le ferait n'importe quel autre tunnel L4. Il couvre le premier des trois métiers, pas le deuxième.

L'anti-DDoS inclus de l'hébergeur

Il existe, il est réel, et il est générique. Il est réglé pour protéger un réseau entier contre des attaques massives, pas pour comprendre le protocole d'un jeu en particulier. Concrètement, il arrête bien le flood volumétrique, et il ne voit aucune différence entre un joueur qui rejoint et dix mille fausses connexions par seconde. L'exception est un hébergeur qui ajoute par-dessus une couche adaptée aux jeux, comme le pare-feu Game d'OVHcloud, qui affiche un profil FiveM sur ses serveurs Game récents (2024 et après) ; la documentation d'OVHcloud ne précise pas ce que ce profil vérifie.

Il a aussi un mode d'échec désagréable : quand la mitigation se déclenche, elle filtre souvent de façon assez grossière pour dégrader le jeu de ceux qui sont déjà connectés. Rester en ligne avec 400 ms de latence et du rubber-banding n'est pas très différent d'être hors ligne, du point de vue des joueurs.

iptables, nftables et les scripts « anti-DDoS » à installer

Filtrer sur la machine attaquée arrive trop tard par construction : les paquets ont déjà traversé le lien saturé pour arriver jusqu'à la règle qui les rejette. Vous économisez du CPU applicatif, vous ne récupérez pas de bande passante.

Quant aux ressources Lua vendues comme « anti-DDoS » sur les marketplaces : elles s'exécutent à l'intérieur de FXServer, donc après que le paquet a été reçu, décodé et traité. Elles peuvent limiter des abus applicatifs. Elles ne peuvent pas, par définition, arrêter une attaque réseau.

Changer d'IP

Cela fonctionne, pendant environ une journée. Vos joueurs doivent connaître l'adresse pour se connecter, donc l'attaquant l'apprend par le même chemin qu'eux — la liste des serveurs, un ami, un compte jetable. Sans masquage permanent de l'origine, changer d'IP est un délai, pas une solution.

Ce que chaque approche arrête réellement, et à quel endroit du trajet du paquet elle intervient.
ApprocheCe qu'elle arrêteCe qu'elle ne peut pas arrêterOù le paquet est traité
Proxy web Cloudflare (mode HTTP)Le trafic HTTP du site de la communautéLe jeu : l'UDP du port 30120 ne passe pas par ce proxySur le réseau Cloudflare, côté HTTP uniquement
Anti-DDoS inclus chez l'hébergeur (couche réseau générique)Le flood volumétrique, au niveau du réseauLes fausses connexions cfx.re, qu'il ne distingue pas d'un joueurEn amont du serveur, sans connaissance du protocole
iptables / nftables sur la machineLes abus applicatifs, une fois le paquet reçuLa saturation du lien : le paquet l'a déjà traverséSur la machine attaquée, après le lien
Ressource Lua « anti-DDoS »Des abus d'événements et de scripts côté jeuRien au niveau réseau : elle s'exécute dans FXServer, donc après réception, décodage et traitement du paquetDans FXServer, tout en bout de chaîne
Proxy XDP monté soi-mêmeLe volume, si vous avez la capacité réseau pour l'absorberCe que vous n'avez pas implémenté : poignée de main cfx.re, cache, basculeDans le noyau de vos propres machines
fiveshieldLe volume en XDP, les fausses connexions cfx.re en L7, le flood de téléchargement via le cacheUne IP d'origine que vous exposez ailleurs : DNS, site web sur la même machine, adresse codée en durDans le noyau de nos instances, avant votre lien

Ce qu'une protection DDoS FiveM doit réellement faire

Trois métiers, et un quatrième dont personne ne parle parce qu'il ne se mesure pas en gigabits.

Trajet d'un paquet d'attaque : rejet XDP dans le pilote réseau, avant la pile noyau, comparé à un filtrage iptables situé après elle
Le même paquet rejeté à deux endroits différents : dans le pilote réseau, ou après toute la pile noyau.

Absorber le volume en amont, dans le noyau

Le trafic volumétrique se traite là où la capacité existe, avant votre lien. Ce qui compte n'est pas seulement le chiffre affiché en Tbit/s, mais l'endroit où le paquet est rejeté. Filtrer en espace utilisateur signifie qu'un paquet d'attaque coûte un réveil du noyau, une copie mémoire et un changement de contexte — ce qui fait de la mitigation elle-même une cible.

fiveshield filtre en XDP, c'est-à-dire dans le pilote réseau du noyau Linux, avant l'allocation de la structure sk_buff. Un paquet rejeté à cet endroit ne coûte presque rien à rejeter, ce qui est la seule raison pour laquelle le débit de mitigation tient sous charge réelle.

Comprendre le protocole du jeu, pas seulement les paquets

C'est la partie qu'un proxy générique ne peut pas offrir, parce que l'offrir suppose d'implémenter le protocole FiveM. Distinguer un vrai joueur d'une fausse connexion demande de vérifier la poignée de main cfx.re elle-même — le ticket, la séquence, la cohérence entre ce qui est annoncé et ce qui suit.

C'est ce filtre de couche 7 qui fait la différence entre « le serveur est en ligne » et « les joueurs peuvent effectivement rejoindre » pendant une attaque.

Masquer l'origine, définitivement

Le filtrage est défensif ; le masquage de l'origine met fin au cycle. Si vos joueurs ne résolvent qu'une adresse de proxy et n'apprennent jamais l'IP réelle de votre machine, l'attaquant n'a plus rien à viser qu'une infrastructure faite pour être visée.

C'est aussi la pièce que les propriétaires défont le plus souvent sans s'en rendre compte : un site web non protégé sur la même machine, un vieil enregistrement DNS, une ressource qui appelle une adresse codée en dur. N'importe lequel des trois rend le reste inutile. Le premier réflexe est de regarder ce que la liste cfx.re publie déjà sur votre serveur — c'est ce qu'un attaquant lit en premier.

Ne pas casser la voix en chemin

Tout proxy ajoute un saut, et c'est au niveau du saut que le chat vocal se dégrade. Mumble et PMA-Voice sont intransigeants sur la gigue d'une manière que le trafic de jeu ne l'est pas : un chemin de mitigation réglé uniquement pour le débit produit un serveur qui reste en ligne et qui sonne mal.

C'est un critère de choix, pas un détail. Un serveur protégé sur lequel la voix hache est un serveur que les joueurs quittent sans jamais dire pourquoi.

Comment fiveshield le fait

fiveshield est un proxy inverse spécialisé pour FiveM et RedM. Le trafic de vos joueurs passe par notre réseau, y est filtré, puis atteint votre serveur — dont l'adresse n'est jamais exposée.

Carte du réseau anti-DDoS FiveM de fiveshield : 11 emplacements de filtrage répartis sur quatre continents, dont six en Europe
11 emplacements sur quatre continents : les attaques sont filtrées sur notre réseau, en amont de votre machine. Choisissez l'emplacement le plus proche de votre serveur.

Les 11 emplacements

Six en Europe, trois en Amérique du Nord, un en Asie et un en Océanie. Vous en choisissez un dans le tableau de bord en ajoutant votre serveur — de préférence celui qui est le plus proche de la machine.

Amérique du Nord : Beauharnois (BHS5), Virginie (US-EAST-VA-1), Oregon (US-WEST-OR-1).

Europe : Francfort (DE1), Gravelines (GRA9), Roubaix (RBX-A), Strasbourg (SBG5), Londres (UK1), Varsovie (WAW1).

Asie : Singapour (SGP1). Océanie : Sydney (SYD1).

Nettoyage L4 distribué (scrubbing)

Nos proxies tournent chez OVHcloud, dont le réseau anti-DDoS de 17 Tbit/s absorbe le volume brut en amont. Sur les 11 emplacements de proxy eux-mêmes, le filtrage est fait en XDP, dans le noyau, avec des compteurs et des limiteurs par port : un client sous attaque ne consomme pas la capacité des autres.

Sur chaque instance de proxy, le programme XDP est attaché à l'interface réseau et s'exécute sur chaque paquet dès que le pilote le reçoit. La limitation de débit par source et la protection contre les SYN floods s'appliquent à ce stade, et seul le trafic des joueurs attribués à cette instance, sur les ports actifs de votre serveur, passe aux règles nftables placées derrière, qui assurent le suivi des connexions. Tout le reste est rejeté avant que le noyau n'ait engagé quoi que ce soit pour lui, et c'est de là que vient l'écart par cœur que montre la figure ci-dessous.

XDP comparé à un pare-feu classique : environ 24 millions de paquets par seconde et par cœur contre environ 1 million, aucune structure sk_buff allouée par paquet, aucun changement de contexte
Ordres de grandeur par cœur de processeur : un paquet rejeté en XDP, face au même paquet traité par un pare-feu classique après la pile noyau.

Filtre de couche 7 sur le protocole cfx.re

Chaque connexion est vérifiée selon le protocole FiveM avant d'être transmise à votre serveur. Une tentative qui ne complète pas correctement la poignée de main n'atteint jamais FXServer, ce qui est exactement ce qui manque à un tunnel générique.

Attribution dynamique par joueur

Les joueurs ne sont pas tous routés par la même adresse. Chaque connexion se voit attribuer une instance de proxy, ce qui veut dire qu'une adresse compromise ou attaquée n'expose ni ne bloque l'ensemble de votre population — elle concerne les joueurs qui étaient dessus, et ils sont réattribués.

Cache CDN pour les ressources

Vos fichiers de ressources sont servis depuis le cache, pas depuis votre machine. Cela retire le troisième vecteur d'attaque (le flood de téléchargement) et, accessoirement, réduit nettement le temps de chargement initial de vos joueurs — c'est la même mécanique qui règle les deux.

txAdmin et panel protégés

L'interface d'administration passe par la même protection que le jeu. Vous gardez la main pendant une attaque, ce qui est précisément le moment où vous en avez besoin.

Compatible avec l'hébergeur que vous avez déjà

fiveshield ne remplace pas votre hébergement, il se place devant. Le serveur reste sur la machine et chez le fournisseur que vous avez aujourd'hui, votre panel reste le vôtre, et votre contrat d'hébergement n'est pas concerné. La seule modification côté serveur est un bloc de configuration dans server.cfg.

Il n'y a donc rien à migrer, aucun enregistrement DNS à déplacer et aucune ressource à installer. C'est ce qui rend la mise en route possible pendant une attaque, là où une migration ne l'est pas.

Latence mesurée : moins de 0,5 ms ajoutée sur un même emplacement, et typiquement moins de 20 ms jusqu'au proxy pour les joueurs hors de la région — la voix reste utilisable, et c'est tout l'enjeu.

Placez tout cela devant votre serveur : un bloc dans server.cfg, environ cinq minutes.

Serveur FiveM sous attaque en ce moment : que faire

Si vous lisez ceci pendant l'attaque, trois choses, dans cet ordre.

1. Ne redémarrez pas, et ne publiez pas de nouvelle adresse

Redémarrer FXServer ou la machine ne sert à rien : l'attaque est en amont, et vous ne perdez que la session en cours. Annoncer une nouvelle adresse dans votre Discord est pire — l'attaquant y est, et c'est souvent par là qu'il a eu la première.

2. Vérifiez que c'est bien une attaque

CPU et RAM bas, processus FXServer vivant, tous les joueurs qui tombent en même temps : c'est le réseau, pas le serveur. Du lag ordinaire fait monter quelque chose — le CPU, le temps de tick, la mémoire ; une attaque réseau ne fait rien monter du tout.

Deux variantes utiles. Un serveur qui disparaît de la liste alors qu'il tourne encore, ou des joueurs bloqués sur « Failed to get info from server (tried 3 times) », pointe vers un flood de requêtes plutôt que vers un flood volumétrique. Un txAdmin injoignable pendant que le jeu répond encore pointe vers le port 40120.

3. Arrêtez d'exposer l'IP d'origine

C'est la seule action qui change quelque chose durablement, et il faut être lucide sur l'ordre. Mettre un proxy devant un serveur dont l'adresse est déjà connue ne vide pas votre lien : l'attaquant continue de taper là où il tapait. La séquence qui fonctionne est : mettre le proxy en place, demander une nouvelle IP à votre hébergeur, ne la publier nulle part, et ne laisser sortir que l'adresse du proxy.

La mise en place tient dans les cinq minutes — un bloc à coller dans server.cfg et un redémarrage — parce qu'il n'y a ni changement DNS ni migration à attendre. C'est précisément pour cela que c'est faisable pendant l'attaque.

Et c'est encore mieux à froid : une mise en place calme vous laisse le temps de vérifier que rien ne fuit par ailleurs — un site web sur la même machine, un ancien enregistrement DNS, une ressource qui appelle une adresse en dur. C'est ce qui décide si le masquage tient ou non.

Mise en place

Pour mettre en place l'anti-DDoS de votre serveur FiveM, un bloc de configuration à coller dans server.cfg suffit. Pas de changement DNS, pas de ressource à télécharger, pas de migration : votre serveur reste chez votre hébergeur actuel, quel qu'il soit.

Vous créez un compte avec Discord, vous ajoutez votre serveur, vous copiez le bloc que le tableau de bord vous donne, vous redémarrez. Comptez cinq minutes. Votre premier serveur reçoit 10 $ CA de crédit d'essai gratuit (comptes éligibles, sans carte bancaire), soit environ quatre jours de protection jusqu'à 50 joueurs : la première mise en route ne coûte rien.

Le CDN, la protection de txAdmin et le tableau de bord sont inclus, pas vendus séparément. La facturation suit la population réellement connectée : aucun palier à choisir à l'avance, et rien à résilier si vous vous arrêtez.

2,25 $ CA/jour jusqu'à 50 joueurs (premier palier, 0,045 $ par joueur), puis de 0,030 à 0,047 $ par joueur supplémentaire et par jour · aucun abonnement · 10 $ CA de crédit d'essai offerts sur votre premier serveur, sans carte

Questions fréquentes

Que signifie anti-DDoS pour un serveur FiveM ?

DDoS signifie déni de service distribué : du trafic venu de nombreuses sources est dirigé vers votre serveur jusqu'à ce que les joueurs ne puissent plus se connecter ni rester connectés. Un anti-DDoS pour FiveM doit arrêter ce trafic avant qu'il n'atteigne votre machine, et faire face à trois attaques différentes : un flood UDP qui sature le lien, un flood de fausses connexions cfx.re et un flood de téléchargements de ressources. Les trois attaques ont leur propre section sur cette page, avec l'endroit où chacune doit être arrêtée.

Comment savoir si mon serveur subit une attaque ou s'il rame simplement ?

Trois signes ensemble, jamais un seul : tous les joueurs tombent en même temps, le CPU et la RAM de la machine restent bas, et le processus FXServer est toujours vivant. Du lag ordinaire fait monter quelque chose — le CPU, le temps de tick, la mémoire ; une attaque réseau ne fait rien monter du tout, parce que le problème est en amont de la machine. Deux variantes valent le détour : un serveur qui disparaît de la liste alors qu'il tourne encore, ou des joueurs bloqués sur « Failed to get info from server (tried 3 times) », pointe vers un flood de requêtes sur le port 30120 ; un txAdmin injoignable pendant que le jeu répond encore pointe vers le port 40120.

Un anti-DDoS FiveM est-il vraiment nécessaire pour un petit serveur ?

Les attaques sur FiveM ne visent pas les gros serveurs, elles visent les serveurs qui ont un adversaire : un joueur banni, une communauté concurrente, un ancien staff. Sur un GTA RP, cet adversaire est presque toujours quelqu'un qui a déjà joué chez vous. Un serveur de 20 joueurs est aussi facile à mettre hors ligne qu'un serveur de 200, pour le même prix côté attaquant — quelques euros sur un booter. La question n'est pas la taille mais l'exposition.

Un anti-DDoS FiveM gratuit, ça existe ?

Des mesures gratuites existent, et il faut les prendre : régler sv_forceIndirectListing, sv_proxyIPRanges et sv_requestParanoia, ne pas héberger de site web sur la machine du jeu, nettoyer les anciens enregistrements DNS. Elles réduisent ce que vous exposez et ne coûtent rien. Ce qu'elles ne font pas, c'est absorber du volume : cela demande une capacité réseau en amont de votre lien, et personne ne la donne durablement. Les offres gratuites que vous croiserez sont en général des paliers d'appel, avec des limites qu'il faut lire avant de s'engager. Chez fiveshield, il n'y a pas de palier gratuit permanent : votre premier serveur reçoit 10 $ CA de crédit d'essai gratuit (comptes éligibles, sans carte), puis la facturation démarre à 2,25 $ CA/jour jusqu'à 50 joueurs, avec au-delà un tarif par joueur fixé par tranche, filtrage des connexions cfx.re (L7) compris.

Faut-il un anti-DDoS si mon hébergeur en fournit déjà un ?

L'anti-DDoS d'un hébergeur est réel et fait un vrai travail : il arrête le flood volumétrique au niveau du réseau, ce qui est la partie la plus lourde. En tant que couche réseau générique, il ne connaît pas le protocole FiveM (les serveurs Game récents d'OVHcloud ajoutent un profil FiveM, mais la documentation d'OVHcloud ne précise pas ce qu'il vérifie). Une tentative de connexion cfx.re bien formée ressemble à un joueur pour une couche générique : elle est transmise, et c'est votre FXServer qui fait le travail de la refuser. Il ne masque pas non plus l'IP de votre machine, qui reste la cible, et il n'a rien à dire sur le port de txAdmin. C'est un bon socle, pas une protection FiveM complète — et les deux se cumulent sans conflit.

Cloudflare protège-t-il un serveur FiveM ?

Non, pas le serveur de jeu. Le proxy Cloudflare classique filtre du trafic HTTP ; le jeu FiveM utilise UDP sur le port 30120, qu'il ne traite pas. Mettre son domaine derrière Cloudflare protège le site web de la communauté et laisse le serveur exactement aussi exposé qu'avant. Le cas de Cloudflare Spectrum est différent, et il est traité dans la question suivante.

Cloudflare Spectrum est-il une alternative ?

C'est le bon produit de la gamme pour du trafic de jeu : Spectrum est un proxy de couche 4 qui relaie du TCP et de l'UDP et masque l'origine. Deux réserves. La documentation Cloudflare indique que les applications TCP/UDP personnalisées — ce qu'est le port 30120 — demandent un plan Enterprise avec Spectrum en option payante ; ce n'est pas l'ordre de grandeur d'un serveur communautaire. Et Spectrum reste un tunnel générique : il ne connaît pas la poignée de main cfx.re, donc une fausse connexion bien formée le traverse et va occuper votre FXServer comme ailleurs. Il couvre le volume et le masquage, pas le filtrage applicatif propre à FiveM.

Une ressource Lua « anti-DDoS » suffit-elle ?

Non, et c'est structurel plutôt qu'une question de qualité de code. Une ressource Lua s'exécute à l'intérieur de FXServer : elle ne voit un paquet qu'après sa réception sur le lien, son passage dans le noyau et son décodage par le serveur. Tout le coût que vous vouliez éviter a déjà été payé au moment où elle peut décider quoi que ce soit, et la bande passante consommée ne revient pas. Ces ressources ont une utilité réelle — limiter des événements abusifs, freiner du spam applicatif, journaliser — mais aucune ne peut arrêter une attaque réseau, parce qu'aucune ne s'exécute avant le réseau.

sv_requestParanoia 3 protège-t-il des DDoS ?

Partiellement, et pas de ce que l'on croit. sv_requestParanoia ne concerne que les requêtes HTTP reçues par le serveur : au niveau 1 il bloque les adresses dont les requêtes portent un en-tête Via, au niveau 2 celles qui portent Upgrade-Insecure-Requests, au niveau 3 il ferme en plus la socket. C'est prévu contre les floods HTTP relayés par des proxies, et c'est efficace contre ceux-là. Il ne voit pas l'UDP, donc ni le trafic de jeu ni les requêtes getinfo du port 30120, et il ne peut rien contre un flood volumétrique, qui sature le lien avant d'arriver au serveur. Mettez-le à 3, et ne comptez pas dessus comme protection.

Dois-je changer d'hébergeur pour utiliser fiveshield ?

Non. fiveshield est un proxy inverse qui se place devant votre serveur existant, où qu'il soit hébergé — y compris chez un hébergeur FiveM clé en main. La mise en place est un bloc de configuration dans server.cfg : aucune migration, aucun changement DNS, aucune ressource à installer, et votre contrat d'hébergement actuel n'est pas concerné. C'est aussi ce qui permet de démarrer pendant une attaque : une migration prend des heures, un bloc de configuration prend cinq minutes.

Mon IP réelle reste-t-elle visible ?

Pas via fiveshield : vos joueurs se connectent à une adresse de proxy et n'apprennent jamais celle de votre machine. En revanche, elle peut fuir par ailleurs — un site web non protégé sur le même serveur, un ancien enregistrement DNS, ou une ressource qui appelle une adresse codée en dur. Le point de départ est de regarder ce que la liste cfx.re publie déjà sur votre serveur, puisque c'est la première chose qu'un attaquant consulte. Ces vérifications se font une fois, sinon le masquage ne sert à rien.

Est-ce que ça protège aussi txAdmin ?

Oui, c'est inclus. txAdmin écoute en TCP, par défaut sur le port 40120, sur la même machine que le jeu : c'est une cible exposée, et la faire tomber suffit à vous priver de tout moyen d'agir pendant que le reste est attaqué. Le panel passe par la même protection que le trafic de jeu, sans supplément et sans configuration séparée.

Une attaque DDoS contre un serveur FiveM est-elle illégale ?

Attaquer un serveur qui ne vous appartient pas est illégal dans de nombreux pays, et les conditions d'utilisation des hébergeurs l'interdisent en général aussi. Ce sont des informations générales, pas un conseil juridique, et la loi varie d'un pays à l'autre. Si c'est votre serveur qui est visé, rassemblez des preuves (horaires, graphiques de trafic, journaux, menace reçue) et prévenez votre hébergeur. La page serveur FiveM attaqué liste ce qu'il faut vérifier en premier.

Protégez votre serveur maintenant

Un bloc de configuration à coller dans server.cfg, aucune migration, et votre serveur reste chez votre hébergeur. Si l'attaque est déjà en cours, c'est aussi le chemin le plus rapide.

10 $ CA offerts sur votre premier serveur · Sans carte bancaire · Sans engagement

Vous ne payez que les journées réellement utilisées. Politique de remboursement

Pour aller plus loin