FiveM-Scripts sicher installieren (und Malware erkennen)
Ein neues Script auf deinen FiveM-Server zu packen ist fünf Minuten Arbeit. Ein fálsches Script zu installieren auch — nur bist du danach nicht fünf Minuten, sondern Tage beschäftigt, denn in der FiveM-Welt kursieren auffällig viele Resources mit eingebauter Backdoor. Wer versteht, wie eine Resource aufgebaut ist, und weiß, wo die roten Flaggen sitzen, installiert schneller und sicherer.
So ist eine FiveM-Resource aufgebaut
Alles, was dein Server ausführt, lebt im Ordner resources. Jede Resource hat dort einen eigenen Ordner, und Ordner mit eckigen Klammern wie [standalone] sind nur Kategorien für die Übersicht — FiveM schaut da einfach durch.
Das Herz jeder Resource ist die fxmanifest.lua (bei älteren Scripts triffst du noch auf __resource.lua). Darin steht, welche Dateien client-seitig laufen, welche server-seitig, und von welchen anderen Resources das Script abhängt. Client-Dateien laufen bei jedem Spieler auf dem PC, Server-Dateien nur bei dir, und geteilte Dateien an beiden Stellen. Dieses Manifest ist zugleich dein erster Kontrollpunkt: Ein simples Deko-Script, das laut Manifest auch server-seitig allerlei ausführt, wirft Fragen auf. Und stehen dort Dateien, die du im Ordner gar nicht findest — oder umgekehrt Dateien, die nirgends erwähnt werden — ist das ein Grund, ganz genau hinzuschauen, was da passiert.
Der Ordnername ist zugleich der Resource-Name. Nutze keine Leerzeichen oder Sonderzeichen und benenne einen Ordner nicht einfach um: Manche Scripts verweisen intern auf ihren eigenen Namen und brechen dann ohne klare Fehlermeldung.
Installation in vier Schritten
- Prüfen, bevor du hochlädst. Entpacke die Zip-Datei lokal und geh den Code durch (worauf du achtest, liest du weiter unten). Erst hochladen und dann erst schauen ist die falsche Reihenfolge.
- Hochladen nach
resources. Über dein Panel oder SFTP, ordentlich in einen Kategorie-Ordner, damit du in einem halben Jahr noch weißt, was wo liegt. - Die Resource in die
server.cfgeintragen mit einer Zeile wieensure mein-script. Die Reihenfolge zählt: Dein Framework (etwa ESX oder QBCore) und Libraries wie oxmysql müssen gestartet sein, bevor die Scripts starten, die darauf aufbauen. - Neu starten und testen. Schau in der Konsole, ob die Resource ohne Errors hochkommt, und teste die Funktionalität selbst im Spiel — am besten mit einem zweiten Account dabei.
Noch ein Tipp, der viel Ärger erspart: Installiere nie fünf Scripts gleichzeitig. Geht dann etwas schief, weißt du nicht, welches der fünf der Übeltäter ist. Eins nach dem anderen zu installieren und zu testen kostet kaum extra Zeit und erspart dir eine Suchaktion.
Und pass auf deine server.cfg selbst auf. Darin stehen dein License Key und oft auch Passwörter und API-Keys. Teile diese Datei nie einfach in einem Discord-Kanal, wenn du Hilfe bei einem Installationsproblem suchst — entferne vorher alle Geheimnisse. Ein geleakter License Key bedeutet, dass sich jemand anderes als dein Server ausgeben kann, und das willst du nicht gratis obendrauf haben.
Bezahlt, kostenlos oder „geleakt"?
Bezahlte Scripts kaufst du fast immer über Tebex, die offizielle Verkaufsplattform im FiveM-Ökosystem. Viele Entwickler nutzen dabei Escrow: Der Code ist verschlüsselt und läuft nur mit deiner Lizenz. Der Vorteil: Du weißt sicher, dass du die Originalversion hast. Der Nachteil: Du kannst den verschlüsselten Code nicht lesen und daher auch nicht selbst prüfen oder anpassen — abgesehen von den bewusst offen gelassenen Config-Dateien. Das ist eine echte Abwägung, kein Detail.
Kostenlose Scripts von GitHub sind dagegen komplett lesbar. Bekannte Projekte haben Tausende Nutzer, die mitschauen, wodurch Fehler und faule Tricks schnell ans Licht kommen. Kleine, unbekannte Repos ohne Historie verdienen dasselbe Misstrauen wie jeder beliebige Download aus dem Internet.
Dann die „Leaks": bezahlte Scripts, die irgendwo kostenlos angeboten werden. Abgesehen davon, dass du damit den Entwicklern schadest, sind Leak-Seiten der Vertriebskanal für Malware schlechthin. Ein geleaktes Script wurde regelmäßig verändert, bevor es erneut hochgeladen wurde — mit einem Extra darin, das dich nichts kostet, außer deinen kompletten Server.
Rote Flaggen: so erkennst du eine Backdoor
Öffne jede neue Resource einfach in einem Texteditor; Lua ist gut lesbar, auch ohne Programmiererfahrung. Auf diese Signale achtest du:
| Signal | Warum verdächtig |
|---|---|
| Unlesbare Codeblöcke: Hex-Strings, Base64, eine einzige gigantische Zeile | Obfuskierung verbirgt, was der Code tut — in einem „kostenlosen" Script fast immer faule Sache |
load( oder assert(load( auf Strings oder nachgeladene Daten | Führt Code aus, der erst zur Laufzeit ankommt, komplett außerhalb deiner Sicht |
PerformHttpRequest zu unbekannten Domains beim Start | Kann externe Befehle abholen oder deine Serverdaten nach außen leaken |
| Discord-Webhooks, die du nicht selbst eingerichtet hast | Schickt Daten deines Servers in den Kanal von jemand anderem |
| Event-Handler, die Geld, Waffen oder Rechte verteilen | Die klassische Remote-Backdoor: Der Autor kann sich aus der Ferne selbst zum Admin machen |
Eine praktische Suchaktion vor jeder Installation: Durchsuche alle Dateien nach PerformHttpRequest, load( und webhook. Nicht jeder Treffer ist schlecht — ein Logging-Script darf Webhooks enthalten — aber jeder Treffer muss sich aus dem erklären lassen, was das Script eigentlich tun soll.
Noch eine Nuance: Verschlüsselte Escrow-Dateien von Tebex sind etwas anderes als selbst obfuskiertes Lua in einem kostenlosen Download. Im ersten Fall regelt die Plattform die Verschlüsselung und du kennst den Verkäufer; im zweiten Fall hat der Uploader etwas zu verbergen.
Bleib auch nach der Installation wachsam. Eine Backdoor, die sich im Code stillhält, verrät sich oft trotzdem im Verhalten: eine Resource, die laut resmon auffällig viel Rechenleistung frisst, obwohl sie nichts Sichtbares tut, oder Verbindungen zu Domains, die du nicht kennst. Ein paar Tage Mitschauen nach jeder neuen Installation kostet wenig und fängt genau die Fälle ab, die du beim Lesen übersehen hast.
Doch erwischt? So machst du sauber
Anzeichen, dass etwas nicht stimmt: „Admins", die du nicht kennst, Geld oder Items aus dem Nichts, Befehle, die du nie hinzugefügt hast, oder ein Script, das Verbindungen zu fremden Domains aufbaut. In dem Fall:
- Nimm den Server offline, damit die Backdoor nicht aktiv missbraucht werden kann, während du aufräumst.
- Ersetze alle deine Geheimnisse: License Key, txAdmin- und RCON-Passwörter, Datenbankpasswörter und eventuelle API-Keys.
- Lösche die verdächtige Resource — plus alles, was du aus derselben Quelle geholt hast.
- Spiel ein Backup von vor der Infektion zurück, oder bau deinen resources-Ordner aus bekannten, sauberen Quellen neu auf.
Dieser letzte Schritt fühlt sich drastisch an, aber eine Backdoor kann andere Dateien verändert haben. Nur das sichtbar faule Script wegzuwerfen ist dann Scheinsicherheit. Mach deshalb standardmäßig ein Backup vor jeder neuen Installation — das macht Wiederherstellen zu einer Sache von Minuten statt Tagen.
Sicher experimentieren, ohne deinen Hauptserver zu riskieren
Der sicherste Weg, neue Scripts auszuprobieren, ist ein separater Testserver ohne echte Spielerdaten. Bei MC-Node geht das kostenlos: Das Free-Paket für €0,00 pro Monat ist genau dafür gedacht. Läuft ein Script dort eine Weile sauber, setzt du es mit ruhigem Gewissen auf deinen Hauptserver. Für die Produktion wählst du aus Paketen von Small (€1,75 pro Monat) bis Enterprise (€56,00 pro Monat), alle monatlich kündbar, auf eigener Hardware mit NVMe-Speicher und DDoS-Schutz im Previder-Rechenzentrum in Hengelo. Schau dir die Optionen im FiveM-Store von MC-Node an — und behalte den kostenlosen Testserver daneben, denn der ist und bleibt deine beste Verteidigung gegen faule Scripts.