Como configurar um servidor de MU Online no MuEMU (Season 6)
Monte um servidor de MU Online Season 6 usando o emulador MuEMU: banco de dados SQL Server, ConnectServer, JoinServer, GameServer e cliente Main. Ajuste IPs, portas, experiência, drop e teste tudo em jogo antes de abrir.
Montar um servidor de MU Online Season 6 com o MuEMU é o caminho mais comum para quem está começando: a base é amplamente documentada, roda em Windows e usa Microsoft SQL Server, o que facilita achar tutoriais, correções e suporte da comunidade. Mas "colocar no ar" envolve orquestrar quatro peças qu
Montar um servidor de MU Online Season 6 com o MuEMU é o caminho mais comum para quem está começando: a base é amplamente documentada, roda em Windows e usa Microsoft SQL Server, o que facilita achar tutoriais, correções e suporte da comunidade. Mas "colocar no ar" envolve orquestrar quatro peças que precisam conversar entre si — banco de dados, ConnectServer, JoinServer e GameServer — mais um cliente Main editado para apontar ao seu servidor. Errar um IP, uma porta ou uma string de conexão é o motivo número um de "o servidor não abre" ou "trava no login". Este tutorial percorre a montagem inteira, do banco ao teste em jogo, com os pontos onde as revisões do MuEMU divergem. Se você ainda não tem o pacote base, comece pelo tutorial de criação de servidor de MU e volte aqui para a configuração fina.
Visão geral da arquitetura
Um servidor de MU Season 6 no MuEMU tem, no mínimo, cinco componentes rodando juntos:
- SQL Server — guarda contas, personagens, ranking e configurações persistentes (bancos
MuOnline,Me_MuOnlineeRanking). - JoinServer (DataServer) — ponte entre o jogo e o banco de contas/personagens.
- ConnectServer — a lista de servidores que aparece no cliente; roteia o jogador ao GameServer certo.
- GameServer — o mundo em si: mapas, mobs, drop, comércio, eventos.
- Cliente Main — o
Main.exeque o jogador executa, apontado para o seu ConnectServer.
O fluxo de login é: o cliente fala com o ConnectServer → escolhe o servidor → o GameServer valida a conta via JoinServer → o JoinServer consulta o SQL Server. Se qualquer elo estiver caído ou mal configurado, o login falha em algum ponto dessa cadeia.
Pré-requisitos
- Windows (Server ou 10/11) para o servidor. Para teste local, sua própria máquina serve.
- Microsoft SQL Server instalado (2014/2017/2019/2022 ou Express) e o SQL Server Management Studio (SSMS).
- Pacote base do MuEMU Season 6 (Server Files) e o cliente Main correspondente.
- Visual C++ Redistributable (várias versões — 2010, 2013, 2015+) instalados; a falta deles causa erro ao abrir os executáveis.
- Conhecimento básico de IP/porta e firewall do Windows.
- Backup de todo o pacote antes de começar a editar.
> Trabalhe sempre com uma cópia dos server files. Um arquivo de configuração corrompido derruba o serviço no boot, e sem backup você reinstala tudo.
Arquivos e componentes envolvidos
Os nomes exatos variam por revisão do MuEMU, mas a estrutura é sempre parecida. Os principais:
| Componente | Executável (exemplo) | Configuração (exemplo) |
|---|---|---|
| Banco de dados | — | Scripts .sql / arquivos .mdf/.ldf |
| JoinServer | JoinServer.exe | JoinServerStartUp.dat |
| ConnectServer | ConnectServer.exe | ConnectServerList.dat / ServerList.dat |
| GameServer | GameServer.exe | GameServerInfo (Data/), CommonServer.dat |
| Cliente | Main.exe | ServerList.bmd / launcher |
> "Varia por emulador/revisão": alguns pacotes chamam o JoinServer de DataServer, e as chaves de IP ficam em arquivos com nomes diferentes. Sempre confira os arquivos que vieram no seu pacote em vez de assumir os nomes deste tutorial.
Passo 1 — Preparar o SQL Server e restaurar o banco
- Instale o SQL Server em modo de autenticação mista (SQL Server e Windows). Isso permite usar o usuário
sacom senha, que é o que o MuEMU costuma esperar. - Defina e anote a senha do
sa— ela vai nas strings de conexão do JoinServer e do GameServer. - Abra o SSMS e conecte no seu servidor SQL local (
.\SQLEXPRESSou o nome da instância). - Restaure/crie os bancos que vieram no pacote. Há duas formas comuns:
- Anexar (.mdf/.ldf):
Databases → Attach…e aponte para os arquivosMuOnline.mdf,Me_MuOnline.mdfeRanking.mdf. - Executar scripts: abra e execute os
.sqlque criam as tabelas em cada banco.
- Confirme que os três bancos aparecem no SSMS:
MuOnline,Me_MuOnlineeRanking.
Se o SQL Server não estiver aceitando conexão TCP, habilite o protocolo TCP/IP no SQL Server Configuration Manager e reinicie o serviço. Muitos "JoinServer não conecta ao banco" são só o TCP/IP desligado.
Passo 2 — Criar um ODBC/DSN (quando a revisão exige)
Boa parte das revisões clássicas do MuEMU conecta ao banco por um DSN ODBC chamado, por convenção, MuOnline. Se a sua exige:
- Abra o ODBC Data Sources (64-bit ou 32-bit conforme os executáveis do emulador).
- Em System DSN, adicione um novo com o driver SQL Server.
- Nomeie exatamente como o emulador espera (frequentemente
MuOnline). - Aponte para a instância SQL, use autenticação SQL com
sae a senha, e defina o banco padrão comoMuOnline. - Teste a conexão dentro do próprio assistente do ODBC antes de fechar.
> Cuidado com 32 vs 64 bits: se os executáveis do MuEMU forem 32-bit, o DSN precisa ser criado no ODBC de 32-bit (C:\Windows\SysWOW64\odbcad32.exe), senão o emulador não enxerga o DSN.
Passo 3 — Configurar o JoinServer (DataServer)
O JoinServer precisa saber como falar com o banco. No arquivo de configuração dele (ex.: JoinServerStartUp.dat), ajuste as credenciais:
; Exemplo ilustrativo — as chaves variam por revisão do MuEMU
ODBC_Name = MuOnline
ODBC_User = sa
ODBC_Pass = SUA_SENHA_SA
JoinServerPort = 55970
- Se a sua revisão não usa ODBC, o mesmo arquivo terá as strings de conexão direto (servidor SQL, usuário, senha).
- Anote a porta do JoinServer — o GameServer vai apontar para ela.
Suba o JoinServer.exe. Ele deve indicar conexão bem-sucedida ao banco. Se fechar sozinho, quase sempre é senha do sa errada, DSN inexistente ou TCP/IP desligado.
Passo 4 — Configurar o ConnectServer e a lista de servidores
O ConnectServer é o que o cliente vê primeiro. Duas coisas importam aqui: a porta que o cliente usa e a lista de GameServers.
- No arquivo de lista (ex.:
ServerList.dat), registre o(s) servidor(es) com nome, IP e porta do GameServer:
; Exemplo ilustrativo
0 127.0.0.1 55901 "ViciadosMU Season 6"
- Para teste local, use
127.0.0.1. Para abrir ao público, troque pelo IP público/da VPS. - Confirme a porta do ConnectServer (comumente
44405) — ela vai no cliente.
Suba o ConnectServer.exe. Ele fica escutando e mostrando a lista de servidores configurada.
Passo 5 — Configurar o GameServer (IP, banco e taxas)
O GameServer é o coração. Ele precisa apontar para o JoinServer e para o banco, e é onde você define a jogabilidade.
- No
GameServerInfo(dentro deData/) e/ouCommonServer.dat, ajuste:
- IP do JoinServer e sua porta (do Passo 3).
- IP do próprio GameServer que será anunciado (local =
127.0.0.1; público = IP da VPS). - Código do servidor (ServerCode), que precisa bater com o registrado na lista do ConnectServer.
- Ajuste as taxas principais (nomes ilustrativos — variam por revisão):
[GameServerInfo]
ServerName = "ViciadosMU Season 6"
ExperienceRate = 100 ; multiplicador de experiência
DropRate = 30 ; chance de drop (%) — escala varia por revisão
ZenDropRate = 30
MaxLevel = 400 ; nível máx. (400 normal + Master Level)
PointsPerLevel = 5
- Salve e suba o
GameServer.exe. Ele deve conectar ao JoinServer e ao banco, carregar os mapas e ficar "online".
> A escala de DropRate e de experiência não é universal entre revisões — em algumas é percentual direto, em outras é um multiplicador. Suba com valores conservadores, teste in-game e só então calibre.
Passo 6 — Editar o cliente Main (IP e porta)
O cliente precisa apontar para o seu ConnectServer, não para o do pacote original.
- Localize onde o cliente guarda o IP/porta — costuma ser um
ServerList.bmd(criptografado) ou uma configuração do launcher. - Troque o IP para
127.0.0.1(local) ou o IP público (online) e a porta para a do ConnectServer (ex.:44405). - Se o arquivo for criptografado (
.bmd), use o editor de ServerList da comunidade compatível com a sua season para descriptografar, editar e recriptografar. - Garanta que o cliente é da mesma Season/Episode do emulador — versão trocada dá erro de conexão ou tela preta.
Passo 7 — Criar conta e testar o login
- No SSMS, insira uma conta de teste na tabela de contas do banco
MuOnline(ou use o sistema de registro/site se o pacote tiver um). - Dê acesso de GM a essa conta ajustando o campo de tipo/CtlCode conforme a sua revisão — assim você testa sem farmar.
- Execute o
Main.exe, faça login e confirme que a lista de servidores aparece e que você entra no mundo. - Crie um personagem, entre no jogo e verifique movimento, spawn de mobs e chat.
Passo 8 — Validar jogabilidade e comandos de GM
Com o personagem GM dentro do jogo, valide o essencial antes de pensar em abrir:
- Teste drop e pickup de itens matando mobs.
- Teste a experiência subindo um nível e comparando com a taxa configurada.
- Rode comandos de GM (ex.:
/make,/move, comandos de evento) para gerar itens e teleportar. - Abra a loja/NPC e teste compra/venda de itens básicos.
- Verifique eventos automáticos (Blood Castle, Devil Square, Chaos Castle) se o pacote os iniciar.
Passo 9 — Abrir portas e liberar acesso externo (opcional)
Só faça isso quando o teste local estiver 100%.
- No Firewall do Windows, crie regras de entrada para as portas do ConnectServer, GameServer e (se preciso) JoinServer.
- No roteador/VPS, faça o port forwarding das mesmas portas para a máquina do servidor.
- Troque todos os IPs
127.0.0.1por IP público — no ConnectServer (lista), no GameServer (IP anunciado) e no cliente. - Teste o login de outra rede (dados móveis, por exemplo) para confirmar acesso externo real.
| Componente | Porta típica (exemplo) | Precisa abrir ao público? |
|---|---|---|
| ConnectServer | 44405 | Sim |
| GameServer | 55901 | Sim |
| JoinServer | 55970 | Não (interno) |
| SQL Server | 1433 | Não (nunca exponha o banco) |
> Nunca exponha a porta do SQL Server à internet. O banco deve ser acessível apenas internamente pelo JoinServer/GameServer.
Erros comuns e soluções
| Sintoma | Causa provável | Solução |
|---|---|---|
| JoinServer fecha ao abrir | Senha do sa errada ou TCP/IP off | Confira credenciais e habilite TCP/IP no Configuration Manager |
| GameServer não conecta ao banco | DSN ausente ou 32/64 bits trocados | Recrie o DSN no ODBC correto e teste a conexão |
| Lista de servidores vazia no cliente | IP/porta errados no cliente | Ajuste o ServerList do cliente para o ConnectServer |
| "Disconnect" no login | Cliente de season diferente do server | Use o Main da mesma Season/Episode do emulador |
| Servidor aparece mas não entra | ServerCode divergente | Iguale o código no ConnectServer e no GameServer |
| Erro ao abrir os .exe | Visual C++ Redistributable faltando | Instale todas as versões do VC++ Redist |
| Ninguém de fora conecta | Firewall/port forwarding | Libere portas e troque 127.0.0.1 pelo IP público |
Checklist de lançamento
- SQL Server em autenticação mista, senha do
saanotada e TCP/IP ativo. - Bancos
MuOnline,Me_MuOnlineeRankingrestaurados e visíveis. - DSN/ODBC criado (na arquitetura correta 32/64 bits) e testado.
- JoinServer conectado ao banco sem fechar.
- ConnectServer com a lista de servidores (nome, IP, porta) correta.
- GameServer apontando para JoinServer e banco, com taxas definidas.
- Cliente Main editado com o IP/porta do ConnectServer e da mesma season.
- Conta de teste + GM criada; login e criação de personagem funcionando.
- Drop, experiência, NPCs, comandos de GM e eventos testados in-game.
- Firewall/port forwarding e IP público configurados (se for abrir ao público).
- Backup completo dos server files e do banco salvo.
Com os quatro serviços no ar e o login validado de ponta a ponta, você tem uma base estável para evoluir: ajustar economia, adicionar sistemas (Sockets, Custom Wings), configurar eventos e, por fim, um site com registro de contas. Documente cada porta, IP e senha em um único lugar seguro — quando o servidor crescer, essa planilha de infraestrutura evita horas de retrabalho a cada mudança de host.
Perguntas frequentes
O MuEMU é gratuito?
A base do MuEMU (Season 6 Episode 3) circula gratuitamente na comunidade há anos e é a mais usada em servidores privados. Existem versões pagas com mais recursos e correções, mas para aprender e montar um servidor de teste a base gratuita é suficiente. Confirme sempre a procedência do pacote para evitar arquivos adulterados.
Qual banco de dados o MuEMU usa?
Microsoft SQL Server. A base clássica foi desenhada para SQL Server 2008/2014, mas roda em versões mais novas (2017/2019/2022 e Express). Você restaura os arquivos .mdf/.ldf ou executa os scripts .sql que acompanham o pacote para criar MuOnline, Me_MuOnline e Ranking.
Preciso de IP fixo ou VPS para abrir para a internet?
Para teste local basta o IP interno (127.0.0.1). Para abrir ao público você precisa de um IP acessível — um VPS/dedicado é o ideal — e liberar as portas do ConnectServer, JoinServer e GameServer no firewall e no roteador. Trocar o IP interno pelo IP público no ConnectServer e no cliente é obrigatório.
Qual a diferença entre ConnectServer, JoinServer e GameServer?
O ConnectServer é a lista de servidores que o cliente vê e o encaminha ao GameServer. O JoinServer faz a ponte entre o jogo e o banco de contas/personagens. O GameServer é o mundo em si (mapas, mobs, drop, comércio). Os três precisam estar no ar e apontando para o banco e entre si para o login funcionar.
Onde ajusto a taxa de experiência e drop?
No arquivo de configuração do GameServer (comumente GameServerInfo em Data/), nas chaves de ExperienceRate e DropRate. Os nomes exatos variam por revisão do MuEMU; edite, salve e reinicie o GameServer para aplicar. Sempre teste com um personagem novo antes de abrir ao público.
O cliente Main precisa ser da mesma versão do servidor?
Sim. O cliente (Main.exe) tem que ser da mesma Season/Episode do emulador, senão dá erro de conexão, tela preta ou desconexão no login. Use o cliente que acompanha o pacote do MuEMU e edija o IP/porta nele para casar com o seu ConnectServer.