Como configurar o Windows Server do zero para MU Online
Configure um Windows Server limpo para MU Online: sistema, runtimes, SQL Server, diretórios, firewall e serviços na ordem correta até o servidor subir estável.
Um Windows Server recém-provisionado é uma folha em branco: sem runtimes, sem banco de dados, com serviços inúteis ligados e um firewall que ou bloqueia tudo ou nada. Transformar essa máquina limpa em uma base sólida para MU Online exige seguir uma ordem específica — sistema, runtimes, SQL Server, d
Um Windows Server recém-provisionado é uma folha em branco: sem runtimes, sem banco de dados, com serviços inúteis ligados e um firewall que ou bloqueia tudo ou nada. Transformar essa máquina limpa em uma base sólida para MU Online exige seguir uma ordem específica — sistema, runtimes, SQL Server, diretórios, arquivos de configuração, firewall e inicialização — porque cada etapa depende da anterior. Pular uma delas costuma resultar no clássico GameServer que abre e fecha em um segundo. Este guia percorre o processo completo, do primeiro acesso RDP até os processos do servidor subindo de forma estável. Caminhos, versões e portas aqui são exemplos e variam conforme o pacote e a versão do MU.
Pré-requisitos
- VPS ou máquina com Windows Server 2019/2022 limpo e acesso Administrador.
- Acesso RDP (IP público, usuário e senha do provedor).
- Instalador do SQL Server compatível (2017 ou 2019 são seguros para servidores modernos).
- SQL Server Management Studio (SSMS) para administrar o banco.
- Pacote do MuServer correspondente à versão desejada (ConnectServer, DataServer, GameServer, EventServer) e os scripts
.sqlde criação/restauração do banco. - Pacotes Visual C++ Redistributable (2010, 2013, 2015-2022, x86 e x64).
- Noção da estrutura geral do servidor — se ainda não a tem, revise o guia de como criar um servidor de MU Online.
Parte 1 — Preparação do sistema operacional
Passo 1: Primeiro acesso e identificação da máquina
Conecte via RDP com o usuário Administrator. Abra o PowerShell como Administrador e renomeie a máquina para facilitar a leitura de logs, além de ajustar o fuso horário:
# Renomear o servidor (reinicia ao final)
Rename-Computer -NewName "MU-PROD-01" -Restart
# Após o reboot, definir fuso horário do Brasil (UTC-3)
Set-TimeZone -Id "E. South America Standard Time"
# Conferir build e versão do Windows
[System.Environment]::OSVersion.Version
Passo 2: Atualizar o Windows antes de instalar qualquer coisa
Aplique as atualizações pendentes primeiro — instalar o SQL Server sobre um sistema desatualizado pode gerar falhas de dependência. Depois, configure o Windows Update para não reiniciar sozinho, evitando que a máquina caia com jogadores online.
# Definir para baixar e notificar, sem reinício automático
# (via Política de Grupo: gpedit.msc → Windows Update)
# Configuração do Computador → Modelos Administrativos →
# Componentes do Windows → Windows Update →
# "Configurar Atualizações Automáticas" = opção 3 (baixar e notificar)
Passo 3: Desabilitar serviços desnecessários
Um servidor de jogo não precisa de indexação de busca, impressão ou pré-carregamento de apps. Desligá-los libera CPU e I/O:
# Windows Search — I/O de disco desnecessário
Set-Service -Name "WSearch" -StartupType Disabled
Stop-Service -Name "WSearch" -Force
# SysMain (Superfetch) — inútil em servidor
Set-Service -Name "SysMain" -StartupType Disabled
Stop-Service -Name "SysMain" -Force
# Print Spooler — sem impressora em VPS
Set-Service -Name "Spooler" -StartupType Disabled
Stop-Service -Name "Spooler" -Force
Passo 4: Instalar os runtimes Visual C++
Os binários do MuServer são compilados esperando runtimes específicos. A ausência deles é a causa número um do GameServer que fecha ao abrir. Instale todos na seguinte cobertura, x86 e x64:
- Visual C++ 2010 Redistributable
- Visual C++ 2013 Redistributable
- Visual C++ 2015-2022 Redistributable
Passo 5: Adicionar exclusões no Windows Defender
Muitos executáveis de MuServer são detectados como falso positivo. Em vez de desligar o antivírus, exclua apenas as pastas e processos do servidor:
Add-MpPreference -ExclusionPath "C:\MuServer"
Add-MpPreference -ExclusionProcess "GameServer.exe"
Add-MpPreference -ExclusionProcess "ConnectServer.exe"
Add-MpPreference -ExclusionProcess "DataServer.exe"
Add-MpPreference -ExclusionProcess "EventServer.exe"
Parte 2 — Instalação e configuração do SQL Server
Passo 6: Instalar o SQL Server
Execute o instalador escolhendo a instalação Personalizada e marque, no mínimo, Database Engine Services. Configure a instância como Default Instance (MSSQLSERVER), o que dispensa especificar nome de instância nas strings de conexão do MuServer. Durante a instalação, selecione o modo de autenticação mista (SQL Server e Windows) e defina uma senha forte para o usuário sa.
Passo 7: Habilitar TCP/IP e a porta 1433
Abra o SQL Server Configuration Manager:
- Expanda SQL Server Network Configuration → Protocols for MSSQLSERVER.
- Habilite TCP/IP (botão direito → Enable).
- Duplo clique em TCP/IP → aba IP Addresses → em IPAll, defina TCP Port =
1433. - Reinicie o serviço em
services.msc→ SQL Server (MSSQLSERVER).
Passo 8: Limitar a memória do SQL Server
Sem limite, o SQL Server consome quase toda a RAM e deixa o GameServer sem recursos. Ajuste conforme o total da VPS (o exemplo abaixo é para uma máquina de 4 GB):
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
-- Reservar no máximo 2 GB para o SQL em uma VPS de 4 GB
EXEC sp_configure 'max server memory', 2048;
RECONFIGURE;
Passo 9: Criar o banco e o usuário dedicado
Nunca use o sa na string de conexão do servidor. Crie um login exclusivo:
-- Banco principal com a collation esperada pelo MU
CREATE DATABASE MuOnline COLLATE Latin1_General_CI_AS;
GO
CREATE DATABASE MuOnlineLog COLLATE Latin1_General_CI_AS;
GO
-- Login dedicado ao GameServer
CREATE LOGIN muserver_user WITH PASSWORD = 'Senh@ForteExemplo2024',
DEFAULT_DATABASE = MuOnline,
CHECK_EXPIRATION = OFF,
CHECK_POLICY = OFF;
GO
USE MuOnline;
GO
CREATE USER muserver_user FOR LOGIN muserver_user;
EXEC sp_addrolemember 'db_owner', 'muserver_user';
GO
Passo 10: Restaurar ou criar as tabelas do MuServer
Se o pacote traz um arquivo .bak, restaure-o; se traz scripts .sql, execute-os na ordem indicada pelo pacote. O caminho de dados varia por versão do SQL — o exemplo usa SQL Server 2019 (MSSQL15); em 2017 seria MSSQL14.
USE master;
GO
RESTORE DATABASE MuOnline
FROM DISK = 'C:\MuServer\backup\MuOnline.bak'
WITH MOVE 'MuOnline' TO 'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\MuOnline.mdf',
MOVE 'MuOnline_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\MuOnline_log.ldf',
REPLACE, STATS = 10;
GO
Parte 3 — Organização dos arquivos do servidor
Passo 11: Estrutura de diretórios
Mantenha tudo sob uma raiz única, o que simplifica exclusões de antivírus, backups e permissões:
C:\MuServer\
├── ConnectServer\
│ └── ConnectServer.exe
├── DataServer\
│ └── DataServer.exe
├── EventServer\
│ └── EventServer.exe
├── GameServer\
│ ├── Data\
│ ├── Logs\
│ └── GameServer.exe
├── backup\
└── StartAll.bat
Passo 12: Configurar as strings de conexão
Ajuste os arquivos .ini para apontar ao SQL local. Os nomes exatos variam por pacote (DBConfig.ini, DBConnectConfig.ini, DSConfig.ini). Exemplo do GameServer:
[DBCONFIG]
DBServer=127.0.0.1
DBPort=1433
DBName=MuOnline
DBUser=muserver_user
DBPass=Senh@ForteExemplo2024
E do DataServer:
[DataServer]
ServerCode=0
DB_Ip=127.0.0.1
DB_Port=1433
DB_Name=MuOnline
DB_User=muserver_user
DB_Pass=Senh@ForteExemplo2024
Passo 13: Apontar o ConnectServer para o IP público
O cliente conecta o GameServer pelo IP que o ConnectServer informa. Use o IP público da VPS, nunca 127.0.0.1:
[ServerInfo0]
ServerCode=0
ServerName=Lorencia
GameServerIPAddress=SEU_IP_PUBLICO
GameServerPort=55901
Parte 4 — Firewall e portas
Passo 14: Criar as regras de entrada
Abra apenas as portas necessárias. As portas exatas variam por pacote — confirme nos .ini antes de aplicar:
New-NetFirewallRule -DisplayName "MU-ConnectServer" -Direction Inbound -Protocol TCP -LocalPort 44405 -Action Allow
New-NetFirewallRule -DisplayName "MU-GameServer" -Direction Inbound -Protocol TCP -LocalPort 55901-55910 -Action Allow
New-NetFirewallRule -DisplayName "MU-DataServer" -Direction Inbound -Protocol TCP -LocalPort 55960 -Action Allow
New-NetFirewallRule -DisplayName "MU-WebPanel" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
127.0.0.1) e dispensa regra de firewall. Expor a 1433 é uma das falhas mais exploradas em servidores de MU.Lembre-se também do firewall do provedor no painel da VPS, que é separado do firewall do Windows. As mesmas portas precisam estar liberadas lá.
Parte 5 — Inicialização e verificação
Passo 15: Script de inicialização na ordem correta
A ordem é obrigatória: DataServer → EventServer → ConnectServer → GameServer. Crie C:\MuServer\StartAll.bat:
@echo off
echo Iniciando DataServer...
start "" "C:\MuServer\DataServer\DataServer.exe"
timeout /t 5 /nobreak
echo Iniciando EventServer...
start "" "C:\MuServer\EventServer\EventServer.exe"
timeout /t 3 /nobreak
echo Iniciando ConnectServer...
start "" "C:\MuServer\ConnectServer\ConnectServer.exe"
timeout /t 3 /nobreak
echo Iniciando GameServer...
start "" "C:\MuServer\GameServer\GameServer.exe"
echo Todos os servicos iniciados.
Execute sempre como Administrador.
Passo 16: Verificar portas e conexão com o banco
# Confirmar que as portas estão ouvindo
netstat -ano | findstr ":44405 :55901 :55960"
-- Confirmar integridade do banco (a tabela varia por versão)
USE MuOnline;
GO
SELECT * FROM T_CommonServerInfo;
GO
Erros comuns e soluções
| Erro | Causa provável | Solução |
|---|---|---|
| GameServer abre e fecha | Runtime VC++ ausente | Instalar todos os Visual C++ (x86 e x64) |
| GameServer não conecta ao banco | TCP/IP desabilitado ou credenciais erradas | Habilitar TCP/IP, revisar os .ini e o login SQL |
| "Cannot connect to DataServer" | Ordem de inicialização errada | Subir DataServer antes do GameServer |
| Cliente não entra no jogo | IP interno no ConnectServer | Trocar 127.0.0.1 pelo IP público |
| SQL consome toda a RAM | Sem limite de memória | Definir max server memory |
| Falso positivo do antivírus | Defender bloqueando .exe | Adicionar exclusões de pasta e processo |
| Portas fechadas externamente | Firewall do provedor | Liberar portas no painel da VPS também |
| Servidor reinicia sozinho | Windows Update automático | Configurar para baixar e notificar |
Checklist de lançamento
- Windows Server renomeado e fuso horário ajustado
- Atualizações aplicadas e reinício automático desativado
- Serviços desnecessários desabilitados
- Runtimes Visual C++ (x86 e x64) instalados
- Exclusões do Windows Defender adicionadas
- SQL Server instalado em modo de autenticação mista
- TCP/IP habilitado e porta 1433 definida
- Memória do SQL Server limitada
- Banco criado/restaurado e login dedicado configurado
- Estrutura de diretórios organizada em C:\MuServer
- Strings de conexão dos
.iniajustadas - ConnectServer apontando para o IP público
- Regras de firewall criadas (Windows e provedor)
- Script StartAll.bat na ordem correta
- Portas verificadas com netstat e banco íntegro
Conclusão
Configurar o Windows Server do zero para MU Online é uma sequência de dependências: o sistema precisa dos runtimes, o GameServer precisa do banco, o banco precisa do TCP/IP habilitado, e todo o conjunto precisa iniciar na ordem certa. Seguindo os passos deste guia — preparação do sistema, SQL Server otimizado, arquivos organizados, firewall enxuto e inicialização sequencial — você chega a um servidor que sobe estável e aceita conexões. A partir daqui, o próximo movimento natural é blindar essa base contra ataques com um processo de hardening completo, cobrindo RDP, contas, atualizações e monitoramento.
Perguntas frequentes
Qual versão do Windows Server usar para MU Online?
Windows Server 2019 ou 2022 são as escolhas mais seguras hoje: têm bom suporte, rodam os runtimes modernos e são compatíveis com a maioria dos pacotes MuServer. Versões muito antigas como 2008 R2 ainda funcionam com pacotes legados, mas ficam sem atualizações de segurança. A compatibilidade varia por pacote.
Por que o GameServer fecha assim que abre?
Na esmagadora maioria dos casos é runtime do Visual C++ ausente ou banco de dados inacessível. Instale os pacotes Visual C++ (2010, 2013, 2015-2022) em x86 e x64, confirme que o SQL Server está rodando com TCP/IP habilitado e que a string de conexão nos arquivos .ini está correta. Cheque sempre o log em GameServer\\Logs.
Preciso instalar o SQL Server na mesma máquina do GameServer?
Não é obrigatório, mas em servidores pequenos e médios é o padrão por simplicidade e latência zero entre banco e jogo. Quando o SQL e o GameServer disputam demais os recursos, separar em duas máquinas ajuda. A decisão depende do porte do servidor e da VPS contratada.
Qual a ordem correta de iniciar os serviços do MU?
Primeiro o DataServer, depois o EventServer (se houver), em seguida o ConnectServer e por último o GameServer. Iniciar fora dessa ordem faz o GameServer não encontrar o DataServer e fechar. Um script .bat com pausas entre cada etapa garante a sequência.
Devo desativar o Windows Defender no servidor?
Não. VPS com IP público são varridas por scanners o tempo todo. Em vez de desativar a proteção, adicione exclusões de pasta e de processo para os executáveis do MuServer, evitando falsos positivos sem abrir mão da segurança. Reforce depois com um hardening dedicado.