Como Criar e Configurar Servidor de MU Online Season 9
Guia completo para instalar, configurar e executar um servidor de MU Online Season 9 do zero, com SQL Server, GameServer e ConnectServer.
Visão Geral do Season 9
O MU Online Season 9 trouxe melhorias significativas em relação ao S6, incluindo o sistema de Master Level expandido, novos mapas como Kanturu Relics e La Cleon, e refinamentos no sistema de sockets de itens. A estrutura de servidores mantém os componentes clássicos — ConnectServer, DataServer e GameServer — porém com binários e banco de dados próprios para a season.
Pré-requisitos
Antes de iniciar, tenha instalado e configurado:
- Windows Server 2012/2016/2019 ou Windows 10/11 (64-bit)
- SQL Server 2008 R2 / 2012 / 2014 (Express ou Standard)
- SQL Server Management Studio (SSMS)
- .NET Framework 3.5 e 4.8
- Pacote do MuServer Season 9 (GameServer, ConnectServer, DataServer, EventServer)
- Portas liberadas: 44405 (ConnectServer), 55901 (GameServer interno)
Passo 1 — Preparar o Banco de Dados
1.1 Criar o banco principal
Abra o SSMS, conecte-se à instância local e execute:
CREATE DATABASE MuOnline
COLLATE Latin1_General_CI_AS;
GO
CREATE DATABASE MuOnline_Event
COLLATE Latin1_General_CI_AS;
GO
1.2 Importar os scripts SQL do servidor
Na pasta do seu pacote MuServer S9, localize o diretório DatabaseScript/ e execute os scripts na seguinte ordem via SSMS (File → Open → Script):
01_CreateTables.sql— cria todas as tabelas base02_StoredProcedures.sql— stored procedures de login, itens e personagens03_DefaultData.sql— dados iniciais de NPCs, shops e eventos04_EventTables.sql— tabelas de Blood Castle, Devil Square, Chaos Castle
-- Verificar se as tabelas principais foram criadas corretamente
USE MuOnline;
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
ORDER BY TABLE_NAME;
Você deve ver ao menos: AccountCharacter, Character, Guild, MEMB_INFO, MuCash, warehouse.
1.3 Criar o usuário SQL do servidor
USE master;
GO
CREATE LOGIN muonline_user WITH PASSWORD = 'SuaSenhaForte123!',
DEFAULT_DATABASE = MuOnline,
CHECK_EXPIRATION = OFF,
CHECK_POLICY = OFF;
GO
USE MuOnline;
CREATE USER muonline_user FOR LOGIN muonline_user;
EXEC sp_addrolemember 'db_owner', 'muonline_user';
GO
USE MuOnline_Event;
CREATE USER muonline_user FOR LOGIN muonline_user;
EXEC sp_addrolemember 'db_owner', 'muonline_user';
GO
sa como usuário de conexão do servidor em produção. Crie sempre um usuário dedicado com senha forte. O usuário sa deve ter login desabilitado após a instalação.Passo 2 — Estrutura de Diretórios do Servidor
Organize os binários no seguinte layout (ajuste a drive conforme necessário):
C:\MuServer\
├── ConnectServer\
│ ├── ConnectServer.exe
│ └── ConnectServer.cfg
├── DataServer\
│ ├── DataServer.exe
│ └── DSConfig.cfg
├── GameServer\
│ ├── GameServer.exe
│ ├── GameServer.ini
│ └── Data\
│ ├── Events\
│ ├── Maps\
│ └── ItemBags\
└── EventServer\
├── EventServer.exe
└── EventServer.cfg
Passo 3 — Configurar o ConnectServer
Abra ConnectServer\ConnectServer.cfg em um editor de texto (Notepad++ recomendado):
[ConnectServer]
Port=44405
MaxUser=1000
ServerIP=0.0.0.0
[GameServer1]
ServerCode=0
ServerName=Servidor 1
ServerIP=127.0.0.1
ServerPort=55901
Type=0
NonPvP=0
Port=44405— porta que o cliente conectaServerIP=0.0.0.0— escuta em todas as interfaces de redeServerCode=0— deve coincidir com o código configurado no GameServer
[GameServer2], [GameServer3] incrementando o ServerCode. Cada GameServer deve rodar em uma porta diferente (55902, 55903, etc.).Passo 4 — Configurar o DataServer
Abra DataServer\DSConfig.cfg:
[ODBC]
DSN=MuOnline
UserID=muonline_user
Password=SuaSenhaForte123!
[Server]
DataServerPort=55980
GameServerPort=55901
MaxUser=5000
O DataServer gerencia toda a comunicação com o banco de dados. Ele deve iniciar antes do GameServer.
Passo 5 — Configurar o GameServer
5.1 Configuração principal — GameServer.ini
[GameServerInfo]
ServerCode=0
ServerName=ViciadosMU S9
Port=55901
MaxUser=1000
Season=9
Episode=2
[DataServer]
DataServerIP=127.0.0.1
DataServerPort=55980
[ConnectServer]
ConnectServerIP=127.0.0.1
ConnectServerPort=55910
[GameRate]
ExpRate=100
DropRate=30
MasterExpRate=50
ZenRate=100
[PKSystem]
PKClear=1
PKLevel=3
MaxConnectPerIP=3
5.2 Configurar taxas de experiência por nível
Edite o arquivo GameServer\Data\ExpTable.cfg para ajustar XP por nível individualmente:
; Formato: Nivel,ExpNecessario
1,0
2,9000
3,18000
...
400,9500000000
5.3 Configurar Master Level
No arquivo GameServer\Data\MasterLevel\MasterSkillTree.cfg, verifique se o Master Level está habilitado:
[MasterLevel]
Enable=1
MaxMasterLevel=400
MasterExpMultiplier=1
PointsPerLevel=1
Passo 6 — Configurar Eventos no Season 9
Blood Castle (mapas 11-17 no S9)
Edite GameServer\Data\Events\BloodCastle.cfg:
[BloodCastle]
Enable=1
BCLevel1_OpenTime=00:00,03:00,06:00,09:00,12:00,15:00,18:00,21:00
BCLevel1_CloseTime=00:20,03:20,06:20,09:20,12:20,15:20,18:20,21:20
BCLevel7_OpenTime=01:00,04:00,07:00,10:00,13:00,16:00,19:00,22:00
BCLevel7_CloseTime=01:20,04:20,07:20,10:20,13:20,16:20,19:20,22:20
MaxPlayersPerEntry=15
Devil Square
Edite GameServer\Data\Events\DevilSquare.cfg:
[DevilSquare]
Enable=1
DSLevel1_OpenTime=00:30,04:30,08:30,12:30,16:30,20:30
DSLevel5_OpenTime=02:00,06:00,10:00,14:00,18:00,22:00
OpenDuration=20
MaxPlayersPerEntry=10
Passo 7 — Registrar as Strings de Conexão ODBC
No Windows, acesse Painel de Controle → Ferramentas Administrativas → Fontes de Dados ODBC (64 bits):
- Clique em Adicionar → selecione SQL Server Native Client 10.0 (ou 11.0 para SQL 2012+)
- Nome da fonte:
MuOnline - Servidor:
(local)ou.\SQLEXPRESS - Autenticação SQL: usuário
muonline_usere senha configurada - Banco padrão:
MuOnline - Clique em Testar Conexão — deve retornar sucesso
Repita o processo criando também a fonte MuOnline_Event apontando para o banco de eventos.
%SystemRoot%\system32\odbcad32.exe) para servidores modernos. O ODBC de 32 bits (%SystemRoot%\SysWOW64\odbcad32.exe) é necessário apenas se seus binários forem 32-bit — verifique o GameServer.exe com o Process Monitor.Passo 8 — Ordem de Inicialização e Scripts de Start
Crie o arquivo C:\MuServer\StartServer.bat:
@echo off
title ViciadosMU - Season 9 Starter
echo [1/4] Iniciando DataServer...
start "DataServer" /D "C:\MuServer\DataServer\" DataServer.exe
timeout /t 5 /nobreak >nul
echo [2/4] Iniciando ConnectServer...
start "ConnectServer" /D "C:\MuServer\ConnectServer\" ConnectServer.exe
timeout /t 3 /nobreak >nul
echo [3/4] Iniciando GameServer...
start "GameServer" /D "C:\MuServer\GameServer\" GameServer.exe
timeout /t 8 /nobreak >nul
echo [4/4] Iniciando EventServer...
start "EventServer" /D "C:\MuServer\EventServer\" EventServer.exe
echo.
echo Todos os servicos iniciados. Verifique as janelas abertas.
pause
A ordem é obrigatória: DataServer → ConnectServer → GameServer → EventServer.
Passo 9 — Configurações Adicionais no Banco de Dados
Definir GM e Admin via SQL
USE MuOnline;
-- Tornar uma conta GM
UPDATE MEMB_INFO
SET memb_guar = 1, bloc_code = 'N'
WHERE memb___id = 'suaconta';
-- Definir nível de GM no personagem
UPDATE Character
SET CtlCode = 8
WHERE Name = 'SeuPersonagem';
-- CtlCode: 0=normal, 1=GM parcial, 8=GM completo
Configurar loja de Cash (MuCash)
-- Adicionar Cash a uma conta
UPDATE MuCash
SET WCoinC = WCoinC + 10000
WHERE AccountID = 'suaconta';
-- Verificar saldo
SELECT AccountID, WCoinC, WCoinP
FROM MuCash
WHERE AccountID = 'suaconta';
Resolução de Problemas Comuns
| Erro | Causa provável | Solução |
|---|---|---|
DataServer: Connection Failed | ODBC não configurado ou senha errada | Teste a fonte ODBC no painel do Windows |
GameServer: Connect to DS Failed | DataServer não iniciou antes | Aguarde 10s após o DataServer antes de iniciar o GS |
| Cliente trava em "Connecting..." | Porta 44405 bloqueada | Libere a porta no Firewall do Windows e roteador |
| Personagem não salva | Stored procedures com erro | Re-execute 02_StoredProcedures.sql no SSMS |
| Master Level não aparece | MasterLevel.Enable=0 | Ative no arquivo MasterSkillTree.cfg |
LogLevel=3 em GameServer.ini. Os logs ficam em GameServer\Log\ e mostram cada conexão, desconexão e erro de banco em tempo real.Próximos Passos
Com o servidor rodando, avance para:
- Configurar o site com webEngineNET ou ASP.NET para registro de contas
- Ajustar drops por mapa em
GameServer\Data\MonsterSetBase.cfg - Configurar o sistema de Resets customizado via stored procedure
WZ_RESET_CHARACTER - Implementar backup automático do banco com SQL Server Agent
Perguntas frequentes
Qual SQL Server devo usar para Season 9?
O Season 9 é compatível com SQL Server 2008 R2, 2012 e 2014. O SQL Server 2008 R2 Express (gratuito) é o mais recomendado por estabilidade com as stored procedures do MuServer S9. Evite SQL Server 2000 pois não suporta os tipos de dados novos do banco S9.
Qual porta padrão o ConnectServer usa no Season 9?
O ConnectServer escuta na porta 44405 (TCP) por padrão. O GameServer comunica-se internamente via porta 55901. Certifique-se de liberar a 44405 no firewall do Windows e no roteador para conexões externas.
O servidor inicia mas os jogadores caem ao entrar no jogo. O que verificar?
Isso geralmente indica divergência entre a versão do cliente e do servidor. Verifique o campo Season/Episode em GameServer/GameServer.ini — o valor deve corresponder ao Main.exe do cliente. Também confira se o DataServer está em execução antes do GameServer.
Como aumentar o limite de contas por IP no Season 9?
Abra GameServer/GameServer.ini e localize a chave MaxConnectPerIP. O padrão costuma ser 2 ou 3. Altere para o valor desejado (ex: MaxConnectPerIP=5) e reinicie o GameServer. Para controle por conta use a tabela MEMB_INFO no banco de dados.