Poupe até 53% em Servidores VPS, escolha agora. Oferta limitada.

Checklist: restaurar backup servidor MTA RP no Debian 13 com Docker

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:

  1. Prepare a estrutura de diretórios no Debian 13 e instale o Docker Engine.
  2. Transfira os arquivos da pasta 'resources' e 'mods' para os volumes mapeados no host.
  3. Configure o arquivo docker-compose.yml com as variáveis de ambiente corretas.
  4. Inicie o container do banco de dados e realize o restore do dump SQL via CLI.
  5. 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, deathmatch e o arquivo mtaserver.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 stats para monitorar se o servidor MTA RP está consumindo recursos excessivos no seu VPS.

Leia também

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.

Conheça nossos planos de VPS para Servidores de Jogos

  • 0 Os usuários acharam isso útil
  • MTA-RP, Docker, Debian 13, Backup, Servidor-Linux, AviraHost
Esta resposta foi útil?

Artigos Relacionados

Como Configurar Firewall em Servidor VPS Linux: Guia Prático com UFW

Como Configurar Firewall em Servidor VPS Linux: Guia Prático com UFWO firewall é essencial para...

Como Configurar e Usar o Fail2Ban para Proteger seu Servidor VPS Linux

O que é o Fail2Ban? Fail2Ban é uma ferramenta de segurança que monitora logs de serviços (como...

Como Instalar e Configurar o Firewall CSF no VPS Linux para Segurança Avançada

Introdução O CSF (ConfigServer Security & Firewall) é uma solução robusta de firewall para...

Guia Prático para Ativar e Gerenciar o ModSecurity no Apache em VPS Linux e Servidores Dedicados

Introdução O ModSecurity é um firewall de aplicação web (WAF) essencial para proteger servidores...

Checklist Completo para Configurar e Testar o Firewall UFW em VPS Linux e Servidores Dedicados

Introdução O UFW (Uncomplicated Firewall) é uma ferramenta simples e eficiente para gerenciar...