O Main.exe é o executável principal do cliente MU Online e participa diretamente da inicialização do jogo e da comunicação com a infraestrutura do servidor.

Dependendo da versão e da source, informações como IP do servidor, porta de conexão, serial e versão podem estar incorporadas no executável, em uma DLL, em um launcher, em arquivos auxiliares ou carregadas dinamicamente.

Quando esses dados não correspondem aos valores esperados pelo servidor, o cliente pode não mostrar a sala, desconectar ao selecionar o servidor ou apresentar mensagens de incompatibilidade.

O que é o Main.exe do MU Online?

O Main.exe é um dos principais executáveis do cliente.

Ele inicializa o jogo e contém ou acessa diversas informações necessárias para que o cliente funcione de acordo com a versão utilizada pelo servidor.

De forma simplificada:

Launcher
   |
   v
Main.exe
   |
   | IP + Porta
   v
ConnectServer
   |
   v
Lista de servidores
   |
   v
GameServer
Importante Nem todo cliente armazena IP, porta e serial diretamente dentro do Main.exe. Sources customizadas podem utilizar DLLs, launchers ou arquivos externos.

O que é o IP no Main.exe?

O cliente precisa saber inicialmente onde está o servidor responsável por receber sua conexão.

Em muitas arquiteturas, esse endereço aponta para o ConnectServer.

Exemplos:

127.0.0.1

192.168.0.100

meuservidor.com.br

203.0.113.20

127.0.0.1

O endereço:

127.0.0.1

representa a própria máquina onde o cliente está sendo executado.

Ele é útil em testes locais, mas não funciona como endereço de um servidor remoto para jogadores externos.

Erro clássico Se você distribuir um cliente configurado com 127.0.0.1, cada jogador tentará procurar o servidor dentro do próprio computador.

Qual porta fica configurada no Main.exe?

Em muitos server files tradicionais, a conexão inicial utiliza uma porta associada ao ConnectServer.

Um valor muito conhecido é:

44405

Porém, 44405 não é obrigatória.

Sua source pode utilizar outra porta.

Exemplo conceitual

Cliente:
IP    = meuservidor.com.br
Porta = 44405

ConnectServer:
Porta = 44405

Os dois lados precisam estar de acordo.

Main.exe usa a porta do GameServer?

Depende da arquitetura.

Em uma estrutura tradicional, a primeira conexão pode acontecer com o ConnectServer.

Main.exe
   |
   | 44405
   v
ConnectServer

Depois que o jogador escolhe a sala, ele pode ser direcionado para uma porta do GameServer.

ConnectServer
   |
   | IP + porta do GameServer
   v
Main.exe
   |
   v
GameServer

O que é o Serial no Main.exe?

Em diversas versões de MU Online, existe uma informação conhecida como serial do cliente.

Ela pode ser utilizada como parte da validação de compatibilidade entre cliente e servidor.

Dependendo da implementação, o cliente envia ou utiliza informações que precisam coincidir com aquilo que o servidor espera.

Serial não é universal O valor, tamanho, local de armazenamento e forma de validação dependem da versão e da source utilizada.

Version e Serial

Muitas sources trabalham com dois conceitos relacionados:

Client Version

Client Serial

O servidor pode verificar esses valores durante a conexão para identificar se o cliente pertence à versão esperada.

Conceitualmente:

Cliente

Version = versão esperada
Serial  = serial esperado

        |
        v

GameServer

Version = versão esperada
Serial  = serial esperado

O que acontece quando o serial está errado?

O comportamento depende da source.

Podem ocorrer:

  • desconexão;
  • cliente recusado;
  • erro de versão;
  • falha ao entrar na sala;
  • mensagem customizada da source.

O que acontece quando a versão está errada?

Um cliente de uma build diferente pode não ser aceito pelo servidor.

Mesmo que visualmente pareça ser da mesma Season, podem existir diferenças de:

  • protocolo;
  • packets;
  • estruturas internas;
  • serial;
  • versão;
  • DLL customizada;
  • GameServer.

Main.exe e ConnectServer

A primeira etapa de conexão normalmente exige que o cliente saiba onde está o ConnectServer.

Exemplo:

Main.exe
   |
   | meuservidor.com.br:44405
   v
ConnectServer
   |
   v
Sala 1
Sala 2
Sala 3

Se IP ou porta estiverem incorretos, a lista pode não ser carregada.

Main.exe e GameServer

Após selecionar a sala, o cliente precisa alcançar o GameServer.

Por exemplo:

ConnectServer = 44405

GameServer 1   = 55901
GameServer 2   = 55902

Esses números são apenas exemplos frequentes.

Diagnóstico útil Se nenhuma sala aparece, investigue primeiro IP, porta inicial e ConnectServer. Se a sala aparece e desconecta ao clicar, investigue principalmente o endereço e a porta do GameServer.

IP local, IP de rede e IP público

Tipo Exemplo Uso
Loopback 127.0.0.1 Próprio computador.
Rede local 192.168.0.100 Máquinas dentro da mesma rede.
IP público Endereço fornecido externamente Acesso pela internet quando roteamento permite.
Domínio jogar.exemplo.com Pode apontar para o IP público.

