fix(dev-new): stop shadowing the image's modules dir, activate module configs #376
No reviewers
Labels
No labels
bug
enhancement
in-progress
needs-info
needs-triage
p0
ready-for-agent
ready-for-human
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Cloonar/nixos!376
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "afk/wow-module-mounts"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Follow-up to #375, found while verifying the deploy. Two bugs, one of which made the realm come up broken while every command reported success.
1. The modules bind mount shadowed the image's own modules
wow-db-importmounted/var/lib/wow/modulesover/azerothcore/modules. That host directory is a leftover of the SD card era and still contained only the three modules the card last synced:So db-import scanned the stale set, printed
>> World database is up-to-date! Containing 1379 new and 1391 archived updates., exited 0, and applied none of the new SQL. The worldserver then started against a schema missing the tables its modules expect:A successful-looking exit that leaves the realm broken — the worst shape a failure can take.
Since #375 the images build their own modules from
build/pins, so the mount is not merely stale, it is redundant. Removed from both containers plus the tmpfiles rule that created the directory. Checked first that nothing in the modules tree is read at runtime — the only non-source files are licences, test fixtures and a web testdeck.2. Modules with default configs had no config file
The config loader reads
*.conf; the image entrypoint lays down*.conf.dist. The five modules left on defaults therefore had no active config and warned on every property:wow-confignow seeds a.conffrom each.conf.distthat lacks one. Behaviour was already correct (compiled defaults match the .dist values); this removes the noise and makes the files editable in the normal place.Note the one-cycle lag, commented in the module:
.distfiles only exist after a container has started, so a brand-new module's config is seeded on the next run of the unit rather than the one that first pulls its image.Already applied to the live host
The realm was fixed by hand before this PR so it was not left broken: db-import re-run without the bad mount (applied individual-progression, transmog, aoe-loot, challenge-modes SQL), then the worldserver restarted. It is up, 500 bots online,
custom_quest_xphas 5657 rows, andErrors.logis down to one unrelated stock warning. This PR makes that state reproducible rather than hand-made.Still manual
.ip set <name> 18on Rhuarc, Restoria and Magnon needs those characters online — the handler takes an optionalPlayerIdentifierand isConsole::Yes, but driving it from the console FIFO against offline characters is a no-op (verified: no rows incharacter_queststatus_rewardedfor quests 66000-66018 afterwards). Progression is derived from those hidden quest rows, so it can also be set directly in SQL if logging in three times is not appealing.Third fix pushed: the AH bot was posting nothing. It reported enabled, populated candidate lists, ran a full .ahbot update cycle and inserted zero rows, with no error. Cause: mod_ahbot.conf shipped 6 of the module's 448 settings, and everything absent falls back to a compiled default that is not viable for item selection. Both mod_ahbot.conf and individualProgression.conf are now the upstream .dist verbatim with overrides applied on top. Verified live: 0 auctions on the partial config, 450 after the ah-bot swap, 1800 after the IP swap; missing-property warnings went 1431/startup to 0 once this PR's .dist seeding was also applied, with all 9 module configs loading.