Como migrar o servidor de MU de um PC para uma VPS
Passo a passo completo para tirar o seu servidor de MU do PC de casa e colocá-lo em uma VPS, com backup consistente do banco, ajuste de IPs, DNS, firewall e uma janela de migração sem perder progresso dos jogadores.
Rodar o servidor de MU no PC de casa funciona no começo — é barato e você tem controle físico da máquina. Mas conforme o projeto cresce, os limites aparecem: a energia cai e o servidor some, a internet residencial tem upload baixo e IP dinâmico, o PC precisa reiniciar para atualizações e ninguém con
Rodar o servidor de MU no PC de casa funciona no começo — é barato e você tem controle físico da máquina. Mas conforme o projeto cresce, os limites aparecem: a energia cai e o servidor some, a internet residencial tem upload baixo e IP dinâmico, o PC precisa reiniciar para atualizações e ninguém consegue jogar, e a exposição do seu IP doméstico vira um risco real de DDoS mirado na sua casa. Migrar para uma VPS resolve tudo isso de uma vez: uplink dedicado, IP fixo, energia e rede redundantes, e a possibilidade de reiniciar sem afetar a sua vida pessoal. O problema é que a migração, se feita errado, pode corromper o banco, perder progresso dos jogadores ou deixar o servidor horas fora do ar. Este guia mostra como fazer a mudança de forma consistente e com o menor tempo de indisponibilidade possível.
A migração é uma tarefa avançada porque mistura banco de dados, rede, DNS e arquivos do cliente. Se você ainda não tem intimidade com a estrutura de um MuServer, vale revisar o passo a passo de como criar servidor de MU Online antes de encarar a mudança de ambiente — a migração assume que você já entende como os componentes conversam.
Pré-requisitos
- Servidor atual funcionando no PC, com acesso ao SQL Server e à pasta do MuServer.
- VPS contratada, com Windows Server e acesso administrativo (RDP + console KVM/VNC do painel).
- Mesma versão (ou compatível) do SQL Server na VPS e no PC. Restaurar um backup de uma versão mais nova em uma mais antiga não funciona.
- Espaço em disco suficiente na VPS para o banco, o MuServer e uma margem de crescimento.
- Um domínio (recomendado) com acesso ao painel de DNS, para não amarrar o cliente a um IP.
- Uma janela de manutenção combinada com os jogadores (avise com antecedência).
- Ferramenta de transferência de arquivos (RDP com compartilhamento de disco, FTP/SFTP ou um serviço de nuvem).
Dimensionando a VPS
Escolher a VPS certa evita retrabalho. Os números abaixo são um ponto de partida (variam por provedor/versão e pelo número real de jogadores):
| Perfil | vCPU | RAM | Disco | Observação |
|---|---|---|---|---|
| Teste / dev | 2 | 4 GB | 40 GB SSD | Só para validar a migração |
| Season 6 pequeno | 4 | 8 GB | 80 GB NVMe | Até algumas centenas online |
| Season 6 médio/grande | 6-8 | 16 GB | 160 GB NVMe | Comunidade ativa, eventos cheios |
| Seasons modernas | 8+ | 16-32 GB | 200 GB+ NVMe | Cliente e banco mais pesados |
O fator mais importante costuma ser o disco: o SQL Server é sensível a I/O, então prefira NVMe/SSD. RAM insuficiente faz o banco paginar em disco e o servidor engasgar nos eventos. Deixe uma folga de CPU para picos como Castle Siege.
Visão geral da estratégia
Para minimizar o tempo offline, a migração é dividida em duas fases:
- Preparação antecipada (sem pressa): você monta a VPS inteira — SQL Server, MuServer, portas, firewall — usando uma cópia antiga do banco só para testar. Ninguém percebe, porque o servidor de produção continua no ar no PC.
- Virada final (janela curta): você para o servidor de produção, faz o backup final e consistente, restaura na VPS já pronta, ajusta os IPs e vira o DNS. Como a VPS já está toda configurada e testada, a indisponibilidade real cai para poucos minutos.
Essa separação é o que diferencia uma migração amadora (servidor fora por horas) de uma profissional (fora por minutos).
Fase 1 — Preparar a VPS com antecedência
Etapa 1: instalar a base na VPS
- Conecte na VPS por RDP e instale o SQL Server na mesma versão/edição do PC.
- Instale as dependências do MuServer (runtimes/redistributables que a sua versão exige — varia por versão).
- Copie a pasta do MuServer do PC para a VPS. Mantenha a mesma estrutura de pastas para não quebrar caminhos internos.
- Faça um backup de teste do banco atual (pode ser com o servidor rodando, pois é só para ensaio) e restaure na VPS.
Etapa 2: fazer um backup de teste do banco
No SQL Server Management Studio (SSMS) do PC, gere um backup completo:
BACKUP DATABASE [MuOnline] TO DISK = N'C:\Backups\MuOnline_teste.bak'
WITH FORMAT, INIT, NAME = N'MuOnline - Teste de Migracao', STATS = 10;
GO
Se o seu servidor usa bancos adicionais (por exemplo Me_MuOnline, Ranking, Event), faça o backup de todos. Transfira os arquivos .bak para a VPS e restaure lá:
RESTORE DATABASE [MuOnline] FROM DISK = N'C:\Backups\MuOnline_teste.bak'
WITH MOVE 'MuOnline' TO N'C:\SQLData\MuOnline.mdf',
MOVE 'MuOnline_log' TO N'C:\SQLData\MuOnline_log.ldf',
REPLACE, STATS = 10;
GO
MOVE (MuOnline, MuOnline_log) podem variar. Descubra os corretos com RESTORE FILELISTONLY FROM DISK = N'...\arquivo.bak'; antes de restaurar.Etapa 3: recriar o login do SQL e mapear o usuário
Um problema clássico após restaurar: o banco veio, mas o login do SQL que o MuServer usa não existe na VPS, ou existe com um SID diferente ("usuário órfão"). Recrie o login e realinhe:
-- Cria o login usado pelo MuServer (ajuste nome e senha reais)
CREATE LOGIN [muserver] WITH PASSWORD = 'SenhaForteAqui', CHECK_POLICY = OFF;
GO
USE [MuOnline];
GO
-- Corrige o usuario orfao, ligando ao login recem-criado
ALTER USER [muserver] WITH LOGIN = [muserver];
GO
Etapa 4: ajustar os arquivos de configuração do MuServer
Aqui está o coração da migração de rede. Vários arquivos ainda apontam para o IP do PC de casa e para as credenciais antigas do banco. Percorra e ajuste (os nomes/caminhos variam por versão):
- Conexão com o banco: arquivos como
MuServer\GameServer\Data\...ODBCou.inide conexão. Aponte para127.0.0.1/localhostna VPS (o banco está na mesma máquina) e para o login/senha corretos. - ConnectServer / lista de servidores: troque qualquer IP público antigo pelo novo IP público da VPS. Se for usar domínio, muitos setups permitem colocar o domínio no arquivo que o cliente lê.
- Bind de escuta: confirme que os serviços escutam em
0.0.0.0(todas as interfaces) para aceitar conexões externas.
Etapa 5: abrir as portas e o firewall na VPS
Replique na VPS o esquema de portas do servidor: ConnectServer, GameServers e, se o site estiver junto, web. Bloqueie o SQL e as portas internas. O detalhamento por grupo (game/connect/web) está no tutorial de firewall por porta; o essencial é liberar só o necessário para a internet e restringir o RDP ao seu IP.
Etapa 6: teste de ponta a ponta na VPS
Com a cópia de teste rodando na VPS:
- Suba os processos (DataServer, ConnectServer, GameServer) e confira nos logs se conectam no banco sem erro.
- Edite temporariamente o seu cliente para apontar ao IP da VPS e tente logar, criar personagem, entrar num mapa, salvar e reconectar.
- Valide um evento simples e a gravação no banco (crie um personagem de teste e confirme que ele persiste após reiniciar o servidor).
Se tudo funcionar com a cópia de teste, a VPS está pronta. Agora é só a virada final com os dados reais.
Fase 2 — A virada final
Etapa 7: entrar em manutenção e parar o servidor de produção
No horário combinado:
- Avise os jogadores (mensagem no jogo/Discord) e coloque o servidor em manutenção.
- Pare todos os processos do MuServer no PC (GameServer, ConnectServer, DataServer). Isso garante que ninguém mais grave no banco.
- Confirme que não há sessões ativas antes de seguir.
Etapa 8: backup final consistente
Com o servidor parado, gere o backup definitivo — este é o que carrega o progresso real:
BACKUP DATABASE [MuOnline] TO DISK = N'C:\Backups\MuOnline_final.bak'
WITH FORMAT, INIT, NAME = N'MuOnline - Migracao Final', CHECKSUM, STATS = 10;
GO
Repita para todos os bancos auxiliares. O CHECKSUM ajuda a detectar corrupção na hora do restore. Transfira os .bak para a VPS.
Etapa 9: restaurar na VPS e religar
- Restaure os bancos finais na VPS (mesmo comando
RESTOREda Etapa 2, agora com os.bakfinais eREPLACE). - Reexecute o ajuste de usuário órfão (Etapa 3) se necessário.
- Suba os processos do MuServer na VPS e acompanhe os logs.
Etapa 10: virar o DNS (ou distribuir o novo cliente)
- Se usa domínio: altere o registro A do domínio para o novo IP da VPS. Como a propagação de DNS leva tempo, use um TTL baixo (ex.: 300s) configurado com antecedência para acelerar a virada.
- Se o cliente aponta para IP fixo: você precisará distribuir um patch/launcher com o novo IP. Por isso o domínio é tão recomendado — evita esse retrabalho toda vez.
Etapa 11: validação pós-migração e desligamento do PC
- Conecte com um cliente real e valide login, criação, movimentação, save e reconexão.
- Peça a alguns jogadores de confiança para testar antes de reabrir para todos.
- Confirme o funcionamento de eventos, ranking e loja/site.
- Mantenha o PC antigo intacto por alguns dias como plano de retorno, sem religar o servidor nele (para não gerar dois bancos divergentes). Só desative de vez depois que a VPS provar estabilidade.
Erros comuns e soluções
| Sintoma | Causa provável | Solução |
|---|---|---|
| Perda de progresso após migrar | Backup feito com o servidor rodando | Refaça com o servidor parado (backup consistente) e restaure de novo |
| MuServer não conecta no banco | Login inexistente ou usuário órfão | Recrie o login e rode ALTER USER ... WITH LOGIN |
| Jogadores não veem a lista de servidores | IP antigo ainda no ConnectServer/lista | Atualize todos os arquivos para o novo IP/domínio |
| Cliente conecta local mas não externo | Serviços escutando só em 127.0.0.1 | Ajuste o bind para 0.0.0.0 e abra as portas no firewall |
| Restore falha por versão | SQL da VPS mais antigo que o do PC | Use a mesma versão/edição ou superior na VPS |
| DNS demora a apontar para a VPS | TTL alto no registro A | Baixe o TTL antes da virada; aguarde a propagação |
| SQL lento nos eventos | Disco lento ou pouca RAM na VPS | Migre para NVMe/SSD e aumente a RAM dedicada ao SQL |
Checklist de lançamento
- VPS dimensionada (CPU, RAM, disco NVMe) para a season e o público
- SQL Server na VPS na mesma versão/edição (ou superior) do PC
- MuServer copiado com a mesma estrutura de pastas
- Backup de teste restaurado e servidor validado na VPS (Fase 1)
- Login do SQL recriado e usuário órfão corrigido
- Todos os arquivos de configuração apontando para o novo IP/domínio
- Serviços escutando em 0.0.0.0 e portas abertas no firewall
- RDP restrito ao meu IP e console KVM/VNC testado
- TTL do DNS reduzido com antecedência
- Jogadores avisados da janela de manutenção
- Servidor de produção PARADO antes do backup final
- Backup final consistente (com CHECKSUM) de todos os bancos
- Restore final aplicado e servidor no ar na VPS
- DNS virado (ou patch/launcher distribuído)
- Validação pós-migração com jogadores de confiança
- PC antigo mantido intacto por alguns dias como rollback
Migrar do PC para a VPS é, no fundo, um exercício de disciplina: preparar tudo com calma, congelar o servidor no momento certo, fazer um backup consistente e virar o DNS com o ambiente já testado. Feito nessa ordem, a mudança acontece com poucos minutos de indisponibilidade e sem perder um único personagem — e o seu servidor ganha a estabilidade e a proteção que a internet residencial nunca poderia oferecer.
Perguntas frequentes
Vou perder o progresso dos jogadores na migração?
Não, se você fizer o backup do banco de dados com o servidor parado (backup a frio ou consistente). O erro clássico é copiar o banco com o servidor rodando: contas continuam salvando e o backup fica desatualizado. Congele o servidor, faça o backup, migre e só então libere.
Qual configuração de VPS eu preciso para rodar MU Online?
Depende da season e do número de jogadores. Como exemplo (varia por provedor/versão), um servidor Season 6 pequeno roda bem com 4 vCPU, 8 GB de RAM, disco SSD/NVMe e Windows Server. Servidores maiores ou seasons modernas pedem mais RAM e CPU. Priorize disco rápido para o SQL Server.
Preciso trocar os IPs em algum arquivo depois de migrar?
Sim. O IP do PC de casa aparece em vários lugares: ConnectServer, lista de servidores, arquivos do cliente e configuração do banco. Todos precisam apontar para o novo IP público da VPS (ou um domínio via DNS). Esquecer um só faz o jogo não conectar.
Melhor usar IP direto ou um domínio (DNS) no cliente?
Um domínio é muito melhor. Se você apontar o cliente para um domínio via DNS, futuras trocas de servidor/IP não exigem redistribuir o cliente: basta atualizar o registro DNS. Com IP fixo no cliente, cada mudança obriga todos os jogadores a baixar um patch novo.
Como faço a migração sem deixar o servidor muito tempo offline?
Prepare tudo na VPS com antecedência (SQL, MuServer instalado, portas abertas) usando uma cópia antiga do banco para testar. No dia, você só para o servidor, faz o backup final, restaura na VPS já pronta e vira o DNS. A janela real de indisponibilidade cai para minutos em vez de horas.