Trois defauts distincts, tous verifies en jeu par sondes temporaires puis par comparaison des positions en base. 1. L ordre « stop » n arretait rien. Le suivi est un generateur MoveFollow pose sur le MotionMaster ; ClearMovement() se contente d appeler StopMoving() et le generateur, toujours en tete de pile, relançait la poursuite au tick suivant. ProcessStopCommand vide desormais la pile de mouvement. 2. Le teleport d un bot aboutissait cote serveur - positions identiques en base apres un « summon » - mais les clients continuaient de l afficher a son ancienne place : l etape finale diffuse un paquet portant un opcode CLIENT (CMSG_MOVE_FALL_LAND) que les clients voisins ne savent pas lire. L objet est maintenant reconstruit chez les joueurs alentour, et le MotionMaster vide a chaque acquittement, comme le fait mod-playerbots dans HandleTeleportAck. 3. Cote module, l invocation posait un TeleportTo direct : meme cause, meme effet, le mercenaire semblait n arriver jamais au portail. Elle passe desormais par l ordre « summon » de l IA de groupe, au tick qui suit l entree dans le groupe - le temps que l IA reconnaisse son maitre. Enfin, FindCandidate retournait le premier compte bot eligible d une carte ordonnee par identifiant : c etait invariablement le meme mercenaire. Tous les candidats sont desormais collectes puis tires au sort, en ligne comme hors ligne, un seul personnage par compte pour ne pas biaiser le tirage. 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!