Como criar um instalador para o cliente do seu servidor de MU Online
Crie um instalador profissional para o cliente do servidor de MU Online usando NSIS ou Inno Setup — com pré-configuração de IP, atalhos, desinstalador e distribuição.
Criar um instalador para o cliente do servidor de MU Online dá uma experiência mais profissional aos jogadores — instala automaticamente as dependências necessárias (VC++, DirectX), cria atalhos na área de trabalho e no menu Iniciar, e facilita a desinstalação.
Criar um instalador para o cliente do servidor de MU Online dá uma experiência mais profissional aos jogadores — instala automaticamente as dependências necessárias (VC++, DirectX), cria atalhos na área de trabalho e no menu Iniciar, e facilita a desinstalação.
Antes de criar o instalador
Antes de empacotar o cliente, você precisa ter:
- O cliente de MU com o Main.exe já configurado com o IP/hostname do seu servidor;
- As dependências que precisam ser instaladas (VC++, DirectX);
- O ícone do servidor (arquivo
.ico).
Editar o Main.exe com o IP do servidor
O Main.exe do cliente precisa apontar para o seu servidor. Use uma ferramenta de edição de Main compatível com a versão do cliente:
- Para Season 6: ferramentas específicas do S6 (MuMain Editor, etc.);
- Para clássico: edição binária direta (hex editor ou ferramentas específicas).
O que muda no Main:
IP original: 127.0.0.1 ou ip.do.servidor.antigo
Novo IP: seuservidor.ddns.net (ou IP público)
Porta: 44405
Após editar, teste o Main localmente para confirmar que conecta ao servidor.
Opção 1 — ZIP simples (mais fácil)
Para começar rápido, compacte o cliente em um ZIP:
MeuServidor-Client.zip
├── Main.exe ← pré-configurado com o IP do servidor
├── MuOnline.exe ← ou outro executável principal
├── Data/ ← arquivos de dados do cliente
├── Sound/
├── Shader/
├── Music/
├── Setup.exe ← instalador de dependências (opcional)
└── LEIA-ME.txt ← instruções: extrair, instalar VC++, rodar Main.exe
LEIA-ME.txt:
INSTALAÇÃO DO CLIENTE - [Nome do Servidor]
1. Extraia todos os arquivos para C:\MeuServidor\ (ou qualquer pasta)
2. Execute Setup.exe para instalar as dependências (Visual C++, DirectX)
3. Execute Main.exe para jogar
Em caso de erro, visite nosso site: www.seuservidor.com.br
Discord: discord.gg/seuservidor
Opção 2 — Inno Setup (instalador profissional, gratuito)
O Inno Setup é o criador de instaladores mais usado no Windows — gratuito, confiável e fácil de aprender.
Instalar o Inno Setup
Pesquise "Inno Setup download" no site jrsoftware.org e instale. Versão 6.x é a atual.
Script básico para cliente de MU
Crie um arquivo cliente-mu.iss:
; cliente-mu.iss — Script do Inno Setup
[Setup]
; Informações do aplicativo
AppName=MeuServidor MU Online
AppVersion=1.0
AppPublisher=MeuServidor Team
AppPublisherURL=https://www.meuservidor.com.br
; Diretório de instalação padrão
DefaultDirName={autopf}\MeuServidor MU Online
DefaultGroupName=MeuServidor MU Online
; Nome do instalador gerado
OutputBaseFilename=MeuServidor-Setup
OutputDir=C:\Output
; Compressão (lzma2/ultra é o mais comprimido, mais lento)
Compression=lzma2
SolidCompression=yes
CompressionThreads=4
; Ícone do instalador
SetupIconFile=C:\ClienteSource\icone.ico
; Privilégios (admin recomendado para instalar em Program Files)
PrivilegesRequired=admin
; Idioma
[Languages]
Name: "portuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"
; Tipos de instalação
[Types]
Name: "full"; Description: "Instalação Completa"
Name: "compact"; Description: "Instalação Compacta (sem música)"
[Components]
Name: "main"; Description: "Arquivos Principais do Cliente"; Types: full compact; Flags: fixed
Name: "music"; Description: "Músicas do Jogo"; Types: full
[Tasks]
Name: "desktopicon"; Description: "Criar ícone na Área de Trabalho"; GroupDescription: "Ícones adicionais:"
Name: "quicklaunchicon"; Description: "Criar ícone no Menu Iniciar"; GroupDescription: "Ícones adicionais:"; Flags: unchecked
; Arquivos a incluir
[Files]
; Arquivos principais
Source: "C:\ClienteSource\Main.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: main
Source: "C:\ClienteSource\MuOnline.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: main
Source: "C:\ClienteSource\Data\*"; DestDir: "{app}\Data"; Flags: ignoreversion recursesubdirs; Components: main
Source: "C:\ClienteSource\Shader\*"; DestDir: "{app}\Shader"; Flags: ignoreversion recursesubdirs; Components: main
Source: "C:\ClienteSource\Sound\*"; DestDir: "{app}\Sound"; Flags: ignoreversion recursesubdirs; Components: main
; Músicas (componente opcional)
Source: "C:\ClienteSource\Music\*"; DestDir: "{app}\Music"; Flags: ignoreversion recursesubdirs; Components: music
; Ícone do servidor
Source: "C:\ClienteSource\icone.ico"; DestDir: "{app}"; Flags: ignoreversion; Components: main
; Atalhos
[Icons]
Name: "{group}\MeuServidor MU Online"; Filename: "{app}\Main.exe"; IconFilename: "{app}\icone.ico"; Tasks: quicklaunchicon
Name: "{commondesktop}\MeuServidor MU Online"; Filename: "{app}\Main.exe"; IconFilename: "{app}\icone.ico"; Tasks: desktopicon
; Atalho de desinstalação no menu
Name: "{group}\Desinstalar MeuServidor"; Filename: "{uninstallexe}"
; Executar Main.exe após instalar
[Run]
Filename: "{app}\Main.exe"; Description: "Jogar MeuServidor agora!"; Flags: nowait postinstall skipifsilent
; Instalar dependências antes
[Files]
; Visual C++ 2019 Redistributable (incluir junto)
Source: "C:\ClienteSource\Redist\VC_redist.x86.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall
Source: "C:\ClienteSource\Redist\directx_Jun2010_redist.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall
[Run]
; Instalar Visual C++ silenciosamente
Filename: "{tmp}\VC_redist.x86.exe"; Parameters: "/quiet /norestart"; StatusMsg: "Instalando Visual C++..."; Flags: waituntilterminated
; Instalar DirectX
Filename: "{tmp}\directx_Jun2010_redist.exe"; Parameters: "/Q"; StatusMsg: "Instalando DirectX..."; Flags: waituntilterminated
Compilar o instalador
- Abra o Inno Setup Compiler;
- Clique em File → Open e selecione o arquivo
.iss; - Clique em Build → Compile (ou pressione F9);
- O instalador será gerado em
C:\Output\MeuServidor-Setup.exe.
Personalizar a aparência
; Adicionar logo personalizado na tela do instalador
[Setup]
WizardImageFile=C:\ClienteSource\wizard-image.bmp ; imagem 164x314 ou 55x58
WizardSmallImageFile=C:\ClienteSource\wizard-small.bmp
; Cor de fundo
WizardStyle=modern
Opção 3 — NSIS (mais poderoso, mais complexo)
O NSIS (Nullsoft Scriptable Install System) é usado por grandes projetos. Mais poderoso que o Inno Setup, mas com curva de aprendizado maior.
Script básico NSIS
; cliente-mu.nsi — Script NSIS básico
; Metadados
!define APPNAME "MeuServidor MU Online"
!define APPVERSION "1.0"
!define INSTALLDIR "$PROGRAMFILES\MeuServidor MU Online"
Name "${APPNAME} v${APPVERSION}"
OutFile "MeuServidor-Setup.exe"
InstallDir "${INSTALLDIR}"
RequestExecutionLevel admin
; Interface moderna
!include "MUI2.nsh"
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "EULA.txt"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE "PortugueseBR"
; Seção principal
Section "Cliente do Jogo" SecMain
SetOutPath "$INSTDIR"
; Copiar arquivos
File "Main.exe"
File "MuOnline.exe"
File /r "Data\"
File /r "Shader\"
File /r "Sound\"
File "icone.ico"
; Criar atalho na área de trabalho
CreateShortCut "$DESKTOP\${APPNAME}.lnk" "$INSTDIR\Main.exe" "" "$INSTDIR\icone.ico"
; Criar atalho no menu iniciar
CreateDirectory "$SMPROGRAMS\${APPNAME}"
CreateShortCut "$SMPROGRAMS\${APPNAME}\Jogar.lnk" "$INSTDIR\Main.exe" "" "$INSTDIR\icone.ico"
CreateShortCut "$SMPROGRAMS\${APPNAME}\Desinstalar.lnk" "$INSTDIR\Uninstall.exe"
; Registrar desinstalador
WriteUninstaller "$INSTDIR\Uninstall.exe"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" \
"DisplayName" "${APPNAME}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" \
"UninstallString" "$INSTDIR\Uninstall.exe"
SectionEnd
; Instalar dependências
Section "Dependências (Recomendado)" SecDeps
; Instalar VC++ em modo silencioso
File "/oname=$TEMP\VC_redist.x86.exe" "Redist\VC_redist.x86.exe"
ExecWait '"$TEMP\VC_redist.x86.exe" /quiet /norestart'
Delete "$TEMP\VC_redist.x86.exe"
SectionEnd
; Seção de desinstalação
Section "Uninstall"
Delete "$INSTDIR\Main.exe"
Delete "$INSTDIR\MuOnline.exe"
RMDir /r "$INSTDIR\Data"
RMDir /r "$INSTDIR\Shader"
RMDir /r "$INSTDIR\Sound"
Delete "$INSTDIR\Uninstall.exe"
RMDir "$INSTDIR"
Delete "$DESKTOP\${APPNAME}.lnk"
RMDir /r "$SMPROGRAMS\${APPNAME}"
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}"
SectionEnd
Dependências que devem ser incluídas no instalador
| Dependência | Necessidade | Arquivo |
|---|---|---|
| Visual C++ 2015-2022 x86 | Sempre (a maioria dos GameServers) | vc_redist.x86.exe |
| Visual C++ 2008 x86 | Para clientes antigos | vcredist_x86.exe |
| DirectX June 2010 | Para DirectX 9.0c | directx_Jun2010_redist.exe |
| .NET Framework 3.5 | Se o launcher usar .NET | dotnetfx35.exe (ou KB) |
Baixe as versões oficiais no site da Microsoft para incluir no instalador.
Criar instalador ZIP com autoextractor (alternativa simples)
Uma opção sem código é usar o 7-Zip SFX para criar um arquivo auto-extraível:
:: Criar SFX (Self-Extracting Archive) com 7-Zip
"C:\Program Files\7-Zip\7z.exe" a -sfx7z.sfx MeuServidor-Client.exe C:\ClienteSource\*
O .exe gerado extrai os arquivos para a pasta escolhida pelo usuário ao ser executado.
Distribuição do instalador
Calcular hash para verificação de integridade
Após criar o instalador, divulgue o hash para que jogadores possam verificar a autenticidade:
:: No PowerShell
Get-FileHash .\MeuServidor-Setup.exe -Algorithm SHA256
:: Saída:
:: Algorithm Hash Path
:: SHA256 A3B4C5D6E7... .\MeuServidor-Setup.exe
Publique o hash SHA256 no seu site ou Discord — jogadores podem verificar se o arquivo não foi modificado.
Onde hospedar o instalador
| Opção | Tamanho máximo | Velocidade | Custo |
|---|---|---|---|
| Google Drive | 15 GB | Boa | Gratuito |
| Mega.nz | 20 GB (grátis) | Boa | Gratuito |
| OneDrive | 5 GB | Boa | Gratuito |
| Servidor próprio (VPS) | Ilimitado (por disco) | Excelente | Incluso no VPS |
| GitHub Releases | 2 GB por arquivo | Boa | Gratuito |
Atualizações do cliente
Quando você precisar atualizar o cliente (patch de correção, novo conteúdo), você tem três opções:
- Novo instalador completo — mais simples, mas grande para baixar;
- ZIP de patch — apenas os arquivos alterados compactados;
- Launcher com auto-update — a solução mais elegante (ver tutorial de Launcher).
Para um servidor em crescimento, invista num Launcher que verifica e atualiza automaticamente os arquivos do cliente. Veja o guia Como criar um launcher de atualização.
Perguntas frequentes
Preciso criar um instalador ou posso só zipar o cliente?
Não é obrigatório. Você pode distribuir o cliente como ZIP. O instalador profissional melhora a experiência do jogador, instala dependências (VC++, DirectX), cria atalhos e facilita atualizações.
O instalador precisa ser assinado digitalmente?
Não é obrigatório para servidores privados. Sem assinatura, o Windows Defender pode marcar como suspeito. Você pode ignorar ou adicionar aos antivírus o cliente como exceção.
Onde incluo o IP do servidor no instalador?
O IP fica no Main.exe do cliente (ou em um arquivo de configuração junto). Você edita o Main antes de criar o instalador. Os jogadores recebem o Main já pré-configurado.
Qual ferramenta usar: NSIS ou Inno Setup?
Ambas são gratuitas e profissionais. Inno Setup é mais simples de aprender; NSIS é mais poderoso e flexível. Para a maioria dos casos, Inno Setup é suficiente.