Posso usar domínio no lugar do IP?

Depende da implementação do cliente.

Algumas sources aceitam hostname ou domínio normalmente. Outras foram desenvolvidas esperando IP em formato específico.

Verifique a estrutura utilizada pelo seu cliente.

Onde o IP pode estar armazenado?

Dependendo do projeto:

  • Main.exe;
  • DLL customizada;
  • launcher;
  • arquivo INI;
  • arquivo BMD;
  • arquivo TXT;
  • sistema de atualização.

Onde o serial pode estar armazenado?

Também varia.

Ele pode estar:

  • incorporado no Main.exe;
  • em DLL customizada;
  • em arquivo de configuração;
  • definido em código-fonte;
  • carregado por patch ou launcher.

Como descobrir onde está o IP, porta ou serial?

Comece pela documentação e pelos arquivos da própria source.

Procure nomes semelhantes a:

MainInfo.ini
MainInfo.dat
MainInfo.xml
ServerInfo.ini
Config.ini
Launcher.ini

Se você possui a source do cliente, pesquise termos como:

ServerIP
ServerPort
ConnectServer
ClientVersion
ClientSerial
Serial
Version
Melhor prática Se você possui o código-fonte do cliente, alterar a configuração na source é geralmente muito mais confiável do que modificar bytes manualmente no executável compilado.

Main.exe não conecta no servidor

Verifique:

  • IP configurado;
  • porta configurada;
  • ConnectServer aberto;
  • firewall;
  • cliente compatível;
  • version;
  • serial;
  • DLLs customizadas.

Sala não aparece

Se o cliente abre, mas nenhuma sala aparece:

  • verifique o IP inicial;
  • confirme a porta do ConnectServer;
  • teste se o ConnectServer está online;
  • verifique se o cliente está apontando para o servidor certo.

Sala aparece e desconecta

Nesse caso, o IP e a porta inicial provavelmente já permitiram acessar o ConnectServer.

Investigue:

  • IP anunciado pelo GameServer;
  • porta do GameServer;
  • firewall;
  • serial e versão;
  • compatibilidade do Main.exe.

Main.exe de outra source funciona?

Não é garantido.

Dois clientes visualmente parecidos podem utilizar:

  • serial diferente;
  • version diferente;
  • packets diferentes;
  • DLLs diferentes;
  • offsets diferentes;
  • customizações diferentes.
Evite misturar clientes O ideal é utilizar o cliente fornecido para a mesma source do GameServer ou compilar um cliente compatível com ela.

Main.exe funciona local, mas não externo

Esse cenário geralmente aponta para configuração de rede.

Confira:

  • 127.0.0.1 ainda configurado;
  • IP privado sendo distribuído;
  • firewall;
  • NAT;
  • CGNAT;
  • port forwarding;
  • IP público ou domínio.

Main.exe e launcher

Alguns projetos utilizam o launcher para:

  • atualizar arquivos;
  • definir parâmetros;
  • iniciar o Main.exe;
  • carregar configurações;
  • validar versão;
  • aplicar customizações.

Portanto, nem sempre alterar apenas o Main.exe é suficiente.

Checklist do Main.exe

Verificação Resultado esperado
Main.exe Compatível com o servidor.
IP Aponta para o ambiente correto.
Porta inicial Igual à porta esperada pelo ConnectServer.
ConnectServer Online e acessível.
GameServer IP e porta alcançáveis.
Serial Compatível com a source.
Version Compatível com o GameServer.
Firewall Não bloqueia portas necessárias.
Launcher Não sobrescreve configurações incorretamente.

Perguntas frequentes

Onde fica o IP do Main.exe?

Depende do cliente. Ele pode estar dentro do executável, em DLL, launcher ou arquivo externo de configuração.

Qual porta colocar no Main.exe?

Use a porta esperada pela arquitetura do seu cliente e servidor. Em muitos projetos clássicos, 44405 aparece associada ao ConnectServer, mas não é universal.

O que é serial no MU Online?

É uma informação utilizada por diversas versões como parte da validação de compatibilidade entre cliente e servidor.

Serial errado faz o MU desconectar?

Pode fazer, dependendo da validação implementada pela source.

Posso usar 127.0.0.1 no Main.exe?

Sim para testes na própria máquina. Para jogadores externos, normalmente será necessário um endereço alcançável pela rede deles.

Por que a sala aparece e desconecta?

Nesse cenário, investigue principalmente IP e porta do GameServer, firewall, serial, versão e compatibilidade do cliente.

Posso pegar Main.exe de outro servidor?

Não é recomendado sem confirmar compatibilidade de versão, serial, protocolo, DLLs e GameServer.

Conclusão

O Main.exe do MU Online precisa estar alinhado com a infraestrutura do servidor para conseguir estabelecer a conexão corretamente.

IP e porta definem para onde o cliente tentará conectar. Já informações como serial e versão podem participar da validação entre cliente e GameServer.

O ponto mais importante é não tratar valores encontrados em outra source como universais.

Sempre compare Main.exe, ConnectServer, GameServer, launcher e arquivos da mesma source antes de alterar configurações.