Como restaurar o banco e mover o servidor de MU Online
Guia completo para restaurar backup do banco de dados e mover o servidor de MU Online para outra VPS — com passo a passo para SQL Server, ODBC e MuServer sem perder dados dos jogadores.
Mover o servidor de MU Online para outra VPS é uma das operações mais críticas na administração do servidor. Feita corretamente, os jogadores não perdem nenhum dado. Feita errado, você pode perder tudo.
Mover o servidor de MU Online para outra VPS é uma das operações mais críticas na administração do servidor. Feita corretamente, os jogadores não perdem nenhum dado. Feita errado, você pode perder tudo.
O que precisa ser movido
| Componente | Como mover | Criticidade |
|---|---|---|
| Banco de dados (MuOnline) | Backup .bak → Restore | Crítico — contém todos os dados |
| Banco de dados (MuEvent) | Backup .bak → Restore | Importante |
| Banco de dados (MuCastle) | Backup .bak → Restore | Importante |
| Pasta do MuServer | Copiar via RDP/FileZilla | Importante |
| DataServer.ini | Copiar + ajustar DSN | Importante |
| GameServer.ini | Copiar + ajustar IP | Importante |
| ConnectServer.ini | Copiar | Importante |
| Arquivos de Data/ | Copiar pasta inteira | Importante |
Passo 1 — Anunciar manutenção e desligar servidor
NUNCA faça backup enquanto há jogadores online. Dados em memória que não foram salvos no banco serão perdidos.
Avisar os jogadores
Via chat do jogo (/notice):
/notice ⚠️ MANUTENÇÃO em 15 minutos! Salve seus personagens e deslogue. O servidor voltará em 2 horas.
/notice ⚠️ 10 minutos para MANUTENÇÃO! Deslogem para não perder dados.
/notice ⚠️ 5 minutos. Servidor encerrando para manutenção. Boa sorte!
Forçar desconexão de todos os jogadores
-- No SSMS, forçar todos os personagens offline no banco
UPDATE Character SET ConnectStat = 0;
GO
-- Verificar que está zerado
SELECT COUNT(*) FROM Character WHERE ConnectStat = 1;
-- Deve retornar 0
Fechar todos os processos do MuServer
:: No prompt de comando da VPS antiga
taskkill /IM GameServer.exe /F
taskkill /IM ConnectServer.exe /F
taskkill /IM JoinServer.exe /F
taskkill /IM DataServer.exe /F
Passo 2 — Criar o backup completo
Backup via SQL (T-SQL)
-- EXECUTAR NO SSMS DA VPS ANTIGA
-- Backup do banco principal (mais importante)
BACKUP DATABASE MuOnline
TO DISK = 'C:\Backups\MuOnline_migracao.bak'
WITH FORMAT,
COMPRESSION,
CHECKSUM,
DESCRIPTION = 'Backup pre-migracao ' + CONVERT(VARCHAR, GETDATE(), 103),
STATS = 10;
GO
-- Backup dos outros bancos
BACKUP DATABASE MuEvent
TO DISK = 'C:\Backups\MuEvent_migracao.bak'
WITH FORMAT, COMPRESSION, STATS = 5;
BACKUP DATABASE MuCastle
TO DISK = 'C:\Backups\MuCastle_migracao.bak'
WITH FORMAT, COMPRESSION, STATS = 5;
GO
-- Verificar integridade ANTES de copiar
RESTORE VERIFYONLY FROM DISK = 'C:\Backups\MuOnline_migracao.bak';
-- Deve mostrar: "The backup set on file 1 is valid."
Verificar tamanho dos backups
# PowerShell na VPS antiga
Get-Item C:\Backups\*.bak | Select-Object Name,
@{Name="MB";Expression={[math]::Round($_.Length/1MB,1)}}
Passo 3 — Transferir os backups
Via FileZilla SFTP
- Conecte a VPS nova no FileZilla (SFTP, porta 22 ou RDP share);
- No painel esquerdo (local = VPS antiga via RDP ou local), navegue até
C:\Backups\; - No painel direito (remoto = VPS nova), navegue até
C:\Backups\; - Arraste os arquivos
.bakdo painel esquerdo para o direito; - Aguarde o upload completar.
Via RDP Clipboard (para arquivos pequenos < 1 GB)
Se ambas as VPSs têm RDP, você pode:
- RDP na VPS antiga → copiar o arquivo;
- Conectar na VPS nova via RDP dentro da sessão;
- Colar no destino.
Para arquivos grandes, use FileZilla SFTP ou scp via WSL.
Via SCP (linha de comando)
# Do servidor antigo para o novo via SCP
scp -P 22 root@VPS-ANTIGA-IP:C:/Backups/MuOnline_migracao.bak root@VPS-NOVA-IP:/backups/
Passo 4 — Preparar a nova VPS
Na nova VPS, você precisa ter:
- SQL Server instalado (mesma versão ou mais nova);
- SSMS instalado para gerenciar o banco;
- ODBC 32-bit configurado;
- MuServer copiado (mesma pasta da VPS antiga, ou copiada via FileZilla).
Se a nova VPS tem SQL Server mais novo
-- Se migrando de SQL 2008 para SQL 2017, restaurar normalmente
-- e depois atualizar compatibilidade
-- Após restaurar:
ALTER DATABASE MuOnline SET COMPATIBILITY_LEVEL = 140; -- SQL 2017
-- ou 130 para SQL 2016, 120 para SQL 2014, 110 para SQL 2012, 100 para SQL 2008
Passo 5 — Restaurar o banco na nova VPS
-- EXECUTAR NO SSMS DA VPS NOVA
-- Verificar nomes dos arquivos lógicos no backup
RESTORE FILELISTONLY FROM DISK = 'C:\Backups\MuOnline_migracao.bak';
-- Anote os nomes em "LogicalName": geralmente "MuOnline" e "MuOnline_log"
-- Restaurar banco principal
RESTORE DATABASE MuOnline
FROM DISK = 'C:\Backups\MuOnline_migracao.bak'
WITH
MOVE 'MuOnline' TO 'C:\SQL\Data\MuOnline.mdf',
MOVE 'MuOnline_log' TO 'C:\SQL\Log\MuOnline_log.ldf',
STATS = 10,
REPLACE;
-- Restaurar outros bancos
RESTORE DATABASE MuEvent
FROM DISK = 'C:\Backups\MuEvent_migracao.bak'
WITH
MOVE 'MuEvent' TO 'C:\SQL\Data\MuEvent.mdf',
MOVE 'MuEvent_log' TO 'C:\SQL\Log\MuEvent_log.ldf',
REPLACE;
RESTORE DATABASE MuCastle
FROM DISK = 'C:\Backups\MuCastle_migracao.bak'
WITH
MOVE 'MuCastle' TO 'C:\SQL\Data\MuCastle.mdf',
MOVE 'MuCastle_log' TO 'C:\SQL\Log\MuCastle_log.ldf',
REPLACE;
Se o caminho dos arquivos .mdf não existir
-- Descobrir onde o SQL Server da nova VPS armazena arquivos
SELECT physical_name FROM sys.master_files WHERE database_id = 1;
-- Use o mesmo caminho base para os bancos restaurados
Após restaurar — verificar sanidade dos dados
-- Verificar que os dados estão intactos
USE MuOnline;
SELECT COUNT(*) AS Contas FROM MEMB_INFO;
SELECT COUNT(*) AS Personagens FROM Character;
SELECT COUNT(*) AS Itens FROM Character_Items;
-- Deve retornar os mesmos valores que tinham na VPS antiga
Passo 6 — Configurar ODBC na nova VPS
1. Abrir C:\Windows\SysWOW64\odbcad32.exe (NÃO o padrão 64-bit!)
2. System DSN → Add
3. Selecionar driver correto:
- SQL 2017/2019: ODBC Driver 17 for SQL Server
- SQL 2014/2016: SQL Server Native Client 11.0
4. Name: MuOnline
Server: (local) ou 127.0.0.1
5. SQL Server authentication
Login: mu_app (criar no novo SQL se não existir)
Password: MuApp@2026!
6. Change default database: MuOnline
7. Test Data Source → deve retornar "TESTS COMPLETED SUCCESSFULLY"
8. Repetir para MuEvent e MuCastle
Recriar o usuário SQL na nova instância
-- Na nova VPS, criar o usuário mu_app
CREATE LOGIN mu_app WITH PASSWORD = 'MuApp@2026!', CHECK_POLICY = OFF;
USE MuOnline; CREATE USER mu_app FROM LOGIN mu_app; EXEC sp_addrolemember 'db_owner', 'mu_app';
USE MuEvent; CREATE USER mu_app FROM LOGIN mu_app; EXEC sp_addrolemember 'db_owner', 'mu_app';
USE MuCastle; CREATE USER mu_app FROM LOGIN mu_app; EXEC sp_addrolemember 'db_owner', 'mu_app';
Passo 7 — Atualizar configurações do MuServer
O único arquivo que precisa ser atualizado é o GameServer.ini — o IP público muda:
; GameServer.ini na nova VPS
[Network]
GameServerIP=NOVO_IP_DA_VPS ; ← atualizar para o IP da nova VPS
GameServerPort=55901
; Resto permanece igual
O Setup.ini do cliente também precisa ser atualizado com o novo IP, mas isso afeta os jogadores — eles precisarão baixar uma nova versão do cliente ou de um arquivo de patch.
Atualizar DNS (se tiver domínio)
Se você usa jogo.meuservidor.com.br:
- Acesse o painel do seu domínio (Registro.br ou provedor);
- Altere o registro A de
jogopara o novo IP; - Aguarde até 24h para propagação DNS.
Durante a propagação, os jogadores que já tinham o domínio em cache ainda se conectarão ao IP antigo.
Passo 8 — Testar antes de anunciar
1. Abrir todos os processos do MuServer na nova VPS (StartAll.bat)
2. Verificar no tasklist que todos estão rodando
3. Testar com UM personagem de teste:
- Login funcionando
- Personagem aparece com dados corretos
- EXP, drop, resets funcionando
- Inventário intacto
4. Verificar os bancos de evento (MuEvent, MuCastle)
5. Verificar logs do GameServer por erros
6. Só então anunciar a reabertura
Checklist de migração
PRÉ-MIGRAÇÃO
[ ] Manutenção anunciada para os jogadores
[ ] GameServer desligado — nenhum jogador online
[ ] ConnectStat atualizado para 0 no banco
[ ] Backup feito de MuOnline, MuEvent, MuCastle
[ ] Backup verificado com RESTORE VERIFYONLY
[ ] Tamanho dos backups anotado
NOVA VPS
[ ] SQL Server instalado e configurado
[ ] SSMS instalado
[ ] Backups transferidos para C:\Backups\
[ ] Bancos restaurados com sucesso
[ ] Contagem de personagens/contas confere com original
[ ] Usuário mu_app criado e com permissões
[ ] ODBC 32-bit (SysWOW64\odbcad32.exe) configurado
[ ] DSNs testadas (TESTS COMPLETED SUCCESSFULLY)
MUSERVER
[ ] Pasta copiada para C:\MuServer\
[ ] GameServer.ini atualizado com novo IP
[ ] StartAll.bat funcionando
[ ] Todos os 4 processos rodando
REDE
[ ] Porta 44405 aberta no firewall da nova VPS
[ ] Porta 55901 aberta
[ ] DNS atualizado (se usar domínio)
[ ] Cliente de teste conectando na nova VPS
PÓS-MIGRAÇÃO
[ ] Teste completo com personagem de teste
[ ] Banco da VPS antiga mantido por 7 dias (segurança)
[ ] Backup automático configurado na nova VPS
[ ] Reabertura anunciada para os jogadores
Perguntas frequentes
Quanto tempo leva para mover o servidor para outra VPS?
Em média 2-4 horas: 30-60 min para fazer o backup e transferir, 30 min para instalar SQL na nova VPS, 30 min para restaurar e configurar, 30 min para testar.
Os jogadores perdem dados ao mover o servidor?
Não, se o backup for feito no momento certo. Recomenda-se anunciar manutenção, desligar o GameServer, fazer o backup e só então mover. Assim não há jogadores conectados durante a migração.
É possível mover apenas o banco, sem reinstalar o MuServer?
Sim — você pode copiar os arquivos do MuServer (pasta inteira) via RDP ou FTP, sem precisar reconfigurá-los. O banco é o único componente que precisa de backup/restore formal.
Como mover de SQL Server 2008 para SQL Server 2017?
Faça o backup em SQL 2008, restaure no SQL 2017 e altere o nível de compatibilidade para 140 com ALTER DATABASE MuOnline SET COMPATIBILITY_LEVEL = 140.