Elk RP-framework op FiveM, of het nu ESX, QBCore of Qbox is, slaat spelergegevens op in een MySQL- of MariaDB-database. Zonder database werkt het framework niet: geen inventaris, geen voertuigen, geen geld, geen banen. oxmysql is de standaard connector die het framework met de database verbindt.
Stap 1: database aanmaken
Bij alle FiveM-pakketten van HostValues is een database inbegrepen. In het gamepanel vindt u onder Databases de optie om een nieuwe database aan te maken. Na het aanmaken ziet u:
- Host: het adres van de databaseserver (meestal localhost of een intern IP)
- Poort: standaard 3306
- Databasenaam: de naam die u heeft gekozen
- Gebruikersnaam: automatisch gegenereerd
- Wachtwoord: klik op het oogje om het te tonen
Stap 2: oxmysql installeren
Download oxmysql van GitHub. Pak het uit en upload de map naar resources/[ox]/oxmysql/. Voeg in server.cfg toe:
ensure oxmysql
Zet dit boven alle resources die de database gebruiken.
Stap 3: connectiestring instellen
Voeg in server.cfg de connectiestring toe:
set mysql_connection_string "mysql://gebruiker:wachtwoord@host:3306/databasenaam?charset=utf8mb4"
Vervang de waarden door die uit stap 1. Let op speciale tekens in het wachtwoord: als het een @ of # bevat, URL-encode die dan (bijvoorbeeld %40 voor @).
Stap 4: framework-SQL importeren
Elk framework heeft SQL-bestanden die de databasetabellen aanmaken. Open phpMyAdmin via het gamepanel (knop naast de database), klik op "Importeren" en upload het SQL-bestand van uw framework:
- ESX:
es_extended.sql - QBCore:
qb-core.sql - Qbox: de SQL uit het recipe of de qbx_core-map
De meeste scripts die u later toevoegt hebben ook hun eigen SQL. Importeer die op dezelfde manier.
Stap 5: testen
Start de server. In de console moet u de melding zien:
[oxmysql] Database server connection established
Ziet u "connection refused" of "access denied", controleer dan de connectiestring op typefouten, of de database aangemaakt is en of het wachtwoord klopt.
Veelvoorkomende problemen
- ER_NOT_SUPPORTED_AUTH_MODE: uw MySQL-server vereist een ander authenticatiemechanisme. Bij MariaDB speelt dit zelden; bij MySQL 8+ moet u
mysql_native_passwordinstellen. - Tabellen bestaan al: u importeert de SQL twee keer. Niet erg, de import overschrijft niets als de tabellen al bestaan.
- Charset-fouten: vergeet
?charset=utf8mb4niet in de connectiestring. Zonder die parameter worden emoji's en speciale tekens niet correct opgeslagen.
Kan ik SQLite gebruiken in plaats van MySQL?
Technisch ja, maar geen enkel RP-framework ondersteunt het standaard. MySQL of MariaDB is de verwachting. Bij HostValues is een database bij elk FiveM-pakket inbegrepen, dus er is geen reden om SQLite te gebruiken.
Hoe maak ik een back-up van mijn database?
Via phpMyAdmin: selecteer de database, klik op "Exporteren", kies "Snel" en "SQL", en download het bestand. Sla dit apart op. Bij een verse installatie importeert u dit bestand weer.
Kan ik de database bekijken terwijl de server draait?
Ja. phpMyAdmin toont live data. U kunt spelergegevens, voertuigen en inventarissen direct bekijken en zo nodig handmatig aanpassen. Wees voorzichtig: een fout in de database kan spelerdata beschadigen.
Een database is inbegrepen bij alle FiveM-pakketten. Bij vragen over de database-opzet helpt ons supportteam.