Como configurar o MuServer passo a passo (ConnectServer, GameServer e taxas)
Configure cada componente do MuServer: ConnectServer, JoinServer, DataServer e GameServer — com exemplos reais de arquivos .ini e ordem de inicialização.
O MuServer é o conjunto de executáveis que fazem o jogo funcionar. Configurá-lo corretamente — com cada serviço apontando para o banco e para os outros — é o núcleo da administração de servidor. Este tutorial cobre a estrutura, os arquivos de configuração e os valores mais importantes.
O MuServer é o conjunto de executáveis que fazem o jogo funcionar. Configurá-lo corretamente — com cada serviço apontando para o banco e para os outros — é o núcleo da administração de servidor. Este tutorial cobre a estrutura, os arquivos de configuração e os valores mais importantes.
A arquitetura do MuServer
CLIENTE (jogador)
│
▼ porta 44405
ConnectServer ← recebe o cliente, lista os servidores
│
▼
JoinServer ← autentica o login (conta + senha)
│
▼
GameServer ← onde o jogo acontece (mapas, monstros, PvP)
│
▼
DataServer / DBServer ← ponte entre GameServer e SQL Server
│
▼
SQL Server (banco) ← dados permanentes (chars, itens, guilds)
Cada serviço tem sua pasta e seus arquivos .ini. A estrutura de pastas varia por distribuição, mas normalmente é assim:
MuServer/
├── ConnectServer/
│ ├── ConnectServer.exe
│ └── ConnectServer.ini (ou CSConfig.ini)
├── JoinServer/
│ ├── JoinServer.exe
│ └── JoinServer.ini
├── DataServer/ (alguns chamam de DBServer/)
│ ├── DataServer.exe
│ └── DataServer.ini
├── GameServer/
│ ├── GameServer.exe
│ ├── GameServer.ini
│ └── Data/ ← arquivos de monstros, itens, mapas
└── EventServer/ ← presente em seasons mais altas
└── EventServer.exe
Passo 1 — Configurar o DataServer (ponte com o SQL)
O DataServer é o primeiro a configurar porque todos os outros dependem dele para ler e gravar dados.
Abra o arquivo DataServer.ini (ou DBServer.ini) na pasta correspondente:
[ODBC]
DSN = MuOnline ; nome do DSN criado no ODBC 32 bits
UID = mu_app ; usuário SQL criado para o MuServer
PWD = SenhaForteMuApp! ; senha desse usuário
[SERVER]
ServerIP = 127.0.0.1 ; IP local para comunicação interna
ServerPort = 55557 ; porta padrão do DataServer
[LOG]
LogPath = ./Log/ ; pasta onde os logs ficam
LogLevel = 1 ; 0=mínimo, 1=normal, 2=verbose
C:\Windows\SysWOW64\odbcad32.exe). Qualquer diferença de maiúscula/minúscula ou espaço faz o DataServer não conectar.Depois de salvar, inicie o DataServer (como Administrador). A janela de console deve mostrar algo como:
[DataServer] Connecting to ODBC: MuOnline ... OK
[DataServer] Listening on 127.0.0.1:55557
Se mostrar erro de ODBC, volte ao tutorial de configuração de SQL.
Passo 2 — Configurar o JoinServer
O JoinServer gerencia autenticação de contas. Seu .ini é simples:
[SERVER]
ServerIP = 127.0.0.1 ; IP do JoinServer (geralmente local)
ServerPort = 55555 ; porta padrão
[DATASERVER]
DataServerIP = 127.0.0.1 ; deve bater com o DataServer
DataServerPort = 55557
[LOG]
LogPath = ./Log/
Inicie o JoinServer. O console deve confirmar conexão com o DataServer.
Passo 3 — Configurar o ConnectServer
O ConnectServer é o ponto de entrada dos jogadores. Ele mantém a lista de GameServers disponíveis:
[CONNECTSERVER]
ServerIP = 0.0.0.0 ; escuta em todas as interfaces
ServerPort = 44405 ; porta que o cliente conecta
[GAMESERVER_INFO]
; cada entrada define um GameServer disponível na lista
ServerCode = 0
GameServerIP = 127.0.0.1 ; IP público/local do GameServer
GameServerPort = 55901 ; porta do GameServer
[LOG]
LogPath = ./Log/
Para múltiplos GameServers, adicione mais blocos [GAMESERVER_INFO] com ServerCode = 1, 2, etc.
ServerIP = 0.0.0.0 faz o ConnectServer escutar em todas as interfaces de rede — tanto localhost quanto IP público. Se quiser restringir a uma interface específica, coloque o IP dela.Passo 4 — Configurar o GameServer (o mais detalhado)
O GameServer.ini é o arquivo de configuração mais extenso. Veja os principais blocos:
Conexão com DataServer e JoinServer
[DATASERVER]
DataServerIP = 127.0.0.1
DataServerPort = 55557
[JOINSERVER]
JoinServerIP = 127.0.0.1
JoinServerPort = 55555
Identidade do servidor
[SERVER]
ServerCode = 0 ; deve coincidir com o ConnectServer
ServerName = MeuServidor ; nome exibido na lista de servidores
ServerIP = 0.0.0.0 ; escuta em todas interfaces
ServerPort = 55901 ; porta do GameServer
MaxUser = 500 ; máximo de jogadores simultâneos
Taxas principais
[EXP]
ExpMultiplier = 10 ; multiplicador de EXP (10x padrão para Season 6)
MasterExpMult = 5 ; EXP do Master Level
[DROP]
DropMultiplier = 3 ; multiplicador de drop de itens
MoneyMultiplier = 3 ; multiplicador de Zen dropado
[RESET]
ResetLimit = 400 ; nível para resetar (400 = máximo Season 6)
ResetStatBonus = 100 ; pontos de atributo ganhos por reset
MaxResets = 100 ; resets máximos permitidos
Eventos
[EVENTS]
BloodCastle = 1 ; 1=ativo, 0=desabilitado
DevilSquare = 1
ChaosCastle = 1
CastleSiege = 1
Crywolf = 1
IllusionTemple = 1
KanturuEvent = 1
[EVENT_SCHEDULE]
; horários no formato HH:MM (24h), separados por vírgula
BloodCastleHour = 09:00,12:00,15:00,18:00,21:00,00:00
DevilSquareHour = 09:30,12:30,15:30,18:30,21:30,00:30
Configurações de PvP e PK
[PVP]
PKKillLimit = 5 ; kills para virar PK (nome vermelho)
PKDeathPenalty = 1 ; 1=penalidade ao morrer como PK
PKItemDrop = 1 ; 1=dropa itens ao morrer como PK
Passo 5 — Ordem correta de inicialização
Sempre inicie os serviços nesta ordem, aguardando cada um estabilizar antes do próximo:
1. DataServer.exe (aguardar "Listening on" aparecer no console)
2. JoinServer.exe (aguardar "Connected to DataServer" no console)
3. ConnectServer.exe (aguardar "Listening on port 44405" no console)
4. GameServer.exe (último — depende de todos os anteriores)
Para desligar, faça sempre o inverso:
4. Fechar GameServer primeiro
3. ConnectServer
2. JoinServer
1. DataServer por último
Isso garante que o GameServer salve os dados no banco antes de fechar.
Passo 6 — Testar a conexão com o cliente
Com todos os serviços rodando, abra o cliente de MU e tente conectar:
- O cliente deve mostrar a lista de servidores (se não mostrar, o ConnectServer não está respondendo);
- Selecione o servidor e clique em Connect;
- Entre com uma conta — se aparecer a tela de seleção de personagem, tudo está funcionando.
Para testes locais, o cliente precisa estar configurado para conectar em 127.0.0.1 porta 44405. Isso geralmente é feito editando o Main do cliente.
Passo 7 — Criar conta de GM (Game Master)
Com o servidor funcionando, crie sua conta de administrador pelo SSMS:
-- Inserir conta no banco (o formato exato varia por distribuição)
USE MuOnline;
-- Season 6 típico:
INSERT INTO MEMB_INFO (memb___id, memb__passwd, memb_name, sno__numb, bloc_code, ctl_code)
VALUES ('admin', '123456', 'Administrador', '000-000-000-0000', 0, 1);
-- ctl_code = 1 geralmente significa GM level 1
O campo ctl_code define o nível de GM. Consulte a documentação da sua distribuição para os valores corretos (alguns usam gm_level, outros ctl_code).
Depois no jogo, use o comando /addstr 32767 ou similar para distribuir pontos.
Arquivos de dados importantes (pasta Data/)
O GameServer lê dezenas de arquivos na pasta Data/ que definem o conteúdo do jogo:
| Arquivo | Conteúdo |
|---|---|
Monster.txt | Definições de monstros (HP, dano, EXP, movimentação) |
MonsterSetBase.txt | Posicionamento de spawn de monstros por mapa |
ItemPriceConvert.txt | Preços de itens no Game Shop |
DropTable.txt / Drop.txt | Tabelas de drop por monstro |
MagicName.txt | Skills e habilidades por classe |
EventItemBag.txt | Loot de eventos (Blood Castle, Devil Square etc.) |
CastleSiege.txt | Configurações do Castle Siege |
Logs e diagnóstico
Todos os serviços geram logs na pasta ./Log/ (ou similar). São os primeiros lugares para olhar quando algo não funciona:
Log/
├── GameServer_20260701.txt ← log diário do GameServer
├── DataServer_20260701.txt ← erros de banco
├── JoinServer_20260701.txt ← falhas de autenticação
└── ConnectServer_20260701.txt
Mensagens de erro comuns e o que significam:
| Mensagem no log | Causa | Ação |
|---|---|---|
ODBC Connection Failed | DSN errado ou SQL parado | Verificar ODBC 32 bits e serviço SQL |
Port already in use: 55901 | Outro processo na porta | Matar o processo ou mudar a porta |
Cannot connect to JoinServer | JoinServer não iniciado ou IP/porta errado | Iniciar JoinServer antes do GameServer |
Map files not found | Pasta Data/ incompleta | Verificar arquivos da distribuição |
Invalid server code | Código do servidor não bate com ConnectServer | Alinhar ServerCode nos dois .ini |
Abrindo as portas no firewall do Windows
O Firewall do Windows bloqueia conexões externas por padrão. Abra as portas necessárias:
Portas padrão do MuServer:
- 44405 (TCP) — ConnectServer (jogadores se conectam aqui)
- 55901 (TCP) — GameServer (ou 55902, 55903 para subservers)
- 55555 (TCP) — JoinServer (comunicação interna, geralmente não precisa abrir externamente)
- 55557 (TCP) — DataServer (comunicação interna)
Via PowerShell (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" dir=in action=allow protocol=TCP localport=55901
Próximos passos
Com o MuServer configurado e rodando:
- Editar itens e nível máximo — para ajustar caps e itens disponíveis
- Configurar drops por mapa e monstro — para balancear a economia
- Configurar Castle Siege — para o evento principal do servidor
- Proteger o servidor anti-hack — essencial antes de abrir ao público
Perguntas frequentes
O que é ConnectServer?
É o serviço que recebe o cliente e apresenta a lista de servidores disponíveis. O cliente sempre conecta no ConnectServer primeiro (porta 44405), que então redireciona para o GameServer.
Posso ter vários GameServers?
Sim. Servidores maiores separam mapas em subservers: Server 0 com Lorencia/Noria/Devias, Server 1 com Dungeon/Atlans/Tarkan etc. Cada um tem sua porta e todos apontam para o mesmo banco.
O GameServer fecha sozinho — o que fazer?
Leia o log do GameServer (arquivo .txt na pasta ou console). Quase sempre é: DSN ODBC errado, DataServer não iniciado, ou porta já em uso por outro processo.
Qual a ordem de inicialização dos serviços?
DataServer (ou DBServer) → JoinServer → ConnectServer → GameServer. O GameServer depende de todos os outros estarem prontos.