Installation
5MCustoms ist ein Satz eigenständiger FiveM-Ressourcen. Du legst sie in deinen
Serverordner, trägst sie in die server.cfg ein und startest den Server. Es gibt
keine Bridge und keine Fremdressourcen: Datenbankzugriff, Events und Migrationen
bringt das Framework selbst mit.
Voraussetzungen
| Was | Warum |
|---|---|
| FXServer, aktuelle Build | Die Ressourcen setzen auf einem aktuellen Artifact auf. |
| MariaDB oder MySQL | Charaktere, Fahrzeuge und alle Bestände liegen in der Datenbank. |
| Node.js 22 | Nur nötig, wenn du selbst baust oder Migrationen ohne laufenden Server einspielst. |
| Deine Lizenz | Bindet die Ressourcen an einen Server. Siehe Lizenz & Escrow. |
Wenn du den Server über uns bei Nitrado buchst, entfällt dieser Teil: die Einrichtung übernimmt dann unsere KI. Siehe Hosting & Einrichtung.
1. Ressourcen ablegen
Entpacke das Paket in deinen resources-Ordner. Empfohlen ist ein eigener
Sammelordner, damit die Module beisammenbleiben:
server-data/
└── resources/
└── [5mc]/
├── 5mc_core/
├── 5mc_inventory/
├── 5mc_hud/
└── …
Eckige Klammern sind FiveM-Konvention für Sammelordner. Der Name ist frei, aber er darf nicht mit einer Ziffer beginnen und keine Leerzeichen enthalten.
2. Datenbank verbinden
Trage die Verbindung in deine secrets.cfg (oder direkt in die server.cfg) ein:
set mysql_connection_string "mysql://benutzer:passwort@127.0.0.1:3306/fivemc?charset=utf8mb4"
Das key=value;-Format aus oxmysql wird ebenfalls gelesen. Ohne diese Convar
bricht der Core beim Start mit einem Hinweis ab. Details und Migrationen stehen
unter Datenbank.
3. In die server.cfg eintragen
5mc_core muss vor allen Modulen stehen, die ihn als Abhängigkeit führen:
ensure 5mc_core
ensure 5mc_inventory
ensure 5mc_vehicles
ensure 5mc_jobs
# … weitere gekaufte Module
Die vollständige Reihenfolge mit Erklärung steht unter server.cfg.
4. Ersten Start prüfen
Beim Start legt der Core seine Tabellen selbst an und zieht die Migrationen jedes Moduls nach. In der Konsole solltest du sehen:
- den Core, der die Datenbankverbindung bestätigt,
- je Modul eine Zeile mit eingespielten Migrationen oder „nichts zu tun",
- keine Fehlermeldung zu fehlenden Abhängigkeiten.
Verbinde dich anschließend zum Server. Wenn Charakterauswahl, HUD und Inventar erscheinen, steht die Installation.
Startet ein Modul vor dem Core, ist das kein Fehler: der Core holt dessen Migrationen nach, sobald er selbst bereit ist.
Selbst bauen
Nur relevant, wenn du Quellzugriff hast. Das Framework ist ein pnpm-Workspace:
pnpm install
pnpm build # baut jede Ressource unter resources/*
pnpm typecheck # Client, Server und NUI getrennt
Ein einzelnes Modul baust du mit:
node tools/build-resource.mjs resources/5mc_inventory
Der Build erzeugt dist/server.js, dist/client.js und — bei Modulen mit
Oberfläche — den NUI-Export unter dist/nui. Die fxmanifest.lua wird dabei
aus module.config.mjs generiert; ändere sie nicht von Hand, dein Eingriff
wäre beim nächsten Build weg.
