WoW AzerothCore - Website, API, Dashboard, CI/CD
- Go 63.6%
- TypeScript 33.6%
- HTML 1.7%
- Dockerfile 0.6%
- JavaScript 0.4%
- Other 0.1%
Launcher Wails (Go+React) que baixa o cliente 3.3.5a por manifest com
retomada, escreve o realmlist, mostra o status do servidor e se
auto-atualiza. Reaproveita do launcher do BDO apenas a estrutura — o motor
de download e o esquema de auto-update; nenhuma lógica de negócio do BDO.
Na API, /api/launcher/{version,download/:version,server-status} servem os
binários de um diretório montado, então publicar uma versão é copiar o .exe
sem rebuild da API.
GetPendingInstall devolve a struct {pending, dir}; o frontend a tratava como
string e renderizava o objeto no JSX, o que aborta a montagem do React
(error #31) e deixa a janela apenas com o fundo azul. O index.html agora
mostra erros de JS na tela, já que o bundle minificado os esconde.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014HB6WWK4RXaMfcSi8mNuaA
|
||
|---|---|---|
| api | ||
| launcher | ||
| site | ||
| .gitignore | ||
| docker-compose.yml | ||
| Jenkinsfile | ||
| README.md | ||
azeroth-server
Projeto do servidor WoW Azeroth-Ragnarok (AzerothCore WotLK 3.3.5a)
Stack
- API: Go + Gin (porta 8081)
- Site: Next.js 14 + Tailwind CSS (porta 3000)
- DB: MySQL 8.4 (server WoW existente)
Estrutura
azeroth-server/
├── api/ # REST API
│ ├── cmd/server/ # Entrypoint
│ ├── internal/
│ │ ├── database/ # MySQL queries
│ │ ├── handlers/ # HTTP handlers
│ │ ├── middleware/ # JWT auth
│ │ └── models/ # Shared types
│ └── Dockerfile
├── site/ # Next.js (site + dashboard)
│ ├── src/app/
│ │ ├── (public)/ # Registro, ranking, status
│ │ └── (admin)/ # Dashboard
│ └── Dockerfile
├── docker-compose.yml
└── Jenkinsfile
Endpoints
| Método | Rota | Descrição |
|---|---|---|
| GET | /health | Healthcheck |
| GET | /api/status | Status do servidor |
| GET | /api/ranking | Ranking de personagens |
| GET | /api/characters | Lista de personagens |
| GET | /api/guilds | Lista de guildas |
| GET | /api/ah/stats | Estatísticas do AH |
| GET | /api/classes/top | Distribuição de classes |
| POST | /auth/register | Registro de conta |
| POST | /auth/login | Login (JWT) |
| GET | /api/dashboard | Dashboard stats (auth) |
| POST | /admin/command | Comando GM (admin) |
CI/CD
Jenkins pipeline em Jenkinsfile: build API + Site, deploy no servidor WoW via Docker.