O maior portal de MU Online do Brasil — desde 2003
Tutorial Avançado Infra

Como testar o plano de recuperação de desastre do seu servidor de MU Online

Aprenda a montar e, principalmente, testar de verdade um plano de recuperação de desastre (DRP) para o seu servidor de MU Online, com simulações de falha de banco, de host e de corrupção de dados, e métricas de RTO e RPO.

RO Rodrigo · Atualizado em 12 nov 2016 · ⏱ 15 min de leitura
Resposta rápida

Todo administrador de servidor de MU Online diz que "tem backup". Poucos já testaram, de fato, restaurar esse backup do zero, sob pressão de tempo, e colocar o servidor de volta ao ar sem perder dados críticos. Um plano de recuperação de desastre (DRP) só vale alguma coisa depois de testado — no pap

Todo administrador de servidor de MU Online diz que "tem backup". Poucos já testaram, de fato, restaurar esse backup do zero, sob pressão de tempo, e colocar o servidor de volta ao ar sem perder dados críticos. Um plano de recuperação de desastre (DRP) só vale alguma coisa depois de testado — no papel, ele é só uma lista de boas intenções. Este tutorial mostra como estruturar um DRP para um servidor de MU e, principalmente, como simular desastres reais para validar que o plano funciona antes que você precise dele de verdade.

Por que "ter backup" não é a mesma coisa que "ter um plano"

Um backup é um arquivo. Um plano de recuperação de desastre é um processo: quem executa, com qual acesso, restaurando o quê, em qual ordem, e como validar que tudo voltou correto. Servidores que só têm o arquivo descobrem na hora da crise que falta a senha do provedor de hospedagem, que o script de restauração está desatualizado, ou que o backup do banco não inclui as tabelas de personagem mais recentes. Testar o plano transforma essas suposições em fatos verificados.

Definindo RTO e RPO antes de qualquer teste

Antes de simular qualquer desastre, defina dois números:

MétricaDefiniçãoExemplo para servidor médio
RTO (Recovery Time Objective)Tempo máximo até o servidor voltar ao ar2 horas
RPO (Recovery Point Objective)Perda de dados máxima aceitável, em tempo15 minutos

Esses números orientam decisões técnicas: um RPO de 15 minutos exige backup incremental do banco a cada 15 minutos (ou replicação), não apenas um dump diário. Um RTO de 2 horas exige que o processo de restauração completo (banco + GameServer + ConnectServer + painel web) esteja documentado e cronometrado — se hoje leva 6 horas, o plano precisa de ajuste antes de qualquer desastre real.

Inventário do que precisa ser recuperado

Um servidor de MU tem várias peças que precisam ser recuperadas juntas e na ordem certa:

ComponentePrioridade de restauraçãoFonte do backup
Banco de dados (contas, personagens, itens)1 (crítica)Dump/backup incremental do SQL Server ou MySQL
Arquivos de configuração do GameServer2Repositório versionado ou snapshot de disco
ConnectServer e JoinServer2Snapshot de disco ou imagem de contêiner
Painel web e banco do site3Backup separado, pode ter RPO mais frouxo
Assets do cliente (para redistribuição)4Repositório de arquivos/CDN

Sem esse inventário documentado, é comum restaurar o banco primeiro e descobrir que a versão do GameServer não é compatível com o schema restaurado — um erro evitável com um checklist de ordem correto.

Cenários de desastre que valem a pena simular

Não teste apenas "o servidor caiu". Simule cenários específicos, cada um com uma resposta diferente:

CenárioO que testarSinal de sucesso
Falha total do host (VPS apagada)Provisionar novo host e restaurar tudo do zeroServidor online dentro do RTO definido
Corrupção do banco de dadosRestaurar de backup sem o dump mais recentePerda de dados dentro do RPO definido
Exclusão acidental de tabelaRestaurar apenas a tabela afetada sem downtime totalRestauração pontual sem afetar o resto do banco
Ataque de ransomware/malwareRestaurar em ambiente limpo, sem reintroduzir o vetorAmbiente limpo confirmado antes de reconectar
Erro humano em deploy (config quebrada)Rollback rápido para versão anteriorRollback completo em minutos, não horas

Montando o ambiente de teste isolado

Nunca teste restauração sobre o ambiente de produção. Monte uma VPS de teste ou VM local com a mesma stack (SQL Server/MySQL, GameServer, ConnectServer) e execute a restauração completa ali. Isso permite cronometrar o processo sem risco e documentar cada passo real — comandos exatos, tempo gasto em cada etapa, credenciais necessárias.

# Exemplo de restauração de banco em ambiente de teste (MySQL)
mysql -u root -p mu_test < backup_2026-07-15_0300.sql

# Exemplo para SQL Server via sqlcmd
sqlcmd -S localhost -Q "RESTORE DATABASE MuOnline FROM DISK = 'D:\Backups\MuOnline_full.bak' WITH REPLACE"

Depois de restaurar o banco, suba o GameServer apontando para essa instância de teste e confirme login, criação de personagem e persistência de item — restaurar o banco sem validar que o servidor consegue lê-lo corretamente é um teste incompleto.

Cronometrando o processo real

Durante o teste, registre o tempo de cada etapa em uma tabela como esta:

EtapaTempo estimadoTempo real no testeResponsável
Provisionar novo host/VM30 minInfra
Restaurar banco de dados20 minDBA/Admin
Subir GameServer e ConnectServer15 minAdmin
Validar login e integridade de personagem15 minQA/GM
Comunicar status à comunidade10 minComunidade

