O maior portal de MU Online do Brasil — desde 2003
Tutorial Avançado Website

Como instalar o WebEngine CMS para o seu servidor de MU Online

Instale e configure o WebEngine CMS do zero para o site do seu servidor de MU Online, conectando ao banco do emulador com segurança e ativando módulos essenciais como rankings, downloads e registro de conta.

GA Gabriel · Atualizado em 14 jun 2024 · ⏱ 18 min de leitura
Resposta rápida

O site é a primeira coisa que um jogador vê antes de entrar no seu servidor de MU Online. É por ele que se cria a conta, se consulta o ranking, se baixa o cliente e se acompanha eventos. Montar esse site manualmente em PHP puro é possível, mas trabalhoso e arriscado do ponto de vista de segurança. O

O site é a primeira coisa que um jogador vê antes de entrar no seu servidor de MU Online. É por ele que se cria a conta, se consulta o ranking, se baixa o cliente e se acompanha eventos. Montar esse site manualmente em PHP puro é possível, mas trabalhoso e arriscado do ponto de vista de segurança. O WebEngine CMS resolve isso: é um sistema de gerenciamento de conteúdo feito especificamente para servidores de MU Online, que já traz registro de conta, rankings, painel de usuário, sistema de créditos, downloads e integração direta com o banco do emulador. Este tutorial mostra, em nível avançado, como instalar o WebEngine do zero, conectá-lo com segurança ao banco do servidor e deixá-lo pronto para produção.

Antes de começar, entenda o desenho da coisa. O WebEngine é uma aplicação PHP que lê e escreve nas mesmas tabelas que o emulador do jogo usa (as tabelas de conta, personagem, warehouse). O servidor de jogo tradicionalmente roda em Windows com SQL Server; o site pode rodar no mesmo Windows (via IIS ou XAMPP) ou em uma hospedagem Linux separada, desde que consiga alcançar o SQL Server pela rede. Todo o trabalho de instalação gira em torno de três eixos: subir os arquivos PHP, garantir que o PHP consegue falar com o SQL Server, e configurar as credenciais e nomes de tabela corretos.

Pré-requisitos

Antes de tocar em qualquer arquivo, garanta que você tem tudo abaixo. Pular esta etapa é o motivo número um de instalações que "não funcionam".

  • Servidor de MU já instalado e com banco funcionando no SQL Server. Se ainda não chegou nessa fase, comece pelo guia de como criar servidor de MU Online, que cobre a base antes do site.
  • Servidor web com PHP. Pode ser IIS ou Apache (XAMPP/WAMP) no Windows, ou Apache/Nginx no Linux. A versão de PHP exigida varia por versão do WebEngine; builds recentes pedem PHP 7.4 ou 8.x.
  • Extensão de driver SQL Server para PHP (sqlsrv e pdo_sqlsrv no Windows, ou pdo_dblib/FreeTDS no Linux). Sem isso o site não conecta ao banco.
  • Credenciais do SQL Server: idealmente um usuário dedicado de baixo privilégio, não o sa.
  • Acesso FTP ou ao sistema de arquivos para subir os arquivos do CMS.
  • Um domínio ou, para testes, acesso via IP/localhost.
ComponentePapelOnde roda (exemplo)
Emulador do jogoLógica do MU, GameServer/ConnectServerVPS Windows
SQL ServerBanco de contas, personagens, itensVPS Windows
PHP + WebEngineSite, registro, ranking, painelHospedagem Linux ou o mesmo Windows
Driver sqlsrv/PDOPonte entre PHP e SQL ServerJunto do PHP

> Aviso: os nomes de tabela e coluna citados adiante (MEMB_INFO, Character, AccountCharacter) são exemplos comuns da linha Season 6. O esquema real varia por emulador e por versão. Sempre confira o mapeamento no painel de configuração do CMS.

Passo 1: Baixar a versão correta do WebEngine

O WebEngine é distribuído como um pacote de arquivos PHP. Baixe sempre a versão estável mais recente da fonte oficial do projeto, não de repositórios aleatórios que podem conter backdoors. Uma prática de segurança essencial em cenário de MU: nunca use um CMS "modificado" oferecido em fórum sem auditar o código, pois é vetor clássico de injeção de shell.

Depois de baixar, descompacte em uma pasta local. Você verá uma estrutura parecida com esta (varia por versão):

webengine/
├── index.php
├── includes/
│   └── config/          # arquivos de configuração
├── modules/             # módulos: rankings, downloads, etc.
├── themes/              # temas do site
├── admincp/             # painel administrativo
└── install/             # assistente de instalação (apagar depois!)

Passo 2: Preparar o PHP e o driver do SQL Server

