Comenzar

Comenzar

Firelands (firelands-next) es un emulador de servidor privado WoW Cataclysm 4.3.4 (build de cliente 15595) construido con ingeniería moderna: arquitectura hexagonal, desarrollo guiado por pruebas y C++20 en todo el proyecto.

Repositorio: github.com/FirelandsProject/firelands-next

Qué Ofrece Firelands

CaracterísticaDetalle
Servidor authAutenticación SRP-6a, lista de reinos, login REST opcional
Servidor worldGameplay, hechizos, combate, gossip, herramientas GM
Tres bases de datosfirelands_auth, firelands_characters, firelands_world
Scripting LuaPersonalización en servidor sin recompilar
Comandos GMComandos . en juego y consola interactiva FTXUI
CLI DevToolsGestión de cuentas y reinos desde terminal

Tecnologías

LenguajeC++20
BuildCMake 3.10+ + Ninja (obligatorio)
RedBoost.Asio (corrutinas C++20)
Base de datosMySQL / MariaDB 8
Cripto authSRP-6a, OpenSSL
Configyaml-cpp (authserver.yaml, worldserver.yaml)
Loggingspdlog 1.14.1
PruebasGoogleTest 1.14.0 + GMock
ScriptingLua 5.4.7
ConsolaFTXUI 5.0.0
ArchivosStormLib 9.26 (extractores / vmap)
DespliegueDocker Compose + GitHub Actions

Resumen de Arquitectura

Firelands sigue la Arquitectura Hexagonal (Ports & Adapters). Las dependencias fluyen hacia adentro:

Infrastructure → Application → Domain → Shared
src/
├── shared/           # Config, logging, crypto, DBC, wire formats
├── domain/           # Entities, world model, repository ports
├── application/      # Use cases, services, application ports
├── infrastructure/   # MySQL, ASIO, Lua, DBC stores
├── auth/             # Auth server executable
├── world/            # Game server executable
└── tools/            # FirelandsDevTools

Consulta Arquitectura para definiciones completas de capas, ports, adaptadores y entidades de dominio.

Servidores

ServidorBinarioPuerto por defectoPropósito
Authbuild/bin/auth3724Login SRP, lista de reinos, REST (8081)
Worldbuild/bin/world8085Gameplay, personajes, Lua, consola GM
DevToolsbuild/bin/FirelandsDevToolsCLI de cuentas/reinos

Inicio Rápido

git clone https://github.com/FirelandsProject/firelands-next
cd firelands-next
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug
ninja -C build auth world
docker-compose up -d db
./build/bin/auth
./build/bin/world

Detalles completos: Configuración de Desarrollador.

Documentación

Guías principales

Módulos

Gameplay y staff

Herramientas y datos