5c8b82338e
Signale en jeu avec une reproduction exacte : « si on attend la phase
deux sans le frapper, le serveur plante ». Deux vidages memoire l'ont
confirmee, pile en main :
#0 spell_seismic_shard::HandleScript(SpellEffIndex)
#1 Spell::HandleEffects
#2 Spell::DoSpellHitOnUnit
...
#13 InstanceMap::Update
GetDynObject renvoie un pointeur NUL quand l'objet de visee n'existe pas
-- pas encore cree, ou deja expire. La ligne suivante le dereferencait
sans le moindre test :
DynamicObject* dynamicObject = GetCaster()->GetDynObject(...);
target->CastSpell(dynamicObject->GetPositionX(), ...);
Le plantage a lieu dans le fil de mise a jour de la carte, donc il
emporte le processus entier, pas seulement la session fautive.
GetCaster() et GetHitUnit() sont verifies au passage : rien ne garantit
leur presence au moment ou l'effet est traite, un lanceur mort entre le
lancement et l'impact suffit. Meme prudence sur le ExitVehicle du script
de changement de siege, juste au-dessus.
RESTE OUVERT, signale par le meme joueur et non traite ici : le deuxieme
boss du donjon se reinitialise des qu'on le deplace, et le bouclier du
dernier boss serait purement visuel, sans absorption.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Patches SQL Sylvania (dc_world)
Copie de sauvegarde des patchs data appliques a la base dc_world (source : ~/dc-patches/ sur le VPS).
IMPORTANT : dc_world n est PAS incluse dans le backup automatique quotidien
(qui ne couvre que auth et characters, cf. ~/scripts/db-backup.sh) car un dump
compresse pese 78 Mo. Ces fichiers sont donc la trace versionnee des changements
data faits a la main. Un backup hebdomadaire complet de dc_world existe par ailleurs
en local sur le VPS (/Backups-World/).
Contenu notable :
- artifact_runner.sql + artifact_batch1..10.sql : framework et 24 configs de scenarios d artefact
- artifact_choices.sql / artifact_gate.sql : choix d artefact 13 classes + porte du Gardien
- monk_campaign_intro.sql : campagne moine + scenario Serenity s End
- broken_shore_intro.sql : intro Iles Brisees (2 factions)
- ring_of_peace.sql : binding areatrigger_template (RoP 3983 + Chi-Ji 10191)
- trainers_, quete_, fix_* : historique des correctifs data Les fichiers *_ROLLBACK.sql annulent le patch correspondant.