fix(dev-new): re-run wow-config on every server start #389
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!389
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/wow-config-self-heal"
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?
⚠️ Merge #384 first
This PR makes
wow-configrun on every server start.Warden.Enabled = 0currently exists only as a hand-edit on the live host — #384 is the commit that puts it in the repo and has been open since 2026-08-22.Merge this one first and the next 05:00 restart re-installs
worldserver.conffrom the store, re-enabling Warden and breaking the FEX-translated Android client again (ERROR #132).What was wrong
hosts/dev-newhad zero auctions. The auction house bot was enabled, loaded, and pointed at a valid seller — it just posted nothing./var/lib/wow/etc/modules/mod_ahbot.confon the host was the 1004-byte partial config from before #376, while the deployed system generation has wanted the 72864-byte full upstream file since generation 200 (2026-08-22):individualProgression.confwas stale the same way — 1302 bytes on disk against 25153 in the store.The partial file does set
GUIDs = 701,EnableSeller = trueandBuyer.Enabled = true, which is why this looked configured. Everything else fell back to compiled defaults, and the startup log said so ~440 times:Why it stayed broken for five days
wow-configwasType=oneshot+RemainAfterExit=true. It last ran at 2026-08-21 01:05:37 and never again — the journal has no entry after that. Once latched active it only re-runs if a switch restarts it, and nothing ever did, so the files it installs were frozen at whatever the 01:05 generation held. No unit failed;systemctl status wow-configreadactive (exited)the whole time.Dropping
RemainAfterExitmeans bothpodman-wow-worldserverandpodman-wow-authserver— which alreadyRequires=andAfter=it — pull it in on every start. The daily 05:00 restart now re-installs the configs, so stale state cannot outlive a day.installis idempotent andplayerbots.confis still seed-once, so nothing else changes.Verification
Applied on the host ahead of this PR:
Auctions, ~5 minutes apart:
All three houses fill, confirming the single Alliance seller feeds Alliance, Horde and neutral alike.
Checked before applying, since
wow-configalso rewritesindividualProgression.confand a wrong value there re-promotes characters on login: the full file keepsStartingProgression = 0,ProgressionLimit = 0, the vanilla/TBC power and healing adjustments, andBotAccountsRegex = "^RNDBOT.*"— same values the partial had, plus the ~55 upstream settings it was missing.Dry-build:
:: dev-new OK.Note
systemctl restart wow-configcascades a restart to both servers throughRequires=, so it cycles the realm — it is not a quiet operation. That is how Warden got re-enabled on the live host today, and the reason for the ordering warning at the top.