E5 - CommandSiege (game/CapitalSiege) : meme role que CommandBG en champ de bataille, il ne combat pas et distribue des ordres de deplacement. Il charge sa route depuis aiwaypoints (plage d entrees configurable), fait avancer chaque bot a son rythme de point en point, et bascule sur le dirigeant une fois le dernier point atteint. Un bot au contact ne recoit aucun ordre : la boucle de combat de BotBGAI garde la priorite, sinon la horde traverserait la ville sans jamais rien tuer. Un bot tue est compte en perte et n est pas remis en jeu. La route est validee avant que le creneau du jour soit consomme : un assaut sans waypoints est refuse et pourra se declencher normalement une fois la route en base, au lieu de bruler la journee. E6 - mode siege dans BotBGAI. Le bot garde toute son IA de combat mais cesse de dependre d un Battleground : le verrou InBattleground() ne s applique plus, l etat d assaut est impose, et la resurrection de champ de bataille est desactivee. La regle siege_pvp est appliquee dans IsNotSelect() : par defaut les bots n engagent que les joueurs deja flagges PvP. Correction de fond au passage : SearchCreatureListFromRange() construisait un searcher mais ne visitait jamais la grille (VisitNearbyGridObject n existe plus dans ce core, l appel avait ete commente sans remplacement). La liste restait vide, donc les bots ne voyaient aucune creature - en siege comme en champ de bataille. Remplace par Cell::VisitGridObjects. Commande GM .siege recruit ajoutee comme harnais de test en attendant le spawner automatique (E7) : enrole le playerbot selectionne dans la horde. Verifie apres deploiement : assaut sur Orgrimmar refuse faute de route (les waypoints 2000-2099 arriveront en E10), assaut sur Hurlevent accepte avec la route de 24 points chargee de l entree 1000 a 1023. 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!