5MCustoms

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

WasWarum
FXServer, aktuelle BuildDie Ressourcen setzen auf einem aktuellen Artifact auf.
MariaDB oder MySQLCharaktere, Fahrzeuge und alle Bestände liegen in der Datenbank.
Node.js 22Nur nötig, wenn du selbst baust oder Migrationen ohne laufenden Server einspielst.
Deine LizenzBindet 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.