Se o tempo real ultrapassar o RTO definido, o plano precisa de ajuste — seja automatizando etapas manuais, seja pré-provisionando um host de contingência já configurado (standby quente).

Validando integridade dos dados pós-restauração

Restaurar sem validar é arriscado. Depois de qualquer teste de restauração, rode verificações específicas:

  • Contagem de contas e personagens bate com o esperado (comparar com métrica monitorada antes do backup).
  • Login de uma conta de teste conhecida funciona e reflete o estado esperado de itens e Zen.
  • Logs do GameServer não mostram erros de schema ou tabela ausente.
  • Ranking e ligas carregam sem erro (indicativo de integridade de tabelas relacionadas).

Comunicação durante um desastre real

Parte do plano é como você se comunica enquanto restaura. Prepare com antecedência uma mensagem-modelo para o Discord/site informando que houve um incidente, uma estimativa de retorno e um canal para atualização — isso reduz o volume de tickets duplicados e protege a reputação do servidor mesmo durante uma falha real.

Frequência de testes e gatilhos de retest

Defina uma cadência mínima e gatilhos que disparam um novo teste fora do calendário:

GatilhoAção
Calendário trimestralTeste completo de restauração do zero
Calendário mensalTeste rápido de restauração de banco isolado
Troca de provedor de hospedagemReteste completo antes de confiar no novo ambiente
Atualização de versão do emuladorReteste de compatibilidade do backup restaurado
Mudança na equipe (saída de administrador)Revalidação de credenciais e acessos do plano

Documentando o plano para quem não é você

Um plano de recuperação de desastre só funciona se outra pessoa da equipe conseguir executá-lo sem você disponível. Documente cada passo em linguagem simples, com comandos exatos, caminhos de arquivo e onde encontrar credenciais (idealmente em um cofre de senhas compartilhado, nunca em texto puro no Discord). Teste isso literalmente pedindo para outro membro da equipe seguir o documento sem sua ajuda.

Erros comuns e soluções

SintomaCausa provávelSolução
Teste de restauração nunca foi feitoPlano existe só no papelAgendar o primeiro teste completo em ambiente isolado
Restauração demora muito mais que o RTOProcesso manual sem automaçãoAutomatizar etapas com scripts e considerar standby quente
Backup restaurado não sobe no GameServerIncompatibilidade de versão/schemaValidar compatibilidade a cada atualização de emulador
Dados restaurados não batem com o esperadoBackup incremental falhou silenciosamenteAdicionar alerta de falha de backup e checagem de integridade
Só uma pessoa sabe executar o planoFalta de documentação e teste com outra pessoaDocumentar e testar com um segundo membro da equipe

Checklist de teste de recuperação de desastre

  • RTO e RPO definidos e documentados.
  • Inventário de componentes e ordem de restauração documentado.
  • Ambiente de teste isolado provisionado.
  • Cenários de desastre (host, corrupção, exclusão, ataque) simulados individualmente.
  • Tempo real de cada etapa cronometrado e comparado ao RTO.
  • Validação de integridade pós-restauração executada.
  • Plano documentado e testado por uma segunda pessoa da equipe.
  • Calendário de retestes definido com gatilhos adicionais.

Um plano testado é o que separa um incidente de algumas horas de uma perda permanente de confiança da comunidade. Depois de validar sua recuperação de desastre, revise também a base de infraestrutura descrita no guia de criação de servidor de MU Online para garantir que os fundamentos de backup e monitoramento já nascem alinhados com o seu plano.

Perguntas frequentes

Ter backup automatizado já é suficiente como plano de recuperação de desastre?

Não. Backup é só um componente. Um plano de recuperação de desastre também define quem age, em que ordem, com quais credenciais e em quanto tempo — e isso só se valida testando uma restauração completa, não apenas confirmando que o arquivo de backup existe.

Com que frequência devo testar o plano de recuperação?

O mínimo recomendável é um teste completo a cada 3 meses e um teste rápido (restauração de banco isolado) mensal. Depois de qualquer mudança grande de infraestrutura (troca de host, nova versão do emulador), refaça o teste completo antes de confiar no plano novamente.

O que são RTO e RPO e por que eles importam tanto?

RTO (Recovery Time Objective) é o tempo máximo aceitável até o servidor voltar ao ar. RPO (Recovery Point Objective) é a quantidade máxima de dados aceitável para perder, medida em tempo. Definir os dois antes de um desastre real evita decisões de pânico durante a crise.

Preciso de um servidor secundário para testar o plano?

Idealmente sim — um ambiente isolado (VPS de teste ou VM local) evita que o teste de restauração afete o servidor de produção. Testar restaurando por cima do banco de produção é arriscado e pode causar a própria interrupção que você está tentando prevenir.

O que fazer se o teste de restauração falhar?

Documente exatamente onde falhou, corrija a causa (backup corrompido, script desatualizado, credencial expirada) e repita o teste até completar com sucesso. Um plano que falha no teste é melhor descoberto agora do que durante um incidente real com jogadores online.

RO
Fundador e editor-chefe

Rodrigo mantém o ViciadosMU desde os primórdios do portal. Especialista em criação e administração de servidores de MU Online, história do jogo e a evolução das seasons — escreveu boa parte do acervo antes de 2024.

Continue lendo

Artigos relacionados