SylvaniaCore deploy 6349ea7c21 Siege des Capitales E7 : spawner etale et deblocage de la marche des bots
E7 - recrutement de la horde. Le gestionnaire engage siege_spawn_rate bots par
seconde jusqu au quota : bot deja connecte et inoccupe en priorite, sinon
connexion d une session bot libre. Chaque recrue est remise a niveau par le
schedule BGSType_Settting existant, teleportee au point de rassemblement, puis
enrolee dans CommandSiege. Le plafond porte sur le total engage depuis le debut
et non sur l effectif present : un bot tue n est jamais remplace, il n y a pas
de vague sans fin. En fin d evenement tout l effectif est deconnecte, morts
compris, y compris les recrues encore en chemin.

Le premier essai en conditions reelles a fige la horde a son point d entree.
Quatre causes distinctes, toutes corrigees :

1. IsNotSelect() est aussi appele par IsNotMovement() avec le bot lui-meme en
   parametre. La regle siege_pvp y repondait  ne pas selectionner  pour un bot
   non flagge PvP, ce qui declenchait StopMoving(). La regle est desormais
   restreinte aux joueurs adverses autres que soi.
2. BotWarlockAI::ProcessNormalSpell() renvoyait true hors champ de bataille, et
   la boucle d IA fait  if (!IsInCombat() && ProcessNormalSpell()) return  : les
   demonistes n atteignaient jamais leur deplacement et restaient plantes au
   point de depart. Le mode siege passe maintenant cette garde.
3. Portee d engagement. BotBGAI cherche une cible a 32 yards ; en ville il y a
   toujours un civil a portee, si bien que l IA ne se deplace jamais (elle ne
   marche que sans cible selectionnee). Nouvelle cle siege_engage_range, 18
   yards par defaut : on n engage que ce qui barre le passage.
4. Enlisement. Lacher la cible ne suffit pas, l IA en reselectionne une au tick
   suivant. Nouvelle fenetre de marche forcee (siege_stall_timeout,
   siege_advance_window) pendant laquelle le bot ignore les cibles et avance.

Les bots du siege sont aussi exemptes de la deconnexion d inactivite du module
BG BotFill, qui vidait la horde en pleine progression.

Verifie en conditions reelles : 5 bots niveau 110 partis de la Vallee des Heros
atteignent le waypoint 21 sur 24, soit les etages du donjon de Hurlevent, en
environ quatre minutes, en tuant des PNJ en chemin et en perdant deux des leurs.
Le nettoyage de fin deconnecte bien tout l effectif.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-15 10:24:13 +02:00

DestinyCore

License: GPL v2 Stars Forks


🚀 Build Status

Windows GCC Clang
Windows x64 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

  1. Clone the repository:

    git clone https://github.com/slash-design/DestinyCore.git
    cd DestinyCore
    
  2. Create a build directory:

    cmake -S . -B build -DTOOLS=ON
    cmake --build build
    
  3. Configure your databases (auth, characters, world) and import the SQL structures provided in /sql/base.

  4. Start the servers:

    ./bin/worldserver
    ./bin/bnetserver
    

🤝 Contributing

We welcome all contributions!
Whether youre 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.



If you like DestinyCore, consider giving the project a star on GitHub!

S
Description
Репозиторий ядра Legion 7.3.5 26972
Readme 29 MiB
Languages
C++ 86.6%
C 11.9%
CMake 0.8%
Assembly 0.3%