Este é o passo que mais gera dor de cabeça. O PHP, por padrão, não fala com SQL Server. É preciso instalar e habilitar o driver.

No Windows com PHP, baixe os drivers sqlsrv da Microsoft compatíveis com a sua versão exata de PHP (a compatibilidade varia por versão: thread-safe x non-thread-safe, x64 x x86). Copie os .dll para a pasta ext/ do PHP e adicione no php.ini:

extension=php_sqlsrv_81_ts_x64.dll
extension=php_pdo_sqlsrv_81_ts_x64.dll

No Linux, o caminho costuma ser via pecl install sqlsrv pdo_sqlsrv com o pacote msodbcsql da Microsoft, ou usar FreeTDS/pdo_dblib como alternativa. Reinicie o servidor web e valide com um arquivo temporário:

<?php
// teste-driver.php — apague depois de usar
phpinfo();
// Procure por "sqlsrv" ou "pdo_dblib" na página gerada.

Abra teste-driver.php no navegador e confirme que o driver aparece. Se não aparecer, o PHP não carregou a extensão e nada mais vai funcionar. Resolva isso antes de continuar.

Passo 3: Criar um usuário SQL de baixo privilégio

Nunca conecte o site com o usuário sa. Se o site for comprometido, o atacante herda controle total do banco. Crie um usuário dedicado com permissão apenas nas tabelas que o site precisa:

-- Executar no SQL Server, ajustando o nome do banco
USE [master];
CREATE LOGIN web_mu WITH PASSWORD = 'SenhaForteAqui#2024', CHECK_POLICY = ON;
GO
USE [MuOnline];  -- nome do banco varia por emulador
CREATE USER web_mu FOR LOGIN web_mu;
-- Conceda apenas leitura/escrita nas tabelas do jogo
ALTER ROLE db_datareader ADD MEMBER web_mu;
ALTER ROLE db_datawriter ADD MEMBER web_mu;
GO

Assim, mesmo em caso de invasão, o dano é limitado a leitura/escrita de dados, sem poder soltar tabelas ou criar logins.

Passo 4: Subir os arquivos para o servidor web

Envie o conteúdo da pasta webengine/ para o diretório público do seu servidor web (por exemplo htdocs/, www/ ou wwwroot/) via FTP ou cópia direta. Garanta que as permissões de escrita estejam corretas nas pastas que o CMS precisa gravar (cache, uploads, config), tipicamente algo como 755 para pastas e 644 para arquivos no Linux. Evite 777: é uma falha de segurança comum e desnecessária.

Passo 5: Rodar o assistente de instalação

Com os arquivos no lugar, acesse http://seudominio.com/install/ no navegador. O assistente do WebEngine vai guiá-lo por etapas (o fluxo exato varia por versão):

  1. Verificação de requisitos — o instalador checa versão de PHP, extensões e permissões de pasta. Corrija qualquer item marcado em vermelho antes de avançar.
  2. Dados de conexão do banco — informe host/IP do SQL Server, porta (1433 por padrão), nome do banco, usuário (web_mu) e senha.
  3. Mapeamento de tabelas — confirme os nomes das tabelas de conta e personagem do seu emulador.
  4. Criação do administrador — defina o usuário admin do painel do CMS.
  5. Conclusão — o instalador grava o arquivo de configuração.

Exemplo de como o config final costuma se parecer (nomes variam por versão):

<?php
// includes/config/config.database.php
$config_database_host   = '203.0.113.10';   // IP do SQL Server
$config_database_port   = '1433';
$config_database_name   = 'MuOnline';
$config_database_user   = 'web_mu';
$config_database_pass   = 'SenhaForteAqui#2024';
$config_database_driver = 'sqlsrv';          // ou dblib no Linux

Passo 6: Apagar a pasta de instalação

Este passo é obrigatório e frequentemente esquecido. A pasta install/ permite reconfigurar todo o site, incluindo credenciais de banco. Deixá-la acessível é entregar seu servidor de bandeja.

# No servidor, após concluir a instalação
rm -rf /caminho/para/webengine/install/

Se o CMS ainda detectar a pasta e recusar-se a funcionar, é justamente o mecanismo de segurança forçando você a removê-la. Confirme a exclusão.

Passo 7: Configurar módulos essenciais

Entre no painel administrativo (/admincp/) com o usuário admin criado. A partir daí, ative e configure os módulos que dão vida ao site:

  • Registro de conta — define regras de senha, verificação por e-mail e proteção contra bots. A segurança do registro é crítica; senhas devem ser gravadas com hash, nunca em texto puro (o WebEngine já trata isso, mas confirme nas opções).
  • Rankings — top de resets, PK, guildas. Configure o cache para não bater no banco a cada acesso.
  • Downloads — links do cliente do jogo. Hospede em CDN ou storage próprio.
  • Sistema de créditos/donation — opcional; se for cobrar, trate pagamentos com prepared statements e valide todo callback do gateway.

