Como configurar o IpAddress.dat e a ServerList no MU Online
Aprenda a configurar corretamente o IpAddress.dat do servidor e a ServerList do cliente para que os jogadores consigam conectar sem erros de rede.
Configurar a rede é uma das etapas mais frustrantes para quem está começando a montar um servidor privado de MU Online, e também uma das que mais gera tickets de suporte com a mensagem clássica "conecta e cai". Na prática, a maioria desses problemas não está no emulador nem no cliente, mas sim em co
Configurar a rede é uma das etapas mais frustrantes para quem está começando a montar um servidor privado de MU Online, e também uma das que mais gera tickets de suporte com a mensagem clássica "conecta e cai". Na prática, a maioria desses problemas não está no emulador nem no cliente, mas sim em como o endereçamento IP foi definido nos arquivos de configuração do servidor e na ServerList que acompanha o cliente do jogador. Neste tutorial você vai entender a diferença entre IP interno e externo, como o fluxo de conexão funciona por trás dos panos, como configurar o IpAddress.dat do GameServer e do ConnectServer, como usar No-IP para quem não tem IP fixo, e como preparar a ServerList do cliente para que ela aponte para o lugar certo. O objetivo é que ao final você consiga colocar qualquer pessoa da internet para logar no seu servidor sem quedas misteriosas.
Pré-requisitos
Antes de mexer nos arquivos de IP, garanta que o básico já esteja funcionando. Configurar rede em cima de um servidor que ainda não sobe corretamente só vai multiplicar as variáveis do problema. Se você ainda não tem a estrutura montada, comece pelo guia geral de como criar servidor de MU Online e depois volte para cá.
- Um servidor de MU Online já instalado com ConnectServer, GameServer, DataServer e JoinServer operacionais em ambiente local.
- Acesso administrativo à máquina que hospeda o servidor (Windows Server ou Windows desktop).
- Um cliente de MU Online compatível com a versão/season do seu emulador para testes.
- Conhecimento do seu IP externo (você descobre acessando um site como whatismyip pela máquina do servidor).
- Acesso ao painel do roteador, caso vá hospedar em rede residencial, para configurar o redirecionamento de portas.
- Opcionalmente, uma conta em um serviço de DNS dinâmico como o No-IP.
Entendendo IP interno, externo e loopback
Toda máquina em uma rede possui pelo menos dois endereços relevantes para nós. O IP interno (ou privado) é o endereço que o roteador atribui à máquina dentro da rede local, geralmente na faixa 192.168.x.x ou 10.0.x.x. O IP externo (ou público) é o endereço com o qual a sua rede aparece para o restante da internet, atribuído pelo seu provedor. Existe ainda o endereço de loopback, 127.0.0.1, que aponta a máquina para ela mesma e só serve para testes locais.
A confusão nasce porque, ao configurar tudo na própria máquina, usar 127.0.0.1 funciona perfeitamente. O jogador que está do lado de fora, porém, não tem como alcançar o seu 127.0.0.1 nem o seu 192.168.x.x — esses endereços não são roteáveis pela internet. É por isso que o servidor "funciona no meu PC" mas ninguém de fora consegue entrar.
| Tipo de IP | Exemplo | Alcance | Quando usar |
|---|---|---|---|
| Loopback | 127.0.0.1 | Apenas a própria máquina | Testes locais isolados |
| Interno/privado | 192.168.0.10 | Rede local (LAN) | Testes na mesma rede |
| Externo/público | 200.150.x.x | Internet inteira | Produção, jogadores externos |
| Hostname No-IP | meumu.ddns.net | Internet inteira | Produção sem IP fixo |
Como funciona o fluxo de conexão
Entender o fluxo evita que você configure no arquivo errado. O processo, de forma resumida, acontece assim:
- O jogador abre o cliente, que lê a ServerList para saber onde está o ConnectServer.
- O cliente conecta no ConnectServer e pede a lista de servidores disponíveis (Season, PvP, etc.).
- O ConnectServer responde com o nome dos servidores e, crucialmente, com o IP e a porta do GameServer correspondente.
- O cliente então abandona o ConnectServer e conecta diretamente no GameServer usando aquele IP.
O ponto crítico está no passo 3: o IP que o ConnectServer entrega ao cliente vem do arquivo de configuração do servidor (frequentemente o IpAddress.dat ou uma seção equivalente do ServerList.dat do ConnectServer). Se ali estiver o IP interno, o cliente de fora vai receber 192.168.0.10 e tentar conectar nesse endereço inalcançável, resultando na queda após a seleção do servidor.
Configurando o IpAddress.dat do servidor
O nome e a estrutura desse arquivo variam por emulador. Em muitos emuladores populares o GameServer usa um arquivo chamado IpAddress.dat dentro da pasta de dados, enquanto o ConnectServer usa um ServerList.dat próprio. O exemplo abaixo é ilustrativo e você deve adaptar à documentação do seu emulador.
Um IpAddress.dat típico do GameServer se parece com isto:
; IpAddress.dat - exemplo ilustrativo, varia por emulador
[GameServerInfo]
ServerName = ViciadosMU
GameServerCode = 0
IpAddress = 200.150.10.20 ; IP EXTERNO ou hostname No-IP
Port = 55901
A regra de ouro é: o campo de IP aqui deve ser o endereço pelo qual os jogadores alcançam o servidor, ou seja, o IP externo ou o hostname No-IP em produção. Em um VPS, esse campo recebe o IP público do VPS. Em ambiente residencial, recebe o IP externo da sua conexão ou o hostname dinâmico.
Já o ConnectServer costuma ter sua própria lista, algo como:
; ServerList.dat do ConnectServer - exemplo ilustrativo
[ServerList]
0 200.150.10.20 55901 Servidor Season X
1 200.150.10.20 55902 Servidor Hard PvP
Aqui cada linha define um servidor visível na tela de seleção. As colunas normalmente são código, IP do GameServer, porta e nome exibido. Novamente, o IP deve ser o externo.
Usando No-IP para quem não tem IP fixo
Conexões residenciais quase sempre têm IP dinâmico, que muda de tempos em tempos. Se você fixar o IP externo no arquivo e o provedor trocar seu endereço, o servidor "some" da internet. A solução é um serviço de DNS dinâmico como o No-IP, que cria um hostname (ex.: meumu.ddns.net) sempre apontado para o seu IP atual.
Passos gerais:
- Crie uma conta no No-IP e registre um hostname gratuito.
- Instale o DUC (Dynamic Update Client) do No-IP na máquina do servidor. Ele detecta mudanças de IP e atualiza o hostname automaticamente.
- Nos arquivos do servidor, no lugar do IP externo, coloque o hostname (
meumu.ddns.net). - Faça o mesmo na ServerList do cliente.
Assim, mesmo que o IP mude, tanto o servidor quanto o cliente sempre resolvem o hostname para o endereço correto. Vale lembrar que o hostname gratuito do No-IP precisa ser confirmado periodicamente para não expirar.
Configurando a ServerList do cliente
A ServerList do cliente é o arquivo que diz ao jogo onde está o ConnectServer. Ele geralmente fica criptografado dentro da pasta Data do cliente, com nome como ServerList.dat ou dentro de um arquivo empacotado. Muitos emuladores fornecem uma ferramenta para editar e recompilar esse arquivo, pois ele não é texto puro.
O conteúdo lógico é simples:
; ServerList do cliente (após descriptografar) - varia por emulador
IP = meumu.ddns.net
Port = 44405
O IP aqui deve apontar para o ConnectServer, e a Port deve ser a porta do ConnectServer (comumente 44405). Depois de editar, recompile/recriptografe o arquivo com a ferramenta do emulador e distribua o cliente atualizado aos jogadores. Um erro comum é editar o arquivo texto e esquecer de recriptografar, o que faz o cliente ignorar a alteração.
Liberando portas no firewall e no roteador
De nada adianta o IP correto se as portas estiverem fechadas. Você precisa liberar, no firewall do Windows, as portas usadas pelo ConnectServer e por todos os GameServers. Além disso, em rede residencial, é obrigatório configurar o port forwarding (redirecionamento de portas) no roteador, apontando as portas externas para o IP interno da máquina do servidor.
| Serviço | Porta comum (varia por emulador) | Protocolo |
|---|---|---|
| ConnectServer | 44405 | TCP/UDP |
| GameServer 1 | 55901 | TCP |
| GameServer 2 | 55902 | TCP |
| DataServer | 55960 | TCP (interno) |
O DataServer e o JoinServer normalmente só precisam de comunicação interna, então não os exponha à internet sem necessidade. Exponha apenas ConnectServer e GameServers.
Testando a conexão de ponta a ponta
Depois de configurar tudo, teste de forma metódica:
- Suba todos os serviços na ordem correta (DataServer, JoinServer, ConnectServer, GameServer).
- Teste primeiro localmente com
127.0.0.1para garantir que o servidor funciona. - Peça a alguém de outra rede (ou use uma conexão 4G/celular) para testar o acesso externo com o cliente configurado com o hostname/IP externo.
- Use o comando
telnet meumu.ddns.net 44405a partir de outra máquina para confirmar que a porta do ConnectServer responde. - Se o ConnectServer responde mas o GameServer cai, o problema está quase certamente no IP interno configurado no
IpAddress.datdo GameServer.
Erros comuns e soluções
| Sintoma | Causa provável | Solução |
|---|---|---|
| Conecta e cai ao selecionar servidor | IP interno no IpAddress.dat do GameServer | Trocar pelo IP externo ou hostname No-IP |
| "Disconnected" na tela inicial | ServerList do cliente aponta para IP/porta errada do ConnectServer | Corrigir e recriptografar a ServerList |
| Funciona só na LAN | Port forwarding não configurado no roteador | Redirecionar portas do ConnectServer e GameServers |
| Servidor some depois de horas | IP externo mudou (conexão dinâmica) | Usar No-IP com o cliente DUC ativo |
| Ninguém conecta em nenhum momento | Firewall do Windows bloqueando portas | Criar regras de entrada para as portas usadas |
| Edição da ServerList ignorada | Arquivo não foi recriptografado | Recompilar com a ferramenta do emulador |
Boas práticas de manutenção
Documente todas as portas e IPs em um arquivo de referência separado, para não depender da memória quando precisar migrar de máquina. Sempre que trocar de host ou VPS, revise cada arquivo que contenha IP, pois é fácil esquecer de um GameServer secundário. Mantenha uma cópia do cliente configurado para produção e outra para testes locais, evitando enviar acidentalmente um cliente com 127.0.0.1 para os jogadores. Por fim, se usar No-IP, verifique periodicamente se o DUC está rodando como serviço e se o hostname não expirou.
Checklist de lançamento
- IpAddress.dat do GameServer com IP externo ou hostname No-IP
- ServerList.dat do ConnectServer com o IP externo dos GameServers
- ServerList do cliente apontando para o ConnectServer correto e recriptografada
- No-IP configurado com o cliente DUC rodando (se IP dinâmico)
- Portas do ConnectServer e GameServers liberadas no firewall do Windows
- Port forwarding configurado no roteador (se rede residencial)
- Teste local com 127.0.0.1 bem-sucedido
- Teste externo por outra rede/4G bem-sucedido
- Telnet nas portas responde de fora da rede
- Cliente de produção distribuído sem endereços de loopback ou LAN
Perguntas frequentes
Preciso de IP fixo para hospedar um servidor de MU Online?
Não é obrigatório. Você pode usar um serviço de DNS dinâmico como No-IP para mapear um hostname ao seu IP residencial, mas um IP fixo (VPS ou dedicado) reduz quedas e facilita a manutenção.
Por que os jogadores conseguem entrar mas caem ao selecionar o servidor?
Quase sempre o IpAddress.dat do GameServer aponta para o IP interno da máquina em vez do IP externo. O ConnectServer entrega esse IP ao cliente, que tenta conectar em um endereço inacessível pela internet.
Qual porta o ConnectServer usa por padrão?
Varia por emulador, mas a porta mais comum do ConnectServer é a 44405 UDP/TCP. O GameServer costuma usar 55901 e portas seguintes. Sempre confira a documentação do seu emulador.
Posso usar o mesmo arquivo de configuração para localhost e internet?
Não recomendado. Para testes locais use 127.0.0.1, mas para produção você precisa do IP externo ou hostname No-IP. Mantenha versões separadas para evitar confusão.
O que fazer se o firewall estiver bloqueando as conexões?
Libere as portas do ConnectServer e do GameServer no firewall do Windows e no roteador (port forwarding). Sem isso, o cliente nem chega a receber resposta do servidor.