Anleitung
FiveM DDoS-Schutz: welche Angriffe ankommen und was sie aufhält
Ein FiveM-Server ist leicht zu finden und leicht zu treffen: Seine Adresse steht in der Serverliste, im Verbindungsverlauf jedes Spielers und oft auf Discord. Dieser Leitfaden erklärt die drei Arten von Angriffen, die FiveM-Server erreichen, welche davon ein Filternetzwerk abfängt und um welche du dich selbst kümmern musst, und die Einstellungen, die diese Lücken schließen. Convar-Namen und Standardwerte stammen aus der Cfx.re-Dokumentation mit Stand November 2026.
Von Evorxa-TeamVeröffentlicht
Wie FiveM-Server angegriffen werden
FXServer nimmt Spielverkehr auf einem einzigen Port für TCP und UDP an, standardmäßig 30120, wie die Zeilen endpoint_add_tcp und endpoint_add_udp in der Beispiel-server.cfg zeigen. Derselbe Port liefert auch HTTP-Endpunkte wie /info.json, /players.json und /dynamic.json: Ein Client ruft /info.json ab, bevor er beitritt, und die Cfx.re-Serverliste fragt beim Server regelmäßig Daten wie die Spielerzahl ab. txAdmin, das Webpanel, das die meisten Server nutzen, lauscht standardmäßig auf 40120. Angriffe zielen auf drei Arten auf diese Angriffsflächen.
- Volumetrische UDP-Floods auf 30120 oder auf die ganze IP. Das Ziel ist, die Netzwerkanbindung des Servers zu füllen. Sobald die Leitung voll ist, kann nichts auf dem Server mehr helfen, weil der Datenmüll ankommt, bevor irgendeine Einstellung mitreden kann.
- Verbindungsfloods: viele TCP-Verbindungen oder Verbindungsversuche auf 30120. Sie verbrauchen Verbindungsslots, Arbeitsspeicher und CPU, während die Leitung selbst ruhig aussehen kann.
- HTTP-Floods (Layer 7): gültig aussehende Anfragen an die
.json-Endpunkte oder an die Login-Seite von txAdmin, oft über offene Proxys gesendet. Jede Anfrage ist klein, aber Tausende davon pro Sekunde zu beantworten hält den Server beschäftigt.
Es gibt eine vierte Art von Missbrauch, die kein DDoS ist, sich aber wie einer anfühlt: ein verbundener Client, der über deine Ressourcen Netzwerk-Events oder Zustandsänderungen spammt. Er kommt über die normale Spielverbindung, deshalb sieht ihn kein Netzwerkfilter.
Was Edge-Filterung kann und was nicht
DDoS-Filterung am Netzwerkrand (Edge) bedeutet, dass der Verkehr für deine IP durch ein Scrubbing-Netzwerk läuft, bevor er den Server erreicht. Dieses Netzwerk hat weit mehr Kapazität als die Anbindung eines einzelnen Servers, also kann es einen volumetrischen Flood aufnehmen, Pakete verwerfen, die nicht nach dem Protokoll auf diesem Port aussehen, und den Rest weiterleiten.
Was sie gut abdeckt
- Volumetrische UDP- und TCP-Floods, die deine Anbindung füllen würden.
- Gespoofte und fehlerhafte Pakete sowie Verkehr zu Ports, die du nicht nutzt.
- Große Mengen an Verbindungen von einer Quelle, soweit der Filter sie erkennen kann.
Was sie dir nicht abnehmen kann
- Eine IP schützen, die der Angreifer über einen anderen Weg erreicht, zum Beispiel eine zweite Adresse desselben Servers oder einen Proxy, der ohne Filterung an den Origin weiterleitet.
- Jeden Bot von einem echten Spieler unterscheiden, wenn der Bot das Protokoll korrekt spricht. Ein Teil dieser Last erreicht den Server trotzdem, und genau dafür gibt es die serverseitigen Limits weiter unten.
- Missbrauch durch Spieler stoppen, die bereits verbunden sind. Event-Spam und Exploits in Ressourcen sind ein Scripting-Problem.
- Dienste schützen, die du offen gelassen hast: SSH, einen Datenbank-Port oder txAdmin, das für die ganze Welt erreichbar ist.
Einstellungen in server.cfg
Diese Zeilen stammen aus der Referenz der Serverbefehle. Sie kosten nichts und machen die Verbindungs- und HTTP-Floods, die an der Edge vorbeikommen, billiger abzufangen.
# game traffic on one port, TCP and UDP (the defaults)
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
# concurrent TCP connections allowed per IP (default 16)
net_tcpConnLimit 16
# block IPs whose HTTP requests carry a 'Via' header
set sv_requestParanoia 1
# hide player IP addresses from public reports
set sv_endpointPrivacy true
# leave RCON off unless you use it
#set rcon_password ""net_tcpConnLimitbegrenzt gleichzeitige TCP-Verbindungen pro IP. Der Standardwert ist 16. Senke ihn nur, wenn du weißt, dass sich keine legitimen Spieler eine Adresse teilen; Spieler hinter einem Router oder Carrier-NAT teilen sich eine IP.sv_requestParanoiareicht von 0 (aus, der Standard) bis 3. Stufe 1 blockiert IPs, die einenVia-Header senden, den Proxys an weitergeleitete Anfragen anhängen. Stufe 2 blockiert zusätzlich Anfragen mit einemUpgrade-Insecure-Requests-Header, was jeden einschließt, der einen.json-Endpunkt im Browser öffnet. Stufe 3 schließt außerdem den Socket. Fang mit 1 an.sv_endpointPrivacy trueverbirgt die IP-Adressen der Spieler in den öffentlichen Berichten des Servers, damit deine Spieler nicht das nächste Ziel werden.
Server auf FiveM for GTAV Enhanced bekommen außerdem Token-Bucket-Ratelimiter für Handshakes, die HTTP-Endpunkte, Net-Events, State Bags und RCON. Jeder hat eine Rate (Tokens pro Sekunde) und einen Burst (maximale Tokens); eine Anfrage, für die kein Token mehr übrig ist, wird gedrosselt. Zu den Standardwerten gehören 4 pro Sekunde mit einem Burst von 10 für http_info und http_players sowie 50 pro Sekunde mit einem Burst von 200 für netEvent. Die Referenz führt diese Befehle als exklusiv für den Enhanced-Build.
# FiveM for GTAV Enhanced only
# set rateLimiter_<name>_rate <tokens per second>
# set rateLimiter_<name>_burst <maximum tokens>
set rateLimiter_netEvent_rate 100
set rateLimiter_netEvent_burst 400Ändere sie nur, wenn deine Konsole zeigt, dass ein Limiter Verkehr verwirft, den du benennen kannst. Wenn du netEvent anhebst, damit eine stark ausgelastete Ressource funktioniert, gibst du auch einem spammenden Client mehr Spielraum.
Firewall-Regeln auf dem Server
Schließ alles, was Spieler nicht brauchen. Spieler brauchen 30120 über TCP und UDP. Du brauchst SSH und txAdmin, sonst niemand. Unter Ubuntu oder Debian mit ufw erlaubst du deine eigene SSH-Regel vor ufw enable, sonst sperrst du dich selbst aus:
# replace 203.0.113.10 with your own public IP
ufw default deny incoming
ufw default allow outgoing
ufw allow from 203.0.113.10 to any port 22 proto tcp
ufw allow 30120/tcp
ufw allow 30120/udp
ufw allow from 203.0.113.10 to any port 40120 proto tcp
ufw enable
ufw status verboseBlockiere nicht das Cfx.re-Backend. Die Serverliste fragt deinen Server von den Adressen ab, die unter static.cfx.re/ips.txt veröffentlicht sind, und Cfx.re sagt, dass eine strikte Firewall oder ein DDoS-Filter sie alle zulassen muss. Neue Adressen werden mindestens einen Monat, bevor Verkehr von ihnen kommt, in die Liste aufgenommen, also synchronisiere die Liste regelmäßig nach Zeitplan.
Der Port von txAdmin ist 40120, sofern du ihn nicht mit TXHOST_TXA_PORT änderst, und laut der txAdmin-Umgebungsreferenz darf er nicht 30120 sein. Wenn sich deine IP oft ändert, halte 40120 komplett geschlossen und erreiche das Panel über einen SSH-Tunnel:
# open txAdmin through SSH instead of the internet
ssh -L 40120:127.0.0.1:40120 root@your-server-ip
# then browse to http://localhost:40120Unter Windows Server kommen dieselben Regeln in die Windows Defender Firewall: 30120 TCP und UDP von überall erlauben, 3389 und 40120 nur von deiner eigenen Adresse.
Die Origin-IP verborgen halten
Filterung funktioniert nur, wenn Angriffsverkehr durch sie hindurch muss. Sitzt der Schutz auf der eigenen IP des Servers, wird jedes Paket an diese IP gefiltert, und das Verbergen ist weniger wichtig. Setzt du stattdessen einen separaten Proxy vor den Server, muss die echte Adresse (der Origin) geheim bleiben, denn ein Angreifer, der sie kennt, kann den Proxy umgehen.
Der Leitfaden zur Proxy-Einrichtung von Cfx.re beschreibt zwei Proxys: einen HTTPS-Proxy für den Connect-Endpunkt und einen reinen TCP- und UDP-Proxy auf passenden Ports für den Spielverkehr. Wenn beide stehen, hindern diese Convars FXServer daran, seine eigene Adresse bekannt zu geben:
# stop the server list from advertising the real IP
set sv_forceIndirectListing true
# the hostname the server list backend should query
set sv_listingHostOverride "play.example.com"
# your proxy addresses in CIDR notation (trusted for X-Real-IP)
set sv_proxyIPRanges "198.51.100.7/32"
# the UDP endpoint players are given: the proxy, not the origin
set sv_endpoints "198.51.100.7:30120"Spieler verbinden sich dann mit connect "https://play.example.com/"; der Leitfaden weist darauf hin, dass ein bloßer Host wie play.example.com stattdessen zu http://play.example.com:30120/ aufgelöst wird. Schließ danach die üblichen Lecks:
- Alte DNS-Einträge. Wenn eine Domain jemals direkt auf den Origin gezeigt hat, geh davon aus, dass die Adresse bekannt ist, und ändere sie, sobald der Proxy live ist.
- Andere Dienste auf derselben IP: eine Website, ein Discord-Bot, eine Datenbank oder ein Mailserver.
- Ressourcen, die externe APIs oder Webhooks aufrufen. Diese Anfragen kommen von der Origin-IP und sind für jeden sichtbar, der die Gegenseite betreibt.
- Direkte
connect-Adressen, die auf Discord oder in Foren gepostet wurden, bevor du hinter den Proxy umgezogen bist.
Was du einen Hoster vor dem Kauf fragen solltest
- Ist die Filterung immer aktiv, oder startet sie erst, nachdem ein Angriff erkannt wurde? Wenn sie später startet, wie lange dauert das?
- Deckt sie UDP auf Spielports ab oder hauptsächlich Webverkehr? FiveM braucht gefiltertes UDP auf 30120, ohne dass der Handshake kaputtgeht.
- Wie groß ist die Filterkapazität, und was passiert, wenn sie überschritten wird? Manche Anbieter setzen die IP auf eine Null-Route, was deinen Server offline nimmt, bis der Angriff aufhört.
- Gibt es vor dem Server eine Firewall, die du selbst steuerst, pro Port und Protokoll?
- Kannst du sehen, wann ein Angriff stattfand und wie groß er war? Ohne das kannst du einen Angriff nicht von einem Bug in einer Ressource unterscheiden.
- Bleiben genug Single-Thread-CPU-Leistung und RAM für den Server selbst übrig? Schutz hilft keinem Server, der schon an seiner Grenze läuft.
FiveM bei Evorxa
Evorxa-Server stehen hinter Shield, der DDoS-Filterung von Evorxa, mit 3 Tbps Scrubbing-Kapazität. Die Server laufen in einer Region, Eygelshoven in den Niederlanden; die CDN-Edge-Standorte von Shield sind von dieser Serverregion getrennt. Die FiveM-Hosting-Seite listet Tarife mit geteilten Kernen (VPS) und dedizierten High-Frequency-Kernen (VDS), monatlich, für sechs Monate oder jährlich im Voraus bezahlt, mit vollem Root-Zugriff für die Einstellungen oben.
Quellen
Die Fakten in dieser Anleitung stammen von diesen Seiten.