QBCore, ESX et Qbox enregistrent les joueurs, les inventaires et les véhicules dans une base de données MySQL/MariaDB. Tu l'installes une fois, sur le même VPS, et FiveM s'y connecte par localhost.
Windows
- Télécharge l'installateur MSI de MariaDB (une version LTS) sur
mariadb.org/download. - Installe-le et choisis un mot de passe root long. Laisse coché Install as service pour qu'il démarre avec Windows.
- L'installateur inclut HeidiSQL, un programme pour voir et modifier la base de données avec des fenêtres.
Linux (Ubuntu / Debian)
apt install -y mariadb-server
mariadb-secure-installation
Réponds aux questions : supprime les utilisateurs anonymes et la base de données de test.
Crée la base de données et son utilisateur
N'utilise pas root pour FiveM. Connecte-toi à MariaDB (sous Windows, depuis HeidiSQL ou avec mysql -u root -p ; sous Linux, avec mariadb) et exécute :
CREATE DATABASE fivem CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'fivem'@'localhost' IDENTIFIED BY 'UN_LONG_MOT_DE_PASSE';
GRANT ALL PRIVILEGES ON fivem.* TO 'fivem'@'localhost';
FLUSH PRIVILEGES;
Ce sont les informations que txAdmin te demandera en déployant la recette : base de données fivem, utilisateur fivem et son mot de passe.
La chaîne de connexion (oxmysql)
txAdmin l'écrit dans ton server.cfg. Si tu la mets à la main, elle a cette forme :
set mysql_connection_string "mysql://fivem:UN_LONG_MOT_DE_PASSE@localhost/fivem?charset=utf8mb4"
Et ensure oxmysql doit être placé avant le framework dans l'ordre de chargement. Si ton mot de passe contient des symboles comme @ ou #, choisis-en un sans : ils cassent la chaîne.
N'ouvre pas le port 3306
Seul le serveur FiveM utilise la base de données, et il est sur la même machine. Ouvrir le 3306 à Internet, c'est inviter les attaques. Pour la gérer depuis ton PC, utilise HeidiSQL avec son option de tunnel SSH (sous Linux) ou connecte-toi en Bureau à distance (sous Windows).
Les deux erreurs les plus courantes
| Erreur dans la console | Ce qu'elle signifie |
|---|---|
ECONNREFUSED 127.0.0.1:3306 | MariaDB n'est pas démarré. Sous Windows, vérifie le service dans services.msc ; sous Linux, systemctl status mariadb. |
Access denied for user | Utilisateur, mot de passe ou nom de base de données mal écrits dans la chaîne de connexion. |
Et fais des sauvegardes : le dump quotidien de la base de données est ce qui te sauve si un script efface les inventaires.