Sarjuuk / aowow

logo

Build Status

fuck it ship it

Introduction

AoWoW é uma ferramenta de banco de dados para World of Warcraft v3.3.5 (build 12340)É baseado na outra famosa ferramenta de Banco de Dados para WoW, apresentando o foguete vermelho sorridente. Enquanto os primeiros lançamentos podem ser encontrados já em 2008, hoje é impossível dizer quem criou este projeto. Esta é uma reescrita completa do código php dos servidores e atualização para os javascripts dos clientes de 2008 para algo 2013.

Eu mesmo não assumo nenhum crédito pelos scripts do lado do cliente, design e layout que estes php-scripts fornecem. Além disso, este projeto não é para ser usado para puposes comerciais de qualquer tipo!

Requirements

  • Webserver rodando PHP ≥ 7.1 incluindo extensões:
    • SimpleXML
    • GD
    • MySQL Melhorado
    • Multibyte String
    • Informação de Arquivo
    • Precisão Múltipla GNU (Quando usando TrinityCore como fonte auth)
  • MySQL ≥ 5.5.30
  • TDB 335.21021
  • Ferramentas requerem cmake: Consulte os repositórios individuais para informações detalhadas
    • MPQExtractor / FFmpeg / (opcional: BLPConverter)
    • Utilizadores WIN podem achar mais fácil usar estas alternativas
      • MPQEditor / FFmpeg / (opcional: BLPConverter)

processamento de áudio pode requerer lame ou vorbis-tools (que pode requerer libvorbis (que pode requerer libogg))

Altamente Recomendado

  • configurar os seguintes valores de configuração no seu servidor TrinityCore irá aumentar grandemente a precisão dos pontos de spawn

    Calcular.Creature.Zone.Area.Data = 1
    Calculate.Gameoject.Zone.Data = 1

Install

1. Adquira os repositórios necessários

git clone [email protected]:Sarjuuk/aowow.git aowow
git clone [email protected]:Sarjuuk/MPQExtractor.git MPQExtractor

2. Prepare a base de dados

Certifique-se de que a conta que vai utilizar tem acesso total à base de dados AoWoW vai ocupar e idealmente só leia o acesso na base de dados mundial que vai consultar.
Importe setup/db_structure.sql para a base de dados AoWoW mysql -p {your-db-here} < setup/db_structure.sql

3. Ficheiros criados pelo servidor

Veja, que o servidor web é capaz de escrever os seguintes directórios e os seus filhos. Se eles estiverem faltando, a configuração irá criá-los com permissões apropriadas

  • cache/
  • config/
  • static/download/
  • static/widgets/
  • static/js/
  • static/uploads/
  • >static/images/wow/>
  • datasets/

4. Extrair os arquivos dos clientes (MPQs)

Extrair os seguintes directórios dos arquivos dos clientes para setup/mpqdata/, mantendo a ordem dos patchs (mpq base -> patch-mpq: 1 -> 9 -> A -> Z). Os caminhos necessários estão espalhados pelos arquivos. Sobreescreva arquivos mais antigos se for pedido a.
… para cada local que você vai usar:

<localeCode>/DBFilesClient/
<localeCode>/Interface/WorldMap/
<localeCode>/Interface/FrameXML/GlobalStrings.lua

… uma vez é suficiente (ainda assim aplique o localeCode):

<localeCode>/Interface/TalentFrame/
<localeCode>/Interface/Glues/Credits/
<localeCode>/Interface/Icons/
<localeCode>/Interface/Spellbook/
<localeCode>/Interface/PaperDoll/
<localeCode>/Interface/GLUES/CHARACTERCREATE/
<localeCode>/Interface/Pictures
<localeCode>/Interface/PvPRankBadges
<localeCode>/Interface/FlavorImages
<localeCode>/Interface/Calendar/Holidays/
<localeCode>/Sound/

.. opcionaly (não usado em AoWoW):

<localeCode>/Interface/GLUES/LOADINGSCREENS/

5. Reencodificar os ficheiros de áudio

WAV-files precisam de ser recodificados como ogg/vorbis e alguns MP3s podem identificar-se como application/octet-stream em vez de audio/mpeg.

  • exemplo para WIN
  • exemplo para *nix

6. Execute a configuração inicial do CLI

php aowow --setup.
Isto deve guiá-lo com o mínimo de input necessário do seu fim, mas levará algum tempo, especialmente compilando as imagens da zona. Use-o para se familiarizar com as outras funções que esta configuração tem. Sim, estou falando sério: vá ler o código! Ele irá ajudá-lo a entender como configurar AoWoW e mantê-lo em sincronia com sua base de dados mundial.
Quando você criou sua conta de administrador você está pronto.

Troubleshooting

Q: A Página aparece branca, sem nenhum estilo.
A: O conteúdo estático não está sendo exibido. Você está usando SSL e AoWoW é incapaz de detectá-lo ou STATIC_HOST não está definido poperly. De qualquer forma isto pode ser corrigido através da configuração php aowow --siteconfig

Q: Erro fatal: Não pode herdar função abstrata <functionName> (anteriormente declarado abstrato em <className>) em <path>
A: Você está usando módulos de otimização de cache para php, que estão em conficção uns com os outros. (Zend OPcache, XCache, …) Desabilite todos menos um.

Q: Algumas imagens geradas parecem distorcidas ou têm problemas de canal alfa.
A: A compressão de imagens está além do meu entendimento, então não consigo corrigir esses problemas dentro do blpReader.MAS você pode converter o arquivo blp afetado em um arquivo png no mesmo diretório, usando o BLPConverter.AoWoW dará prioridade aos arquivos png sobre os arquivos blp.

Q: Como posso fazer o modelviewer funcionar?
A: Você não pode mais. Wowhead mudou do Flash para WebGL (como deveria) e moveu ou apagou os arquivos antigos no processo.

Q: Estou recebendo erros javascript aleatórios!
A: Algumas configurações de servidor ou serviços externos (como Cloudflare) vêm com módulos, que automaticamente minificam os arquivos js e css. Às vezes eles quebram no processo. Desabilite o módulo neste caso.

Q: Alguns resultados de busca dentro do profiler agem de forma bastante estranha. Como funciona?
A: Sempre que você tentar ver um novo caractere, AoWoW precisa ir buscá-lo primeiro. Como os dados são estruturados para as necessidades do TrinityCore e não para fácil visualização, AoWoW precisa salvá-los e reestruturá-los localmente. Para isso, cada pedido de char é colocado em uma fila. Enquanto a fila não está vazia, uma única instância de prQueue é executada em segundo plano para não sobrecarregar a base de dados de caracteres com pedidos. Isto também significa que algumas consultas de busca mais exóticas não podem ser executadas novamente no banco de dados de caracteres e têm que usar os perfis incompletos/atualizados em cache de AoWoW.

Thanks

@mix: por fornecer o php-script para parse .blp e .dbc em imagens e tabelas utilizáveis
@LordJZ: o wrapper-class para DBSimple; a idéia básica para a classe de usuário
@kliver: implementação básica de uploads de screenshot
@Sarjuuk: mantenedor do projeto

Agradecimentos especiais

Said website com o foguete sorridente vermelho, por fornecer este lindo website!Por favor, não reajam a este projeto como um rasgo flagrante, mas sim como “Nós realmente gostamos da sua apresentação, mas como o tempo e o conteúdo progride, você infelizmente não está mais fornecendo os dados que precisamos”.

 usa crachás