sylvania/README : remettre les notes internes en accord avec le serveur
Le document affirmait "PlayerBots : DESACTIVES - serveur blizzlike sans bots" alors que trois modules du royaume en pilotent : BG BotFill (pbotbg = 1), Mercenaires (pbotmerc = 1) et le Siege des Capitales (livre, siege_enable = 0 pour l instant). Ce qui est coupe, c est le peuplement automatique herite de l amont (pbot = 0, pbotall = 0), pas le systeme lui-meme : World.cpp initialise le gestionnaire de bots des que pbotbg OU pbotall vaut 1. La confusion pouvait conduire un contributeur a croire tout ce code mort. Le reste etait date dans les memes proportions : une liste de quatre "correctifs a commits dedies" pour plus de 200 commits de divergence, et rien sur les modules ni sur la vraie base moteur (MariaDB 11.4, bases dc_*). Les valeurs de configuration sont desormais relevees du worldserver.conf en production, avec l effet de chaque cle. Ajoute aussi : la mise en garde sur sql/sylvania (le dossier n a pas une base cible unique, capital_siege.sql ecrit dans characters et non dans world), et la description de db-release-github.sh. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+54
-17
@@ -1,23 +1,60 @@
|
||||
# SylvaniaCore
|
||||
# `sylvania/` — notes internes du fork
|
||||
|
||||
Fork de **DestinyCore** (WoW Legion 7.3.5.26972) pour le serveur "La Legende de Sylvania".
|
||||
Notes d'exploitation du fork et scripts qui ne sont pas du code de serveur.
|
||||
La présentation du projet et la procédure d'installation sont dans le
|
||||
[README à la racine](../README.md).
|
||||
|
||||
- Base upstream : DestinyCore master @2d631f4e (remote `upstream`).
|
||||
- Customs conserves : Klauss (taux XP perso x1-7, gossip FR), Solocraft, Solo LFG (natifs DestinyCore + config).
|
||||
- PlayerBots : DESACTIVES (pbotall=0 + gardes code) - serveur blizzlike sans bots.
|
||||
## État du fork
|
||||
|
||||
## Correctifs SylvaniaCore (commits dedies)
|
||||
1. Compat build MariaDB (CR_INVALID_CONN_HANDLE).
|
||||
2. Desactivation PlayerBots + fix crash issue #56 (file BG/arene).
|
||||
3. Fix cadavre orphelin (blocage esprit guerisseur apres reset d instance).
|
||||
4. Klauss (entry 1000000) - voir sql/sylvania/klauss_npc_*.sql pour le spawn.
|
||||
- **Base amont** : DestinyCore `master @2d631f4e` (remote `upstream`), plus de 200 commits de divergence
|
||||
(`git rev-list --count 2d631f4e..HEAD` pour le compte exact).
|
||||
- **Client** : Legion 7.3.5.26972. `maps` / `vmaps` / `mmaps` / `dbc` extraits une fois pour
|
||||
toutes, aucune ré-extraction nécessaire.
|
||||
- **Moteur** : MariaDB 11.4. Bases `dc_auth`, `dc_characters`, `dc_world`, `dc_hotfixes`, `dc_shop`.
|
||||
|
||||
## Config worldserver requise
|
||||
pbot = 0 ; pbotall = 0 ; Solocraft.Enable = 1 ; SoloLFG.Enable = 1 ; SoloLFG.Announce = 1
|
||||
## PlayerBots : ce qui tourne réellement
|
||||
|
||||
## Donnees client
|
||||
maps/vmaps/mmaps/dbc extraits du client 7.3.5.26972 (compatibles, pas de re-extraction).
|
||||
Le peuplement automatique hérité de l'amont est **coupé**, mais le système de bots, lui,
|
||||
**tourne** : trois modules du royaume le pilotent à la demande. `World.cpp` initialise le
|
||||
gestionnaire de bots dès que `pbotbg` **ou** `pbotall` vaut 1 — c'est ce qui permet aux modules
|
||||
maison de fonctionner avec le peuplement amont désactivé.
|
||||
|
||||
## scripts/
|
||||
- reconcile_schema.sh : synchro additive de schema (golden -> cible) pour migrer auth/characters.
|
||||
- ROLLBACK.sh.example : modele de rollback blue-green (adapter les chemins).
|
||||
| Clé | Valeur | Effet |
|
||||
| --- | --- | --- |
|
||||
| `pbot` | `0` | Aucun bot ami ni bot de groupe connecté automatiquement à l'arrivée d'un joueur (amont ; la valeur par défaut dans le code est 1, la couper est donc un choix). |
|
||||
| `pbotall` | `0` | Aucun peuplement automatique du monde ni de la file LFG (amont). |
|
||||
| `pbotbg` | `1` | **Module BG BotFill** : remplissage des champs de bataille quand de vrais joueurs sont en file (WS / AB / EY / AV / IC). Explicitement indépendant de `pbotall`. |
|
||||
| `pbotmerc` | `1` | **Module Mercenaires** : le Portail d'Invocation (créature `1000010`, 60 spawns) loue des bots au joueur solo, 100 po, contrat rompu au moindre départ du groupe. |
|
||||
| `siege_enable` | `0` | **Module Siège des Capitales** : écrit et livré, mais **pas encore activé** en production. |
|
||||
| `pbotasl` | `88` | Plafond de bots connectés simultanément. |
|
||||
| `pbottitle` | `600` | Titre « Mercenaire » imposé à tout bot, pour qu'un joueur ne puisse jamais le confondre avec un vrai joueur. Entrée `char_titles` custom de la base hotfix (MaskID 380). |
|
||||
|
||||
## Autres customs conservés de l'amont
|
||||
|
||||
- **Solocraft** (`Solocraft.Enable = 1`) : mise à l'échelle des donjons en solo.
|
||||
- **Solo LFG** (`SoloLFG.Enable = 1`, `SoloLFG.Announce = 1`).
|
||||
- **Klauss** (créature `1000000`, 13 spawns) : PNJ de réglage du taux d'XP personnel (x1 à x7),
|
||||
dialogues FR. Spawns dans `sql/sylvania/klauss_npc_*.sql`.
|
||||
|
||||
## `sql/sylvania/`
|
||||
|
||||
108 fichiers : la trace versionnée des correctifs data appliqués à la main à la base de
|
||||
production. **Le dossier n'a pas une base cible unique** — la plupart visent `dc_world`, mais
|
||||
`capital_siege.sql` crée deux tables dans `characters`. Chaque fichier annonce sa base dans son
|
||||
en-tête : la lire avant de rejouer quoi que ce soit. Les `*_ROLLBACK.sql` annulent le patch de
|
||||
même nom.
|
||||
|
||||
Ces fichiers ne passent **pas** par le mécanisme de mise à jour automatique du core. Un patch qui
|
||||
doit valoir pour toute installation neuve a sa place dans `sql/updates/`, pas ici.
|
||||
|
||||
## `scripts/`
|
||||
|
||||
- **`db-release-github.sh`** — publie les bases de contenu (`dc_world` + `dc_hotfixes`) en assets
|
||||
de Release GitHub, seul canal viable : 79 Mo et 35 Mo une fois gzippés, là où GitHub refuse tout
|
||||
fichier de plus de 100 Mo dans l'historique. Réécrit au passage les collations MariaDB 11.4
|
||||
(`utf8mb4_uca1400_*`) que MySQL 8 ne connaît pas, exclut les tables de travail `bak_*` / `tmp_*`,
|
||||
et dépose une release **brouillon** : la publication reste manuelle. `--dry-run` produit les
|
||||
archives sans rien envoyer. Demande un PAT *fine-grained* dans `~/.config/sylvania-github-token`.
|
||||
- **`reconcile_schema.sh`** — synchro additive de schéma (golden → cible) pour migrer
|
||||
`auth` / `characters`.
|
||||
- **`ROLLBACK.sh.example`** — modèle de rollback blue-green (adapter les chemins).
|
||||
|
||||
Reference in New Issue
Block a user