FiveM Resource erstellen: Aufbau, fxmanifest, Client und Server richtig trennen

Eine eigene FiveM Resource ist die Grundlage für nahezu jedes individuelle System. Entscheidend ist nicht nur, dass der Code funktioniert, sondern dass Client, Server, Dateien und Schnittstellen von Anfang an sinnvoll getrennt sind.
Grundstruktur einer Resource
Eine kleine Resource kann mit fxmanifest.lua, einer Client-Datei und einer Server-Datei starten. Größere Systeme profitieren früh von getrennten Modulen und klaren Verantwortlichkeiten.
my_resource/
fxmanifest.lua
client/
main.lua
server/
main.lua
shared/
config.lua
fxmanifest.lua sauber aufbauen
Das Manifest beschreibt, welche Dateien geladen werden und welche Abhängigkeiten bestehen. Shared-Dateien sollten nur Daten enthalten, die tatsächlich auf beiden Seiten benötigt werden. Sensible Logik gehört nicht in gemeinsam ausgelieferten Client-Code.
Client und Server trennen
Der Client kümmert sich um Darstellung, Eingaben und lokale Spielwelt-Interaktionen. Geld, Berechtigungen, Inventar oder andere sicherheitskritische Zustände sollten dagegen serverseitig geprüft und verarbeitet werden.
Events nicht blind vertrauen
Ein Client kann Netzwerk-Events auslösen. Deshalb darf der Server nicht davon ausgehen, dass übermittelte Werte automatisch korrekt sind. IDs, Distanzen, Berechtigungen und Wertebereiche müssen serverseitig validiert werden.
Exports und klare Schnittstellen
Wenn mehrere Ressourcen miteinander arbeiten, helfen definierte Exports und Events dabei, Abhängigkeiten nachvollziehbar zu halten. So muss eine Resource nicht direkt wissen, wie intern beispielsweise Economy oder Character-System aufgebaut sind.
Wann aus einer Resource ein Framework wird
Sobald viele Systeme gemeinsame Daten, Lifecycle-Events und zentrale Services verwenden, entsteht faktisch eine eigene Basis. Genau dort werden Architektur und Modulgrenzen wichtiger als einzelne Scripts.
Passende FiveM Guides
Eigenes FiveM Framework entwickeln · FiveM Performance optimieren · FiveM Übersicht