So richtest du eine Datenbank für deinen FiveM Server ein
Viele FiveM Skripte und Frameworks speichern ihre Daten in einer MySQL-Datenbank. Damit dein Server darauf zugreifen kann, brauchst du zwei Dinge: eine Datenbank samt Zugangsdaten und eine Datenbank-Resource, die die Verbindung herstellt.
Wir empfehlen oxmysql. Die Resource wird aktiv gepflegt und ersetzt die veralteten Resources mysql-async und ghmattimysql, deren Funktionen sie mit abdeckt.
Datenbank anlegen
Datenbank erstellen
Lege in der Verwaltung unter Datenbanken über das Plus-Symbol eine neue Datenbank an. Die ausführliche Anleitung dazu findest du unter Datenbank erstellen.Zugangsdaten ablesen
Klicke neben deiner Datenbank auf das Augen-Symbol. Du brauchst gleich diese Werte:- Datenbank Host (z.B.
db1.cgn1.emeraldhost.de) - Datenbank Port (Standard:
3306) - Datenbank Benutzername
- Datenbank Passwort
- Datenbank Name
- Datenbank Host (z.B.
Wichtig
Teile deine Datenbank-Zugangsdaten niemals mit anderen Personen und poste sie nicht in Screenshots, Konsolen-Logs oder Support-Tickets von Drittanbietern. Wer die Zugangsdaten hat, kann alle Daten deines Servers auslesen und löschen.
oxmysql hochladen
Resource herunterladen
Lade dir das aktuelle Release von oxmysql herunter. Verwende die Dateioxmysql.zipund nicht den Quellcode-Download.Archiv entpacken
Entpacke das Archiv. Du erhältst einen Ordner mit dem Namenoxmysql.Achtung
Der Ordnername muss exakt
oxmysqllauten. Benennst du ihn um, findet FiveM die Resource nicht.Server stoppen
Stoppe deinen Server über die Verwaltung.Per SFTP verbinden
Verbinde dich per SFTP mit deinem Server.Ordner hochladen
Lade den Ordneroxmysqlin denresources-Ordner hoch, der neben derserver.cfgdeines Servers liegt.Setup Pfad Standard (empfohlen) /home/container/resourcestxAdmin Recipe / Deployer /home/container/txData/<Profilname>/resources
Connection String eintragen
Der Connection String bündelt alle Zugangsdaten in einer Zeile. oxmysql liest ihn aus der Convar mysql_connection_string.
server.cfg öffnen
Öffne dieserver.cfg, die dein Server verwendet. Welche das ist, hängt von deinem txAdmin Setup ab – die Übersicht dazu findest du unter Port einstellen.Connection String setzen
Trage folgende Zeile ein und ersetze die Platzhalter durch deine Zugangsdaten aus dem Augen-Symbol:set mysql_connection_string "mysql://BENUTZERNAME:PASSWORT@HOST:PORT/DATENBANKNAME"Alternativ akzeptiert oxmysql auch das Format mit Semikolons:
set mysql_connection_string "user=BENUTZERNAME;password=PASSWORT;host=HOST;port=PORT;database=DATENBANKNAME"Nur set verwenden
Setze die Convar ausschließlich mitset.Wichtig
Verwende niemals
setrodersetsfür den Connection String.setrüberträgt den Wert an alle verbundenen Spieler,setszeigt ihn öffentlich in der Serverliste und in derinfo.jsondeines Servers an. In beiden Fällen wäre dein Datenbank-Passwort für jeden einsehbar.oxmysql starten
Füge unterhalb des Connection Strings die Startzeile für die Resource ein:ensure oxmysqlAchtung
Die Reihenfolge in der
server.cfgist entscheidend. Derset mysql_connection_stringmuss vor allenensure-Zeilen stehen, undensure oxmysqlmuss vor allen Skripten stehen, die die Datenbank nutzen. Sonst starten diese Skripte, bevor die Datenbankverbindung steht.Server starten
Speichere dieserver.cfgund starte deinen Server über die Verwaltung.
Hinweis
Beim Serverstart schreibt die Verwaltung einige Zeilen der server.cfg automatisch neu, unter anderem endpoint_add_tcp, endpoint_add_udp, sv_hostname, set sv_licenseKey, set steam_webApiKey und sv_maxclients. Deine Zeilen set mysql_connection_string und ensure oxmysql bleiben davon unberührt und gehen nicht verloren.
Verbindung prüfen
Öffne nach dem Start die Konsole deines Servers in der Verwaltung. Hat die Verbindung geklappt, findest du dort diese Meldung:
Database server connection established!Davor steht in eckigen Klammern die Version deines Datenbankservers.
Schlägt die Verbindung fehl, gibt oxmysql stattdessen eine Meldung in dieser Form aus:
Unable to establish a connection to the database (FEHLERCODE)!Prüfe in diesem Fall Benutzername, Passwort, Host, Port und Datenbankname noch einmal über das Augen-Symbol in der Verwaltung.
Sonderzeichen im Passwort
Je nach verwendetem Format sind bestimmte Sonderzeichen reserviert oder werden nicht unterstützt. Enthält dein Datenbank-Passwort eines dieser Zeichen, kann die Verbindung fehlschlagen:
; , / ? : @ & = + $ #Tipp
Enthält dein generiertes Passwort eines dieser Zeichen, lass dir in der Verwaltung über Neues Passwort generieren ein neues Passwort erstellen, bis es frei von diesen Zeichen ist. Alternativ kannst du auf das jeweils andere Connection-String-Format wechseln.
Achtung
Kodiere das Passwort nicht (also z.B. nicht %40 statt @). oxmysql löst solche Kodierungen nicht auf und übergibt sie unverändert an die Datenbank – die Anmeldung schlägt dann ebenfalls fehl.
Weitere Convars
Für die Fehlersuche stellt oxmysql zusätzliche Convars bereit, die du ebenfalls mit set in die server.cfg einträgst:
| Convar | Beschreibung |
|---|---|
set mysql_debug true | Gibt alle Datenbankabfragen in der Konsole aus |
set mysql_slow_query_warning 150 | Warnt, wenn eine Abfrage länger als die angegebene Zeit in Millisekunden dauert |
Tipp
Erstelle vor größeren Änderungen an deiner Datenbank ein Backup deines Servers. Den Inhalt der Datenbank selbst sicherst du über phpMyAdmin.
Wie geht es weiter?
Deine Datenbank ist jetzt verbunden, aber noch leer. Die meisten Frameworks und Skripte bringen eine .sql-Datei mit, die die benötigten Tabellen anlegt. Wie du sie einspielst, steht unter Datenbank importieren.