Upstream hides GM accounts by default, which assumes GM means staff-only.
On this realm GM accounts belong to real players — Spinnaker, the highest
level character on the server, is gmlevel 3 — so the filter was hiding
people who should be listed.
Flips the stack default to 0 and documents both this and the bot filter.
ARMORY_HIDE_GMS=1 restores upstream behaviour.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NW2ooBP2KPqQVzdZZDMvZd
Playerbots are ordinary accounts, not game masters, so hideGameMasters does
not touch them. On a realm running mod-playerbots that means the armory is
almost entirely bots: 1,377 characters listed, of which about 1,350 are bots.
Adds two options, hideBotAccounts (default true) and botAccountPattern
(default "RNDBOT%"), applied the same way the game master filter already
works: left join the accounts we do not want, then require the join to have
missed. A realm without bots matches nothing, so the default is harmless.
Applied in the search listing, guild rosters, and the character lookup, so a
bot's page 404s rather than rendering.
The pattern is spliced into join clauses the query builder emits as raw SQL,
so it cannot be a bound parameter. It comes from the operator's own config
rather than from a request, but Utils.quoteSqlString quotes it so a stray
apostrophe cannot produce a broken query.
Verified against the live realm:
listed before 1377
listed after 27
Spinnaker, Kdog shown
Rarzosh (bot) hidden
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NW2ooBP2KPqQVzdZZDMvZd
The procedure created /opt/mythica-armory with sudo but then ran the curl
downloads as the normal user, so every one failed with "Permission denied /
Failure writing output to destination". Adds the chown and notes that user
ownership is fine, since the container reads the bind mount as root.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NW2ooBP2KPqQVzdZZDMvZd
Deploys this fork alongside the Mythica web page, reading the AzerothCore
databases over the LAN. Nothing runs on the game server itself.
docker-compose.mythica.yml differs from upstream's compose because Portainer
deploys from a git checkout it manages:
- Configuration comes from Portainer stack environment variables rather than
a .env file in the repo, which git stacks do not provide.
- Only the four large model-data directories are bind-mounted from the host,
so the DBC csv files stay versioned with the code in the image and a repo
re-clone cannot wipe the 2 GB of model data.
- The unused ac-network block is dropped.
The doc also records why the model data is a manual step: upstream's fetchdata
tool no longer works, because Zam reorganised the CDN and every character path
now 404s. A run appears to succeed while producing no character data, and the
app then fails at startup on meta/charactercustomization2/1_0.json. The v1.0.0
snapshot mirrored into this fork's release is the only remaining source.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NW2ooBP2KPqQVzdZZDMvZd