Nouveau module d evenement quotidien : une horde de playerbots assaille la capitale adverse et tente d abattre son dirigeant. Cette premiere tranche livre le squelette, la persistance et l ordonnancement ; le spawner, l IA d assaut et l eveil du dirigeant suivent (E4-E8). Le serveur tourne sur DestinyCore, sans systeme de modules : le module prend donc la forme d un script module TrinityCore (decouverte CMake automatique via AddCapitalSiegeScripts()), avec le gestionnaire dans la bibliotheque game comme PlayerBotMgr, puisque l IA d assaut devra y acceder depuis BotBGAI. game/CapitalSiege/CapitalSiegeMgr : tirage quotidien d une heure aleatoire dans une plage configurable, alternance stricte de la faction attaquante, machine a etats et arret d urgence si le diff monde depasse le seuil. Le jour est consomme au declenchement et non a la fin, donc un redemarrage du worldserver en plein evenement ne peut pas le rejouer. scripts/CapitalSiege : branchement par WorldScript (aucune modification de World.cpp), et commandes GM .siege status/start/stop/history sous la permission RBAC_PERM_COMMAND_EVENT existante. Persistance dans dc_characters et non dc_world : il s agit d etat mutable ecrit par le serveur, qu une reimportation de la base de contenu ne doit pas effacer. Six requetes preparees ajoutees a CharacterDatabase. Toute ligne d historique restee ouverte est refermee au demarrage du core. MMaps verifies pour les deux capitales : carte 0 (592 tuiles) et carte 1 (715 tuiles), tuiles de Hurlevent et d Orgrimmar presentes. La navigation des bots passe par PathGenerator/MotionMaster, donc Detour, pas les VMaps. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
DestinyCore
🚀 Build Status
| Windows | GCC | Clang |
|---|---|---|
📖 Introduction
DestinyCore is a modern, modular MMORPG server framework written in C++ that supports multiple platforms (Windows, Linux, macOS) and builds cleanly with GCC, Clang, and MSVC.
It is designed to be lightweight, scalable, and extensible, providing developers and server administrators with a stable foundation for World of Warcraft® (Legion 7.3.5) and beyond.
Key goals of DestinyCore:
- ⚡ Modern C++ design (C++20+)
- 🔌 Modular architecture (authserver, worldserver, shared libs)
- 🤖 Integrated PlayerBots system
- 🌍 Multi-database support (auth, characters, world)
- 🛠️ Easy build system (CMake + GitHub Actions CI)
- 🎮 MMO-ready networking with scalability in mind
🛠️ Requirements
DestinyCore depends on modern development tools and libraries:
- CMake 3.31+
- Boost 1.84.0
- MySQL 8.0
- OpenSSL 3.x
- GCC / Clang / MSVC (Visual Studio 2022 recommended)
📦 Installation
-
Clone the repository:
git clone https://github.com/slash-design/DestinyCore.git cd DestinyCore -
Create a build directory:
cmake -S . -B build -DTOOLS=ON cmake --build build -
Configure your databases (
auth,characters,world) and import the SQL structures provided in/sql/base. -
Start the servers:
./bin/worldserver ./bin/bnetserver
🤝 Contributing
We welcome all contributions!
Whether you’re fixing a bug, improving documentation, or adding new features — PRs are always appreciated.
- Fork the repo
- Create a feature branch
- Submit a pull request
🐛 Reporting Issues
Issues can be reported directly via the GitHub Issue Tracker.
Before creating a new one, please check for existing reports to avoid duplicates.
📜 License
This project is licensed under GPL v2.0.
See the LICENSE file for details.
🌐 Links
⭐ If you like DestinyCore, consider giving the project a star on GitHub!