-
Notifications
You must be signed in to change notification settings - Fork 3
Installation
Cette page complète la section « Compilation » du README avec ce qui pose réellement problème : les dépendances exactes, l'extraction des données client, et les pièges du premier démarrage.
| Composant | Version | Remarque |
|---|---|---|
| CMake | 3.31+ | plus récent que la plupart des dépôts de distribution |
| Boost | 1.84.0 | version imposée par l'amont |
| MySQL / MariaDB | MySQL 8.0 ou MariaDB 10.6+ | le royaume tourne sur MariaDB 11.4 |
| OpenSSL | 3.x | |
| Compilateur | GCC, Clang ou MSVC | Visual Studio 2022 recommandé sous Windows |
| libcurl | any | lié directement par src/server/game/CMakeLists.txt (module Mercenaires) |
Plateformes supportées : Linux, Windows, macOS.
sudo apt install build-essential cmake git libboost-all-dev libssl-dev libmysqlclient-dev \
libreadline-dev libncurses-dev zlib1g-dev libbz2-dev libcurl4-openssl-dev
⚠️ Si CMake de votre distribution est < 3.31, installez-le depuis cmake.org ou viapip install cmake.
git clone https://github.com/BlaMacfly/SylvaniaCore.git
cd SylvaniaCore
cmake -S . -B build -DTOOLS=ON
cmake --build build -j$(nproc)-DTOOLS=ON construit en plus mapextractor, vmap4extractor, vmap4assembler, mmaps_generator
et dbcextractor — indispensables à l'étape 3.
Sur un VPS 4 cœurs / 7 Go, ne pas dépasser -j3 pendant que le serveur de jeu tourne : la
compilation d'un core TrinityCore consomme facilement 2 Go par processus de compilation, et l'OOM killer
abat le worldserver avant le compilateur. Un build incrémental du seul worldserver :
make -C build -j3 worldserverLe code source conserve volontairement les noms internes hérités de l'amont (
DestinyCore, cibles CMake, chemins de configuration) pour rester compatible avec les mises à jour amont et ne pas casser les scripts de déploiement existants. Ne les renommez pas.
À faire une seule fois, depuis le dossier d'un client 7.3.5 build 26972. Copiez-y les binaires d'extraction, puis :
./mapextractor # -> dbc/ maps/ cameras/ gt/
./vmap4extractor
./vmap4assembler Buildings vmaps
./mmaps_generator # long : plusieurs heuresDéplacez ensuite dbc/, maps/, vmaps/, mmaps/, cameras/, gt/ dans le dossier pointé par
DataDir de worldserver.conf.
Locale. Le serveur du royaume ne sert que la locale enUS (DBC.Locale = 0, seul dbc/enUS
présent). Conséquence importante pour la traduction : GetSessionDbcLocale() retombe sur enUS pour tous
les clients, donc le texte français va dans la colonne de base, pas dans les tables _locale. Voir
Localisation francaise.
Pour extraire une locale supplémentaire : ./mapextractor -e 2 -l frFR.
Voir la page dédiée : Bases de donnees.
Le point à ne pas rater :
⚠️ N'importez jamais les fichiers desql/base/dev/. Ce sont des structures vides destinées aux développeurs de l'amont. Les importer donne une baseworldcreuse : le worldserver démarre, mais le client reste bloqué sur l'écran de chargement.
./bin/bnetserver
./bin/worldserverLe premier lancement applique les ~330 fichiers de sql/updates/ : comptez plusieurs minutes avant
que la console réponde. Le boot d'un serveur déjà à jour prend environ 25 secondes.
Ils apparaissent à chaque connexion sur tous les serveurs de cette lignée :
Client tried to call not implemented method ResourceService.GetContentHandle
Received not handled opcode [CMSG_GET_ACCOUNT_CHARACTER_LIST ...]
ResourceService est un service Battle.net resté à l'état d'ébauche en amont, et
CMSG_GET_ACCOUNT_CHARACTER_LIST (liste des personnages inter-royaumes) est délibérément déclaré
STATUS_UNHANDLED dans src/server/game/Server/Protocol/Opcodes.cpp.
Si le client reste bloqué au chargement, la cause est ailleurs → FAQ Depannage.
SylvaniaCore — GPL v2 · La Légion de Sylvania · Discord contributeurs World of Warcraft® et Blizzard Entertainment® sont des marques déposées de Blizzard Entertainment, Inc. Projet non affilié.
Démarrer
Comprendre
Modules
Développer