9 min de leitura · Guia técnico
Restaurar backup servidor MTA RP no Debian 13 com Docker Compose é o procedimento técnico de recuperação de dados que envolve a migração de arquivos de recursos (.lua, .xml) e a importação de dumps SQL para containers orquestrados. Para restaurar seu servidor de Multi Theft Auto Roleplay com integridade, siga estes passos:
- Prepare a estrutura de diretórios no Debian 13 e instale o Docker Engine.
- Transfira os arquivos da pasta 'resources' e 'mods' para os volumes mapeados no host.
- Configure o arquivo docker-compose.yml com as variáveis de ambiente corretas.
- Inicie o container do banco de dados e realize o restore do dump SQL via CLI.
- Ajuste as permissões de proprietário (chown) para evitar erros de escrita nos logs.
Pré-requisitos
- Servidor VPS com Debian 13 (Trixie) instalado e atualizado.
- Docker Engine e Docker Compose Plugin (versão 2.20 ou superior).
- Acesso root ou usuário com privilégios no grupo sudo.
- Backup compactado do servidor (.zip ou .tar.gz) contendo as pastas
resources,deathmatche o arquivomtaserver.conf. - Dump do banco de dados MySQL/MariaDB em formato
.sql. - Portas 22003 (UDP), 22005 (TCP) e 22126 (UDP) liberadas no firewall.
Configuração do ambiente e estrutura de diretórios no Debian 13
O Debian 13 oferece uma base sólida e moderna para hospedar servidores de jogos devido ao seu kernel otimizado. Antes de mover os arquivos do seu servidor de jogos Linux, é fundamental criar uma estrutura organizada que facilite o mapeamento de volumes no Docker. Recomendamos centralizar tudo em /opt/mta-server para seguir os padrões de administração de sistemas.
Primeiro, atualize os repositórios e instale as dependências básicas. Em seguida, crie os diretórios necessários para o banco de dados e para os arquivos do MTA:
sudo apt update && sudo apt upgrade -y
sudo mkdir -p /opt/mta-server/data/mysql
sudo mkdir -p /opt/mta-server/server-files
cd /opt/mta-server
Após criar as pastas, você deve criar o arquivo docker-compose.yml. Este arquivo é o coração da sua infraestrutura, definindo como o container do MTA se comunicará com o banco de dados. Certifique-se de usar imagens compatíveis com a arquitetura do seu processador, geralmente x86_64 para servidores MTA.
version: '3.8'
services:
mta-db:
image: mariadb:11.4
container_name: mta_db
restart: always
environment:
MYSQL_ROOT_PASSWORD: sua_senha_forte
MYSQL_DATABASE: mta_rp
volumes:
- ./data/mysql:/var/lib/mysql
mta-server:
image: mtasa/server:latest
container_name: mta_logic
restart: always
depends_on:
- mta-db
ports:
- "22003:22003/udp"
- "22005:22005/tcp"
- "22126:22126/udp"
volumes:
- ./server-files:/home/mta/server
Atenção: Nunca utilize senhas padrões em ambientes de produção. Se você já possui um acesso configurado, consulte nosso guia sobre Acessando servidores VPS Linux da AviraHost para garantir que sua conexão SSH esteja protegida antes de subir os containers.
Como restaurar o banco de dados do MTA RP no Docker
A restauração do banco de dados MTA RP é a etapa mais crítica, pois nela residem as contas dos jogadores, inventários, veículos e propriedades. No Docker, o banco de dados não roda diretamente no host, portanto, precisamos injetar o arquivo SQL para dentro do container em execução.
Primeiro, inicie apenas o serviço de banco de dados para garantir que ele esteja pronto para receber conexões:
docker compose up -d mta-db
Aguarde cerca de 15 segundos para a inicialização do MariaDB. Verifique o status com docker ps. Com o container ativo, utilize o comando abaixo para importar seu backup:
docker exec -i mta_db mariadb -u root -psua_senha_forte mta_rp < /caminho/do/seu/backup.sql
O output esperado não deve retornar erros. Para validar se as tabelas foram criadas corretamente, você pode acessar o terminal interativo do banco:
docker exec -it mta_db mariadb -u root -psua_senha_forte mta_rp -e "SHOW TABLES;"
Output esperado:
+------------------+
| Tables_in_mta_rp |
+------------------+
| accounts |
| vehicles |
| characters |
+------------------+
Se as tabelas aparecerem, a parte lógica do banco de dados está restaurada. Caso encontre dificuldades de performance após a importação, veja nossas Dicas de Otimização de Servidores Linux para ajustar o consumo de RAM do container MariaDB.
Sincronização de arquivos de recursos e permissões de sistema
Os arquivos de recursos (resources) do MTA RP costumam ser pesados e compostos por milhares de pequenos arquivos .lua. Ao restaurar o backup no Debian 13, é comum ocorrerem problemas de permissão, pois o usuário dentro do container Docker (geralmente com UID 1000) pode não ter permissão para ler os arquivos que você enviou via FTP ou SCP como root.
Extraia seu backup na pasta mapeada anteriormente:
tar -xzvf backup_resources.tar.gz -C /opt/mta-server/server-files/mods/deathmatch/
Após a extração, corrija as permissões de forma recursiva. Isso garante que o servidor consiga criar arquivos de cache e logs de depuração sem travar a inicialização:
sudo chown -R 1000:1000 /opt/mta-server/server-files
sudo chmod -R 755 /opt/mta-server/server-files
Agora, edite o arquivo mtaserver.conf para garantir que o endereço do banco de dados aponte para o nome do serviço definido no Docker Compose (mta-db) em vez de localhost ou 127.0.0.1. Isso é necessário porque, dentro da rede interna do Docker, os containers se resolvem pelo nome do serviço.
<!-- No arquivo mtaserver.conf ou no script de conexão do seu RP -->
<host>mta-db</host>
<port>3306</port>
Finalmente, suba o servidor completo:
docker compose up -d
Acompanhe os logs em tempo real para identificar qualquer falha no carregamento dos scripts:
docker logs -f mta_logic
Problemas comuns e como resolver
Sintoma: O servidor inicia mas o banco de dados retorna "Connection Refused"
Causa: O script do MTA está tentando conectar em 127.0.0.1, mas o banco está em outro container.
Solução: Altere o host de conexão no seu script de banco de dados (geralmente em um resource chamado 'mysql' ou 'database') para o nome do serviço definido no docker-compose, que neste guia é mta-db.
Sintoma: Jogadores não conseguem baixar os recursos (Download travado em 0%)
Causa: A porta 22005 (TCP) está bloqueada no firewall do Debian 13 ou o mapeamento no Docker está incorreto.
Solução: Verifique as regras do NFTables ou UFW com sudo ufw allow 22005/tcp e certifique-se de que a porta está exposta no arquivo YAML.
Sintoma: Erro "Permission Denied" ao tentar salvar dados de jogadores
Causa: O container não tem permissão de escrita na pasta internal.db ou nos logs.
Solução: Execute chmod -R 777 /opt/mta-server/server-files/mods/deathmatch/logs (apenas para teste) ou ajuste o proprietário para o UID correto do container com chown -R 1000:1000.
Perguntas frequentes sobre restaurar backup servidor MTA RP
Como restaurar o banco de dados do MTA RP no Docker?
Para restaurar o banco de dados, utilize o comando docker exec apontando para o container do MySQL ou MariaDB, importando o arquivo .sql através do redirecionamento de entrada padrão. Certifique-se de que o container esteja em execução e que as credenciais de root definidas no Docker Compose coincidam com as do backup.
Onde ficam armazenados os arquivos do servidor MTA no Docker?
Os arquivos geralmente residem em volumes Docker ou diretórios mapeados via bind mount definidos no arquivo docker-compose.yml. Na restauração, é crucial mover os arquivos da pasta 'resources' e 'mods' para o caminho exato onde o volume aponta no host Debian 13.
Por que o servidor MTA não inicia após restaurar o backup?
As causas mais comuns são permissões de arquivos incorretas no diretório de volumes ou incompatibilidade de rede no Docker Compose. Verifique os logs do container com o comando docker logs para identificar se há falhas de conexão com o banco de dados ou arquivos ausentes.
É necessário reinstalar o Docker para restaurar um backup?
Não, você só precisa garantir que o Docker e o Docker Compose estejam instalados no Debian 13. A restauração foca na integridade dos arquivos de dados e na configuração do arquivo YAML que orquestra os containers do servidor MTA.
Conclusão
- Sempre valide a integridade do dump SQL antes de iniciar o processo de importação no container.
- Mantenha o mapeamento de volumes persistente para evitar perda de dados caso o container seja removido.
- Utilize o comando
docker statspara monitorar se o servidor MTA RP está consumindo recursos excessivos no seu VPS.
Leia também
- Checklist de Segurança para Servidor Linux em Produção 2026
- Checklist: como hospedar múltiplos sites com Docker e Nginx
- Como fazer backup no cPanel: frequência, destino e teste
Precisa de ajuda com seu servidor de jogos?
Restaurar backups complexos exige uma infraestrutura estável e de baixa latência para garantir a melhor experiência aos seus jogadores. Nossos servidores são otimizados para workloads de alta performance.