PlayerBotSetting::LearnTalents() etait un corps vide alors que l etape 1 du re-level appelle ResetTalents(true). Les bots repartaient donc au combat sans un seul talent : sept rangs manquants a 110, soit une part importante de la rotation de chaque classe. Constate en base avant correction, zero ligne de character_talent pour huit classes sur neuf. La fonction apprend desormais un talent par rang ouvert par le niveau, tire au hasard parmi les colonnes que la specialisation du personnage autorise. Deuxieme correction, dans ProcessSetting : le raccourci qui evite un re-level inutile ne se declenche plus que si le bot possede reellement ses talents. Sans ce controle, un bot deja au bon niveau sautait tout le reglage et restait a zero talent, heritage de l epoque ou LearnTalents ne faisait rien. Une premiere version de LearnTalents faisait aussi basculer la specialisation en cours de re-level, par SetPrimarySpecialization et ecriture directe de PLAYER_FIELD_CURRENT_SPEC_ID, hors du chemin officiel ActivateTalentGroup. Elle provoquait un debordement de pile : cinq segfaults et quatre redemarrages du worldserver en douze minutes. Ce volet est retire, la specialisation n est plus touchee. La composition par roles qui en dependait est reportee. Verifie apres deploiement : un bot seul puis cinquante, sept talents chacun sur les neuf classes, aucun plantage. 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!