SQLite x MySQL no MTA: qual usar?
Todo servidor com contas, economia ou propriedades precisa guardar dados. O MTA:SA suporta dois bancos pelas funções db*: SQLite e MySQL.
SQLite
Banco em um arquivo local, dentro da pasta do servidor.
local db = dbConnect("sqlite", "dados.db")
Prós:
- Zero configuração;
- Ótimo para servidores pequenos e para desenvolvimento;
- Fácil de copiar (é um arquivo).
Contras:
- Acesso concorrente limitado — muitas escritas simultâneas podem gerar lentidão;
- Difícil de acessar fora do servidor (site, painel, bot do Discord);
- Backup exige cuidado para não copiar o arquivo no meio de uma escrita.
O MTA também tem funções legadas como
executeSQLQuery, que usam o banco internoregistry.db. Para projetos novos, prefiradbConnect.
MySQL / MariaDB
Servidor de banco de dados dedicado.
local db = dbConnect("mysql", "dbname=meuserver;host=HOST;port=3306;charset=utf8mb4", "usuario", "senha")
Prós:
- Excelente com muitas conexões e escritas simultâneas;
- Acessível por site, painel web, bots e ferramentas (phpMyAdmin, HeidiSQL, DBeaver);
- Ferramentas maduras de backup e otimização;
- Escala melhor para comunidades grandes.
Contras:
- Exige configuração de conexão (host, usuário, senha).
Comparativo
| Critério | SQLite | MySQL |
|---|---|---|
| Configuração | Nenhuma | Simples |
| Muitos jogadores | Limitado | Excelente |
| Acesso externo (site, bot) | Difícil | Fácil |
| Ferramentas visuais | Poucas | Muitas |
| Backups | Cópia de arquivo | Dump/ferramentas |
Qual escolher?
- Servidor de amigos, freeroam, testes: SQLite resolve;
- Roleplay, economia, servidor público: MySQL;
- Vai ter site, loja ou painel conectado ao banco: MySQL.
Boas práticas para ambos
- Consultas assíncronas (
dbQuerycom callback); - Parâmetros
?para evitar SQL injection; - Índices nas colunas usadas em buscas;
- Backups regulares.
Hospede seu servidor com a VittHost
Todos os planos MTASA-BR da VittHost incluem 1 banco MySQL, pronto para o seu gamemode. Servidores no Brasil, painel Pterodactyl, proteção DDoS, downloads acelerados por nginx dedicado e teste grátis de 3 dias.