Módulo: Shared

Módulo: FirelandsShared (src/shared)

FirelandsShared es la biblioteca estática de nivel más bajo usada por todos los demás targets. Contiene utilidades transversales que no deben depender de servicios de juego ni de persistencia.

Responsabilidades

ÁreaRutaPropósito
Configshared/Config.{h,cpp}YAML vía yaml-cpp; overrides de entorno FIRELANDS_AUTH_CONFIG / FIRELANDS_WORLD_CONFIG
Loggingshared/Logger.hWrapper de spdlog — siempre incluir vía este header
Networkingshared/network/ByteBuffer, WorldPacket, opcodes, codecs wire, WorldCrypt.h
Crypto / SRPshared/Crypto.h, SRPConstants.h, BigInt.hMatemática SRP-6a para autenticación
DBCshared/dbc/DbcReader.cppLector de tablas binarias estilo .dbc del cliente
Game helpersshared/game/Niveles de acceso, permisos, apariencia GM, tablas de experiencia
TUIshared/tui/Helpers FTXUI para consolas interactivas

CMake

Definido en src/shared/CMakeLists.txt. Enlaza OpenSSL, spdlog, nlohmann_json, yaml-cpp.

Las fuentes compiladas hoy incluyen Config.cpp, network/SpellCastWire.cpp, dbc/DbcReader.cpp; muchos headers son header-only.

Cuándo añadir código aquí

Añade a shared solo cuando:

  • Varias capas necesitan la misma utilidad
  • El código no tiene dependencia de MariaDB, sesión Boost.Asio ni agregados de dominio
  • Es genuinamente transversal (formato wire, config, logging, crypto)

Relacionado