QBCore, ESX en Qbox slaan spelers, inventarissen en voertuigen op in een MySQL/MariaDB-database. Je installeert die één keer, op dezelfde VPS, en FiveM maakt verbinding via localhost.
Windows
- Download het MSI-installatieprogramma van MariaDB (een LTS-versie) van
mariadb.org/download. - Installeer het en stel een lang rootwachtwoord in. Laat Install as service aangevinkt, zodat MariaDB met Windows meestart.
- Het installatieprogramma bevat HeidiSQL, een programma om de database in vensters te bekijken en te bewerken.
Linux (Ubuntu / Debian)
apt install -y mariadb-server
mariadb-secure-installation
Beantwoord de vragen: verwijder de anonieme gebruikers en de testdatabase.
Maak de database en de gebruiker aan
Gebruik geen root voor FiveM. Open MariaDB (op Windows via HeidiSQL of met mysql -u root -p; op Linux met mariadb) en voer uit:
CREATE DATABASE fivem CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'fivem'@'localhost' IDENTIFIED BY 'EEN_LANG_WACHTWOORD';
GRANT ALL PRIVILEGES ON fivem.* TO 'fivem'@'localhost';
FLUSH PRIVILEGES;
Dat zijn de gegevens waar txAdmin om vraagt bij het uitrollen van de recipe: database fivem, gebruiker fivem en het bijbehorende wachtwoord.
De connectiestring (oxmysql)
txAdmin zet hem in je server.cfg. Stel je hem met de hand in, dan ziet hij er zo uit:
set mysql_connection_string "mysql://fivem:EEN_LANG_WACHTWOORD@localhost/fivem?charset=utf8mb4"
En ensure oxmysql moet in de laadvolgorde vóór het framework staan. Bevat je wachtwoord tekens als @ of #, vervang het dan door een wachtwoord zonder die tekens: ze breken de string.
Open poort 3306 niet
De database wordt alleen gebruikt door de FiveM-server, die op dezelfde machine staat. Poort 3306 openzetten naar internet is vragen om aanvallen. Wil je de database vanaf je pc beheren, gebruik dan HeidiSQL met de optie SSH-tunnel (op Linux) of maak verbinding via Extern bureaublad (op Windows).
De twee meest voorkomende fouten
| Fout in de console | Wat het betekent |
|---|---|
ECONNREFUSED 127.0.0.1:3306 | MariaDB draait niet. Controleer op Windows de service in services.msc; op Linux met systemctl status mariadb. |
Access denied for user | Gebruiker, wachtwoord of databasenaam verkeerd geschreven in de connectiestring. |
En maak back-ups: de dagelijkse dump van de database redt je als een script je inventarissen wist.