ESX und QBCore speichern alles in MySQL: Charaktere, Inventare, Geld, Fahrzeuge und Jobs. Ohne funktionierende Datenbank starten sie gar nicht erst. Die gute Nachricht: Die komplette Verbindung besteht aus einer einzigen Zeile in der server.cfg, und die setzt sich aus fünf Werten zusammen, die dir das Panel bereits anzeigt. Hier erfährst du, wie du sie ausfüllst und die Tabellen deines Frameworks importierst.
Was du brauchst
- Deinen FiveM-Server im Gamepanel
- oxmysql im Ordner
resources(ESX und QBCore bringen es mit oder setzen es voraus) - Die SQL-Dateien deines Frameworks, falls du nicht über ein txAdmin-Recipe installierst
Schritt 1: Datenbank anlegen
Öffne deinen Server im Gamepanel und klicke im Menü auf Datenbanken. Klicke auf Neue Datenbank, gib einen kurzen Namen wie qbcore oder esx ein (nur Buchstaben, Zahlen und Unterstriche) und bestätige.
Das Panel setzt ein Präfix davor, aus qbcore wird also etwa s1234_qbcore. Der Datenbankbenutzer bekommt dasselbe Präfix, deshalb sehen sich die beiden zum Verwechseln ähnlich. Genau diese Verwechslung ist ein Klassiker.
Siehst du nur Datenbanken nicht verfügbar, hat der Server keinen Datenbankplatz. Melde dich über die Supportseite, dann klären wir das.
Schritt 2: Panelfelder dem Verbindungsstring zuordnen
Jede Datenbank in der Liste zeigt fünf Werte mit jeweils eigenem Kopierknopf. So verteilen sie sich:
| Feld im Panel | In der URI-Form | In der key=value-Form |
|---|---|---|
| Datenbankname | nach dem / |
database= |
| Host | zwischen @ und : |
host= |
| Port | nach dem : |
port= |
| Benutzername | vor dem : |
user= |
| Passwort | zwischen : und @ |
password= |
Mit vier Regeln bleibst du auf der sicheren Seite:
- Host ist nur die Adresse. Das Panel zeigt den Port in einem eigenen Feld. Füge nicht
adresse:3306an der Stelle des Hosts ein, sonst steht der Port zweimal im String. - Niemals
localhostoder127.0.0.1. Deine Datenbank läuft auf unserem separaten Datenbankhost und nicht im Gameserver. Anleitungen nehmenlocalhost, weil sie davon ausgehen, dass MySQL auf demselben PC läuft wie FXServer. - Niemals
root. Anmelden kann sich nur der Benutzername, den das Panel anzeigt. - Nimm den exakten Namen mit Präfix. Installer schlagen Namen wie
es_extendedoderqbcorevor, die es in deinem Konto nicht gibt. Kopiere das Feld Datenbankname aus dem Panel.
Schritt 3: Zeile in die server.cfg eintragen
Der schnelle Weg
Auf einem FiveM-Server zeigt der Tab Datenbanken unter der Liste eine zusätzliche Karte namens oxmysql Verbindungsstring. Sie enthält die fertige Zeile set mysql_connection_string "..." für deine erste Datenbank, und zwar in dem Format, das dein Passwort sicher transportiert. Nutze den Kopierknopf der Karte: Er kopiert das echte Passwort, auch wenn auf dem Bildschirm nur Punkte stehen.
Von Hand schreiben
oxmysql versteht zwei Formate. Die URI-Form sieht so aus:
set mysql_connection_string "mysql://BENUTZERNAME:PASSWORT@HOST:PORT/DATENBANK?charset=utf8mb4"
Die key=value-Form enthält genau dieselben Angaben:
set mysql_connection_string "user=BENUTZERNAME;password=PASSWORT;host=HOST;port=PORT;database=DATENBANK;charset=utf8mb4"
Ersetze jeden Platzhalter durch den passenden Wert aus der Tabelle. charset=utf8mb4 ist optional, lass es aber drin, damit Spielernamen mit Umlauten und Sonderzeichen korrekt gespeichert werden.
Wo die server.cfg liegt und wohin die Zeile gehört
Öffne den Tab Dateien. Im Standard-Setup liegt die server.cfg im Hauptordner direkt neben dem Ordner resources, und der Server lädt sie bei jedem Start.
Die Reihenfolge ist entscheidend. oxmysql liest die Einstellung genau einmal, und zwar beim eigenen Start. Die Datei muss deshalb von oben nach unten so aussehen:
set mysql_connection_string "..."
ensure oxmysql
ensure es_extended
Zuerst der Verbindungsstring, dann ensure oxmysql, dann dein Framework (bei QBCore qb-core statt es_extended). Steht die Zeile unter ensure oxmysql, wird sie zu spät gelesen.
Hast du txAdmin über den Knopf txAdmin aktivieren auf deiner Serverseite eingeschaltet, lädt der Server diese Datei nicht mehr. txAdmin startet ihn stattdessen mit der server.cfg aus seinem eigenen Server-Data-Ordner. Klicke auf txAdmin öffnen und trage die Zeile dort im CFG Editor ein, sonst kommt die Änderung nie beim laufenden Server an.
Schritt 4: Neu starten und Konsole prüfen
Starte den Server über das Panel neu. Ein kompletter Neustart ist Pflicht, weil die Einstellung nur beim Serverstart gelesen wird. Nur die oxmysql-Ressource neu zu starten reicht nicht.
Behalte beim Hochfahren den Tab Konsole im Blick. Klappt alles, meldet oxmysql die erfolgreiche Verbindung samt Version des Datenbankservers, und dein Framework lädt ohne SQL-Fehler. Klappt es nicht, erscheint der Fehler innerhalb weniger Sekunden und passt zu einem der Fälle weiter unten.
SQL-Dateien für ESX oder QBCore importieren
Das Framework erwartet, dass seine Tabellen schon existieren. Die SQL-Dateien müssen daher einmal importiert werden.
Mit einem txAdmin-Recipe. Der Recipe Deployer von txAdmin fragt unterwegs nach den Datenbankdaten. Trag Host, Port, Benutzername und Passwort aus dem Panel ein und ersetze den vorgeschlagenen Datenbanknamen durch deinen Namen mit Präfix. Anschließend führt der Deployer die SQL-Dateien aus und schreibt den Verbindungsstring selbst.
Von Hand. Das Panel hat kein eigenes Werkzeug für SQL-Importe, nimm also einen MySQL-Client auf deinem eigenen Rechner. HeidiSQL und DBeaver funktionieren beide: Lege eine MySQL-Verbindung mit den fünf Werten aus dem Panel an und führe dann die .sql-Datei auf deiner Datenbank aus. Auf der Kommandozeile sieht das so aus:
mysql -h HOST -P PORT -u BENUTZERNAME -p DATENBANK < es_extended.sql
Öffne die SQL-Datei vor dem Import in einem Texteditor. Manche Framework-Dateien beginnen mit den Zeilen CREATE DATABASE und USE, die auf einen eigenen Datenbanknamen verweisen. Lösche diese Zeilen, sonst will der Import auf eine Datenbank zugreifen, für die du keine Rechte hast, und bricht ab.
Importiere zuerst die Hauptdatei des Frameworks und danach die SQL-Dateien der einzelnen Zusatzressourcen.
Fehlerbehebung
Access denied for user. Benutzername oder Passwort stimmen nicht. Meist steckt ein Tippfehler dahinter, ein Passwort, das nach dem Schreiben der Konfiguration mit Neues Passwort geändert wurde, oder Sonderzeichen, die die Zeile zerlegen. Alle Varianten findest du unter oxmysql Access denied beheben.
connect ECONNREFUSED oder ETIMEDOUT. oxmysql erreicht die Datenbank nicht. Das ist ein Adressproblem, kein Passwortproblem. Nimm den Host aus dem Panel statt localhost oder 127.0.0.1 und prüfe, ob der Port stimmt und nur einmal vorkommt.
Unknown database. Dem Datenbanknamen fehlt das Präfix, oder der Benutzername steht dort, wo der Datenbankname hingehört. Kopiere das Feld Datenbankname erneut aus dem Panel.
Sonderzeichen im Passwort. Viele Anleitungen raten, Sonderzeichen in der URI-Form per URL-Encoding umzuwandeln, also @ zu %40. Bei oxmysql nicht: Es dekodiert diese Folgen nicht, schickt %40 als Teil des Passworts, und die Anmeldung schlägt fehl. Füge das Passwort genau so ein, wie es angezeigt wird, oder kopiere die Zeile von der Karte, die bereits ein Format nutzt, in das dein Passwort passt. Zeigt die Karte stattdessen eine Warnung, klicke auf Neues Passwort erzeugen.
Table doesn't exist. oxmysql verbindet sich, aber ESX oder QBCore melden fehlende Tabellen. Die SQL-Dateien wurden nicht importiert oder sind in einer anderen Datenbank gelandet. Importiere sie wie oben beschrieben.
Gestern ging es noch. Jemand hat bei der Datenbank auf Neues Passwort geklickt. Das alte Passwort ist sofort ungültig, also kopiere die neue Zeile in die server.cfg und starte neu.
Kommst du nicht weiter? Eröffne über die Supportseite ein Ticket mit deinem Servernamen und der Fehlermeldung aus der Konsole, ohne Passwort. Du suchst noch einen Server? Schau dir unser FiveM-Server-Hosting an.