O QBCore, o ESX e o Qbox guardam jogadores, inventários e veículos numa base de dados MySQL/MariaDB. Instalas uma vez, no mesmo VPS, e o FiveM liga-se por localhost.
Windows
- Descarrega o instalador MSI do MariaDB (uma versão LTS) em
mariadb.org/download. - Instala-o e põe uma palavra-passe de root longa. Deixa marcado Install as service para arrancar com o Windows.
- O instalador inclui o HeidiSQL, um programa para ver e editar a base de dados com janelas.
Linux (Ubuntu / Debian)
apt install -y mariadb-server
mariadb-secure-installation
Responde às perguntas: remove os utilizadores anónimos e a base de dados de testes.
Cria a base de dados e o seu utilizador
Não uses o root para o FiveM. Entra no MariaDB (no Windows, pelo HeidiSQL ou com mysql -u root -p; no Linux, com mariadb) e executa:
CREATE DATABASE fivem CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'fivem'@'localhost' IDENTIFIED BY 'UMA_PALAVRA_PASSE_LONGA';
GRANT ALL PRIVILEGES ON fivem.* TO 'fivem'@'localhost';
FLUSH PRIVILEGES;
São esses os dados que o txAdmin te vai pedir ao implementar a receita: base de dados fivem, utilizador fivem e a sua palavra-passe.
A cadeia de ligação (oxmysql)
O txAdmin deixa-a escrita no teu server.cfg. Se a puseres à mão, tem esta forma:
set mysql_connection_string "mysql://fivem:UMA_PALAVRA_PASSE_LONGA@localhost/fivem?charset=utf8mb4"
E o ensure oxmysql tem de vir antes do framework na ordem de carregamento. Se a tua palavra-passe tiver símbolos como @ ou #, troca-a por uma sem eles: estragam a cadeia.
Não abras a porta 3306
A base de dados só é usada pelo servidor de FiveM, que está na mesma máquina. Abrir a 3306 à Internet é convidar a que a ataquem. Para a gerires a partir do teu PC, usa o HeidiSQL com a opção de túnel SSH (em Linux) ou liga-te por Ambiente de Trabalho Remoto (em Windows).
Os dois erros mais típicos
| Erro na consola | O que significa |
|---|---|
ECONNREFUSED 127.0.0.1:3306 | O MariaDB não está a correr. No Windows, vê o serviço em services.msc; no Linux, systemctl status mariadb. |
Access denied for user | Utilizador, palavra-passe ou nome da base de dados mal escritos na cadeia de ligação. |
E faz cópias: o dump diário da base de dados é o que te salva se um script te apagar os inventários.