Passo 8: Ajustar tema e SEO

Escolha um tema em themes/ e ative-o no painel. Personalize logo, cores e textos. Configure título, meta description e URLs amigáveis para que o site apareça bem no Google. Um site limpo e rápido converte muito mais visitantes em jogadores.

Erros comuns e soluções

SintomaCausa provávelSolução
Tela branca ao abrir o siteErro fatal de PHP oculto (driver ausente, versão incompatível)Ative display_errors ou leia o log de erro do PHP; corrija a extensão sqlsrv
"Could not connect to database"Credenciais erradas, porta 1433 fechada, SQL Server sem TCP/IPTeste a conexão, libere o firewall, habilite TCP/IP no SQL Server Configuration Manager
Ranking vazio mesmo com jogadoresNomes de tabela/coluna errados no mapeamentoAjuste o mapeamento ao esquema do seu emulador
Registro cria conta mas login no jogo falhaFormato de senha divergente entre site e emuladorConfirme o algoritmo de hash esperado pelo emulador; varia por versão
Painel admin acessível por qualquer umPasta install não apagada / senha fracaApague install/, troque a senha admin, restrinja admincp por IP se possível
Erro 500 ao gravar cachePermissões de pasta insuficientesAjuste permissões de escrita nas pastas de cache/upload (não use 777)

Checklist de lançamento

  • Servidor de jogo e SQL Server funcionando antes do site
  • PHP na versão exigida pela sua build do WebEngine
  • Driver sqlsrv/PDO carregado e confirmado no phpinfo
  • Usuário SQL dedicado de baixo privilégio criado (não o sa)
  • Porta 1433 liberada apenas para o IP do site
  • Arquivos subidos com permissões corretas (sem 777)
  • Assistente de instalação concluído com sucesso
  • Pasta install/ apagada
  • Senha do admin do painel forte e única
  • Módulos de registro, ranking e downloads testados
  • Registro validado: conta criada no site loga no jogo
  • display_errors desligado em produção
  • Backup do banco e dos arquivos do site agendado

Com o WebEngine instalado e endurecido, você tem um site profissional que conversa diretamente com o servidor, reduz trabalho manual e oferece uma porta de entrada confiável para novos jogadores. O segredo do sucesso não é só instalar, mas manter: aplique atualizações de segurança, monitore os logs e revise as permissões periodicamente. Um site bem cuidado é tão importante quanto um servidor bem balanceado.

Perguntas frequentes

O WebEngine CMS é gratuito?

A base do WebEngine CMS é open source e gratuita para uso. Existem plugins e temas pagos criados pela comunidade, mas o núcleo do CMS, os módulos de ranking, registro e conta não custam nada. Você só paga por hospedagem e, se quiser, por temas premium.

Qual versão de PHP o WebEngine exige?

Depende da versão do CMS. Builds antigas rodavam em PHP 5.6, enquanto as revisões mais recentes pedem PHP 7.4 ou 8.x com a extensão sqlsrv ou pdo_sqlsrv. Confira o README da sua versão, pois o requisito varia por versão e usar PHP incompatível é a causa mais comum de tela branca.

Preciso do banco no mesmo servidor do site?

Não. O site em PHP pode ficar em uma hospedagem Linux e o SQL Server do emulador em uma VPS Windows separada. Basta liberar a porta 1433 apenas para o IP do site e usar um usuário SQL de baixo privilégio. Manter web e banco separados é inclusive mais seguro.

Por que aparece tela branca depois de subir os arquivos?

Tela branca quase sempre é erro fatal de PHP oculto. As causas mais comuns são extensão sqlsrv ausente, versão de PHP incompatível ou credenciais erradas no config. Ative display_errors temporariamente ou leia o log de erro do PHP para ver a mensagem real antes de qualquer outra coisa.

O WebEngine funciona com qualquer emulador de MU?

Ele foi desenhado para a linha de emuladores baseados em SQL Server (Season 6 e derivados como o padrão da comunidade). A estrutura de tabelas de conta e personagem esperada varia por emulador, então ajuste os nomes de tabela e coluna no painel de configuração do CMS conforme o seu servidor.

GA
Editor de guias e builds

Gabriel cobre gameplay, builds de classes, PvP e progressão. Testa cada estratégia em servidor antes de publicar.

Continue lendo

Artigos relacionados