Como instalar e configurar o ConnectServer isolado no MU Online
Entenda o papel do ConnectServer no MU Online e configure-o isolado em máquina e porta próprias: lista de servidores, ServerList.dat, IpAddress, portas 44405/55901/55557 e redirecionamento correto do cliente até o GameServer.
O ConnectServer é a peça mais incompreendida — e mais crítica — de um servidor de MU Online. Ele não roda mapa, não calcula dano, não guarda personagem: seu único trabalho é ser a porta de entrada. Quando o jogador abre o cliente, é o ConnectServer quem entrega a lista de servidores, mostra a carga
O ConnectServer é a peça mais incompreendida — e mais crítica — de um servidor de MU Online. Ele não roda mapa, não calcula dano, não guarda personagem: seu único trabalho é ser a porta de entrada. Quando o jogador abre o cliente, é o ConnectServer quem entrega a lista de servidores, mostra a carga de cada um e, ao clicar em um servidor, redireciona a conexão para o IP e a porta do GameServer certo. Por ser a única peça exposta à internet antes do login, ele é também o primeiro alvo de ataques e o ponto onde 90% dos erros de "não conecta" nascem. Este tutorial explica o papel do ConnectServer em detalhe e mostra como instalá-lo e configurá-lo isolado, em máquina e porta próprias, do jeito que servidores de produção fazem.
O que é o ConnectServer
Imagine o ConnectServer como a recepção de um prédio com vários andares (os GameServers). O visitante (cliente) não sobe direto para o andar: ele passa pela recepção, vê a lista de andares disponíveis e é encaminhado ao andar escolhido. O fluxo real é:
- O cliente abre e lê o ServerList.dat, que contém o IP e a porta do ConnectServer.
- O cliente conecta no ConnectServer (porta pública, ex.:
44405). - O ConnectServer devolve a lista de servidores — cada GameServer registrado, com nome e percentual de lotação.
- O jogador escolhe um servidor; o ConnectServer responde com o IP:porta daquele GameServer.
- O cliente desconecta do ConnectServer e conecta direto no GameServer para logar e jogar.
Ou seja: depois de redirecionar, o ConnectServer sai de cena. Isso é o que permite isolá-lo — ele é leve, sem estado de jogo, e pode viver sozinho.
Por que isolar o ConnectServer
Rodar o ConnectServer separado do GameServer traz vantagens concretas:
- Segurança: o IP real do GameServer não fica exposto até o redirecionamento. Floods e scans batem primeiro no ConnectServer isolado, protegendo o servidor de jogo.
- Disponibilidade: você reinicia o GameServer (patch, ajuste, crash) sem derrubar a tela de seleção de servidores. O jogador vê "servidor offline" em vez de "não conecta".
- Escala: um único ConnectServer pode listar vários GameServers, inclusive em máquinas diferentes. É assim que se monta um servidor multi-canal ou multi-realm.
- Mitigação de ataque: você pode colocar firewall, rate-limit ou proteção anti-DDoS só na frente do ConnectServer, sem tocar no GameServer.
Em um servidor de teste local, tudo roda na mesma máquina (127.0.0.1) e o isolamento não importa. Em produção, isolar é padrão profissional.
Pré-requisitos
- Um servidor de MU já montado e funcional (se ainda não tem, veja o tutorial de criação de servidor).
- Acesso ao pacote do seu emulador (IGCN, MuEMU, X-Team, Season 6 etc.) contendo o executável do ConnectServer.
- Um IP público (ou VPS) se o servidor for online; ou
127.0.0.1para testes locais. - Permissão para abrir portas no firewall do sistema e no NAT do provedor/roteador.
- A ferramenta de edição do ServerList.dat do seu emulador (o arquivo costuma ser criptografado).
- Backup dos arquivos de configuração antes de qualquer alteração.
Arquivos e portas envolvidos
Os nomes e números variam por emulador — trate os valores abaixo como exemplos e confirme no seu pacote.
| Função | Arquivo / porta (exemplo) | Onde fica |
|---|---|---|
| Config do ConnectServer | ConnectServer.ini / CSMain.ini | Servidor |
| Lista interna de servidores | ServerList.dat (lado servidor) | Servidor |
| Porta pública (cliente) | 44405 | Servidor |
| Porta de registro do GameServer | 55557 | Servidor |
| Porta de dados/resposta | 55901 | Servidor |
| Endereço que o cliente lê | ServerList.dat (lado cliente) | Cliente |
| IP anunciado do GameServer | IpAddress no config do GameServer | Servidor |
> Cuidado com a colisão de nomes: existe um ServerList.dat no servidor (que o ConnectServer usa para saber quais GameServers listar) e outro ServerList.dat no cliente (que diz onde está o ConnectServer). São arquivos diferentes com o mesmo nome — não os confunda.
Passo 1 — Localizar e preparar o executável
No pacote do emulador, o ConnectServer costuma estar em uma pasta própria (ConnectServer/, CS/ ou similar), com o executável e um arquivo de configuração .ini ou .dat. Se você vai isolá-lo em outra máquina/VM, copie a pasta inteira do ConnectServer para lá, mantendo a estrutura. Ele geralmente não precisa do MySQL nem dos dados de jogo — é autossuficiente.
Passo 2 — Configurar o ConnectServer (portas e escuta)
Abra o config principal do ConnectServer. Em muitos emuladores é um .ini no estilo abaixo — os nomes das chaves variam, mas o conceito é o mesmo:
[ConnectServer]
; Porta em que o CLIENTE conecta (a mesma do ServerList.dat do cliente)
ConnectServerPort = 44405
; Porta em que os GameServers se REGISTRAM no ConnectServer
GameServerListPort = 55557
; Porta de dados/resposta usada internamente
DataPort = 55901
; Numero maximo de conexoes simultaneas na entrada
MaxConnections = 1000
; Mostrar a carga (%) de cada servidor na lista
ShowServerLoad = 1
ConnectServerPorté a porta pública — a que o jogador realmente acessa. Precisa estar aberta no firewall e no NAT.GameServerListPorté por onde cada GameServer "se apresenta" ao ConnectServer. Se ConnectServer e GameServer estão em máquinas diferentes, essa porta precisa ser alcançável entre elas (rede interna ou liberada).MaxConnectionsé sua primeira linha de defesa contra flood — ajuste ao tamanho do servidor.
Salve e deixe para reiniciar depois de configurar a lista.
Passo 3 — Registrar os GameServers na lista do ConnectServer
O ConnectServer precisa saber quais servidores anunciar. Isso costuma ficar em um ServerList.dat (lado servidor) ou em uma seção do próprio config. Cada linha define um servidor da tela de seleção:
[ServerList]
; Codigo | Nome exibido | IP do GameServer | Porta do GameServer
0 | ViciadosMU - Season 6 | 200.100.50.10 | 55901
1 | ViciadosMU - PvP | 200.100.50.11 | 55901
Aqui está o ponto onde o redirecionamento acontece: o IP e a porta desta lista são exatamente para onde o cliente será enviado quando o jogador escolher aquele servidor. Se você isolou o ConnectServer, o IP aqui é o do GameServer (outra máquina), não o do próprio ConnectServer. Errar isso é a causa nº 1 de "seleciona o servidor e não entra".
Passo 4 — Ajustar o IpAddress do GameServer
Do outro lado, o GameServer também precisa anunciar corretamente o IP em que ele aceita conexões. No config do GameServer (varia: GameServerInfo.dat, GameServer.ini, seção [ServerInfo]) existe uma chave de endereço:
[GameServerInfo]
; IP que o GameServer anuncia ao ConnectServer e ao cliente
IpAddress = 200.100.50.10
; Porta em que o GameServer aceita jogadores (bate com a lista do CS)
GameServerPort = 55901
; Endereco:porta do ConnectServer onde este GameServer vai se registrar
ConnectServerIp = 200.100.50.20
ConnectServerPort = 55557
Regra de ouro do IpAddress:
- Servidor local/teste:
127.0.0.1. - Servidor online: o IP público que o cliente do jogador consegue alcançar — nunca
127.0.0.1nem o IP interno de LAN, ou só você (na mesma máquina) conseguirá entrar.
O ConnectServerIp fecha o triângulo: é onde este GameServer se registra. Como o ConnectServer está isolado, esse IP é o da máquina do ConnectServer.
Passo 5 — Configurar o ServerList.dat do cliente
Agora o lado do jogador. O ServerList.dat do cliente aponta o jogo para o ConnectServer. Ele quase sempre é criptografado — use a ferramenta do seu emulador (ServerList Editor) e não edite no bloco de notas, ou o cliente rejeita o arquivo.
Configure:
- IP: o IP público (ou
127.0.0.1em teste local) da máquina do ConnectServer — nunca do GameServer. - Porta: a mesma
ConnectServerPortdo Passo 2 (ex.:44405).
Se você mudar o IP ou a porta do ConnectServer depois, precisa redistribuir o ServerList.dat atualizado aos jogadores pelo launcher — senão eles continuam batendo no endereço antigo.
Passo 6 — Abrir as portas no firewall e no NAT
Isolamento só funciona com rede liberada. Libere:
- No firewall da máquina do ConnectServer: a porta pública (
44405) e a porta de registro (55557). - No NAT/roteador ou no painel do VPS: encaminhe a porta pública
44405para a máquina do ConnectServer. - Entre ConnectServer e GameServer (se em máquinas diferentes): garanta que a
55557e a55901conversem pela rede interna.
Em Windows, um exemplo de liberação via linha de comando:
; PowerShell / Prompt como administrador
netsh advfirewall firewall add rule name="MU ConnectServer" dir=in action=allow protocol=TCP localport=44405
netsh advfirewall firewall add rule name="MU GameServer Reg" dir=in action=allow protocol=TCP localport=55557
Passo 7 — Ordem de inicialização e teste
A ordem importa. Suba os serviços nesta sequência:
- ConnectServer primeiro (a recepção precisa estar de pé para receber registros).
- GameServer(s) depois — cada um vai se registrar no ConnectServer via
ConnectServerIp:55557. - Confirme no console do ConnectServer que os GameServers apareceram como conectados.
Depois teste do lado do cliente:
- Abra o cliente e chegue à tela de seleção de servidores — a lista deve carregar (prova de que o ConnectServer respondeu).
- Confira se a carga (%) aparece, indicando que os GameServers estão registrados.
- Escolha um servidor: o cliente deve redirecionar e chegar ao login (prova de que o IP:porta da lista está certo).
- Faça login e entre no jogo (prova de que o
IpAddressdo GameServer é alcançável).
Erros comuns e soluções
| Sintoma | Causa provável | Solução |
|---|---|---|
| Cliente trava na tela de conexão | ServerList.dat do cliente aponta IP/porta errados | Reeditar com o editor e apontar o IP:porta do ConnectServer |
| Lista de servidores vazia | Nenhum GameServer registrado no ConnectServer | Verificar ConnectServerIp/Port do GameServer e a porta 55557 |
| Seleciona o servidor mas não entra | IP na lista do CS ou IpAddress do GS incorretos | Usar o IP público real do GameServer, não 127.0.0.1 |
| Só você (host) consegue entrar | GameServer anunciando IP local (127.0.0.1 / LAN) | Trocar IpAddress para o IP público |
| Conecta e cai em segundos | Porta pública sem NAT/firewall ou fechada | Abrir e encaminhar a porta 44405 |
| ConnectServer não sobe | Porta já em uso ou sintaxe no .ini | Trocar a porta / revisar linhas e aspas do config |
| Carga (%) não aparece | ShowServerLoad desligado ou GS sem heartbeat | Ativar a opção e confirmar o registro do GameServer |
Boas práticas para produção
- Uma VM só para o ConnectServer. É leve; uma máquina pequena aguenta, e o isolamento vale o custo.
- Nunca exponha a porta do GameServer diretamente ao público sem necessidade — deixe o ConnectServer ser a face pública.
- Monitore o console do ConnectServer: quedas de registro dos GameServers aparecem ali antes de o jogador reclamar.
- Versione o ServerList.dat do cliente. Toda mudança de IP/porta exige redistribuir pelo launcher.
- Documente o mapa de portas (44405 pública, 55557 registro, 55901 dados). Isso salva horas quando você migrar de VPS.
Checklist de lançamento
- Pasta do ConnectServer isolada na máquina/VM própria.
- Portas configuradas no
.ini(pública 44405, registro 55557, dados 55901). - GameServers registrados na lista do ConnectServer com IP:porta corretos.
IpAddressdo GameServer usando o IP público (nunca 127.0.0.1 em produção).ConnectServerIp/Portdo GameServer apontando para o ConnectServer isolado.- ServerList.dat do cliente apontando para o IP:porta do ConnectServer.
- Portas abertas no firewall e encaminhadas no NAT/VPS.
- Ordem de boot testada (ConnectServer → GameServer → cliente).
- Fluxo completo validado: lista carrega, redireciona e loga em jogo.
Com o ConnectServer isolado e testado, você tem uma base de rede sólida e escalável: adicionar um novo GameServer vira só mais uma linha na lista e um registro apontando para a mesma recepção. A partir daqui, o próximo passo natural é blindar essa porta pública com proteção anti-DDoS e rate-limit, já que ela é a única face do seu servidor exposta à internet.
Perguntas frequentes
O que exatamente o ConnectServer faz?
Ele é a porta de entrada do servidor. O cliente conecta primeiro no ConnectServer, recebe a lista de servidores (nome, carga e IP:porta de cada GameServer) e, quando o jogador escolhe um servidor, é redirecionado para o IP e a porta do GameServer correspondente. Ele não processa jogo — só orquestra a entrada.
Preciso mesmo isolar o ConnectServer em outra máquina?
Não é obrigatório, mas é fortemente recomendado em produção. Isolá-lo (máquina ou VM/porta próprias) protege o IP do GameServer, absorve floods de conexão e ataques na porta pública, e permite reiniciar o GameServer sem derrubar a tela de seleção de servidores. Em servidor de testes local, roda tudo na mesma máquina.
Qual porta o ConnectServer usa?
Varia por emulador, mas o padrão histórico é 44405 para o cliente conectar. Internamente ele ainda escuta a porta onde os GameServers se registram (comumente 55557) e responde na porta de dados (ex.: 55901). Sempre confira o config do seu emulador — os números são exemplos, não uma regra fixa.
O que é o ServerList.dat e por que o cliente precisa dele?
É o arquivo, no lado do cliente, que diz ao jogo em qual IP e porta está o ConnectServer. Se o IP nele não bater com o do seu ConnectServer, o cliente trava na tela de conexão. Ele costuma ser criptografado; edite com a ferramenta do seu emulador, não no bloco de notas.
Configurei tudo e o cliente não conecta. Por onde começo?
Verifique nesta ordem: (1) a porta do ConnectServer está aberta no firewall e no NAT; (2) o ServerList.dat aponta para o IP público correto; (3) o IpAddress registrado do GameServer é acessível pelo cliente (erro clássico: registrar 127.0.0.1 num servidor público); (4) o ConnectServer e o GameServer estão realmente de pé.