Admin and Config Appendix
A staff-only map of the live From the Ashes configuration: where each switch lives, what is currently on, what is deliberately off, and how to change it without breaking the player-facing rules.
Status: STAFF-ONLY — this page is written for administrators. It is not a player guide and should not be linked from player-facing instructions without a warning. Player status labels still apply: Live, Limited, Disabled, and Staff-only.
At a glance
- Live source of truth:
Server/runtime/configs/worldserver.confandServer/runtime/configs/modules/*.conf. - Defaults only:
*.conf.distfiles and the source tree are reference, not live settings. Do not edit source to change the realm. - Main config first: core switches live in
worldserver.conf. Module settings load frommodules/after the main file. - The catalog is a snapshot:
00–25describe the live values below. If a switch changes, the matching player document and badge may need to change too. - Several systems are intentionally off: Quartermaster Ledger, AuraTimers,
.ah,.repair, BG bonus rewards, daily dungeon rewards, SoloLFG, NPCBotBanter, MapGoldMultiplier, Dynamic XP, and the NPCBot gear bank. - Several “complete” systems still have content gaps: no remote Auction House, no Wintergrasp quartermaster spawn, no public Well of Eternity entrance, no Hall of Thanes encounters, and no Arena Commendation sink.
- Do not use the offline project MySQL as live event state. Read configs from the runtime directory, and query the running worldserver’s database when it is up.
How to use this appendix
- Open the live file, not the
.dist. Confirm the path starts withServer/runtime/configs/. - Find the owner of the switch. Some master switches live in
worldserver.confeven when a module has its own config file. - Change one system at a time. Record the old value, the new value, and the reason.
- Check dependencies. A module switch does nothing if the module is not loaded, the addon is disabled, or the client runtime is missing.
- Reload or restart. Use
.reload configfor values read during configuration load; restart for startup-only state or cached module data. - Verify with a real command. Check the status command, then test with a non-GM character.
- Update the docs. If player access changed, update the owning document,
index.md, and25-reference-commands-npcs-addons.md.
File map
| Path | Scope | What it controls |
|---|---|---|
Server/runtime/configs/worldserver.conf | Live core | Rates, level cap, starting money, PvP, arena, Wintergrasp, Auction House, repair command, instance reset, NPCBots, BonusLoot, TimeCycle, world discoveries, Oaths, Lightforged Warframe, gear bank, Quartermaster Ledger master switch. |
Server/runtime/configs/authserver.conf | Live auth | Login, network, and auth-service settings. No gameplay balance switches. |
Server/runtime/configs/modules/*.conf | Live modules | Module-specific features: progression, XP, loot, transmog, reforging, professions, travel, Timewalking, Auctionator, Pocket Pals, and similar. |
Server/runtime/configs/modules/*.conf.dist | Reference | Shipped defaults. Do not edit expecting a live change. |
Server/From_The_Ashes_Source/AzerothCore_Linux/ | Source | Behavior that has no config switch. Read-only reference. |
Client-Files/From_The_Ashes_Client/Interface/AddOns/ | Client | Addon commands and client-side UI. Read-only for server administration. |
Load order matters. Core settings load first; module files under configs/modules/ load afterward. Do not duplicate a master switch in both places unless the module explicitly documents it. QuartermasterLedger.Enable is the clearest example: it belongs in worldserver.conf, while quartermaster_ledger.conf only carries vendor lists.
Core switches
| System | Live switch | Current state | Staff note |
|---|---|---|---|
| Level cap and starting money | MaxPlayerLevel, StartPlayerMoney | 80, 100 copper | New characters start at level 1 with 100 copper. |
| Base rates | Rate.XP.*, Rate.Reputation.Gain, Rate.Talent | XP 1, reputation 2, talent 1.5 | Personal XP is separate, from individual_xp.conf. |
| Cross-faction accounts | AllowTwoSide.Accounts | 1 | Cross-faction chat, group, guild, trade, mail, and Auction House interactions are 0. |
| Remote Auction House | CustomAuctionCommand.Enable | 0 | .ah is off. There is no remote auctioneer. |
| Remote repair | CustomRepairCommand.Enable | 0 | .repair is off. Vendors and repair mounts still work. |
| Auction House core | AuctionHouse.WorkerThreads, LevelReq.Auction | 2, 1 | Auctionator supplies the stock; the core service remains normal. |
| Arena cap | MaxArenaPoints | 25000 | Arena points are capped. |
| Ring of Valor | Arena.DisableRingOfValor | 1 | The Ring of Valor is disabled. |
| Wintergrasp | Wintergrasp.Enable, PlayerMinLvl, PlayerMax, BattleTimer, NoBattleTimer | 1, 75, 120, 30, 150 | The battle runs. The quartermaster vendor loop does not. |
| Instance reset | Instance.ResetTimeHour | 4 | Daily reset at 04:00 server time. |
| Player gear bank | GearBank.Enable, MaxItemsPerCharacter | 1, 200 | This is the player /gbank, not the NPCBot gear bank. |
| NPCBots | NpcBot.Enable, MaxBots, AltBots.MaxActive, Cost.Hire | 1, 4,4,4,4,39,39,39,39,39, 4, 1000000 | NpcBot.SpawnCommand.Enable=0; NpcBot.GearBank.Enable=0; NpcBot.Transmog.Enable=0. |
| NPCBot group content | NpcBot.Enable.Dungeon, Raid, BG, Arena, DungeonFinder | All 1 | Bots can fill group content, but Oath restrictions still apply per character. |
| BonusLoot | BonusLoot.Enable, RaidBossOnly, RequireRaidGroup, EligibilitySeconds, SuccessChancePct | 1, 1, 0, 60, 33.33 | BonusLoot.Debug=1 is live; turn it off after diagnostics. |
| TimeCycle | TimeCycle.Enabled, Seasonal.Enabled, Daily.Enabled, UpdateIntervalMs | 1, 1, 1, 60000 | TimeCycle.Season.Force=none; daily schedule is 04:00, 10:00, 16:00, 21:00. |
| World discoveries | WorldDiscoveries.XPMultiplier | 10.0 | 1.0 preserves rewards; 0 disables discovery XP but keeps loot and once-per-spawn claims. |
| Oaths | LevelingChallenges.Enable, AccountWideRewards, hunter limits | 1, 0, 480–900s, max 3 defeats | Rewards are character-earned, not account-wide. |
| Lightforged Warframe | LightforgedWarframe.Enable, DurationMs, CooldownSeconds, FreeFlight | 1, 45000, 600, 0 | Staff-taught with .learn 250436. |
Module switches
| System | Live file | Current state | Staff note |
|---|---|---|---|
| Individual progression | individualProgression.conf | Enable=1, StartingProgression=0, ProgressionLimit=0, PlayerChange.Enable=1, AllowUnearnedProgression=0, RequireCurrency=0 | Players use `.ipstage get |
| Individual XP | individual_xp.conf | Enabled=true, MaxXPRate=5, DefaultXPRate=1 | Slow and Steady locks .xp set while active. |
| Dynamic XP | dynamicxp.conf | Dynamic.XP.Rate=0 | The old dynamic system is off. Do not re-enable it alongside individual XP without a design decision. |
| Level-60 boost | boost60_outland.conf | Enable=1, TargetLevel=60, OnePerCharacter=1, RequireBelowTargetLevel=1 | Blocked by active Oaths; sets progression stage 8. |
| Starter food and pets | mod_starter_food_water.conf, mod_startingpet.conf | Both enabled | First-login only. Do not use these to grant endgame consumables. |
| Reagent bank | mod_reagent_bank_account.conf | Enable=1, AccountWide=1, AutoMigrate=1, MaxItemsPerPage=15, EnableSharing=0 | /rbank is the player UI. Bank sharing is off. |
| Transmogrification | transmog.conf | Enable=1, UseCollectionSystem=1, UseVendorInterface=1, CopperCost=0, RequireToken=0 | EnablePlus=0 disables portable transmog even though EnablePortable=1. |
| Reforging | mod_reforging.conf | Enable=1, Percentage=40.0, UICommand.Enable=1 | /reforge is the player UI. |
| Shared professions | mod_shared_professions.conf | Enable=1, SyncSecondary=1 | Account-wide profession progress; see 07. |
| Profession XP | mod-profession-experience.conf | MultGray=0, MultGreen=0.5, MultYellow=0.75, MultOrange=0.9 | Only Fishing, Herbalism, and Mining have nonzero gathering XP in the live file. |
| Multi-Trainer | mod_multitrainer.conf | Enable=1, RespectIndividualProgression=1 | Rakka is the live trainer; class, professions, weapons, riding, and pets are enabled. |
| Crafting speed | mod_craftspeed.conf | CraftingCastTime.Multiplier=0.1; gathering rates 1 | Crafting is fast; gathering speed is unchanged. |
| Dreamway | mod_emerald_dreamway.conf | Enable=1, MinimumLevel=1, four routes | Pedestals 990001–990008. |
| Gliders | mod_goblin_glider.conf | Enable=1, DurationMs=180000, CooldownMs=180000 | Debug=1 is live; turn it off after testing. Allowed maps 0,1,530,571. |
| Mount requirements | mod_mount_requirements.conf | Riding levels 30, 60, 70; cold weather 77 | Apprentice 100g, journeyman 1,000g, expert 800g, artisan 5,000g. |
| Easy respawn | mod_easy_respawn.conf | Active=1,2, ResurrectPct=0.5 | Dungeon/raid respawn at 50% health/mana; map overrides exist for 631, 901, 902, 903, 939. |
| Raid cooldowns | reset_raid_cooldowns.conf | Enable=1, EnableForHeroics=0, CombatTimeRequiredInSeconds=20 | Resets selected raid spells; does not reset the instance. |
| Pocket Pals | PocketPals.conf | Enable=1, PvP.Enable=1, StartingCaptureSeals=5, MaxLevel=80, TurnTimeoutSeconds=15 | Five-Pal teams; PvP enabled. |
| Timewalking | TimeWalking.conf | Enable=1, RequireGroupLeader=1, RequireSameBracket=1, PendingRunSeconds=300, Reward.Enabled=1 | Seventeen maps are seeded. Level 70 and 80 brackets only. |
| Quest Loot Party | mod-quest-loot-party.conf | QuestParty.Enable=true | Common-quality quest drops only; equipment and gold are unchanged. |
| Reward All Quest Choices | mod_reward_all_quest_choices.conf | Enable=1, DenyIfFull=1, no exclusions | Grants all choice rewards plus the selected one. |
| Item Drop Multiplier | item_drop_multiplier.conf | Enabled=1, rules 32569:2; 29434:1.5; 29539:2 | Normal and group-roll loot; fractional rates are probabilistic. |
| AoE loot | mod_aoe_loot.conf | Enable=1, Range=55, MaxCorpses=10, Group=1 | Starts enabled each login; `.aoeloot on |
| Loot beam | mod_loot_beam.conf | Enable=1 | Server hint works; visible beams need the WarcraftXL client runtime. |
| Dynamic Loot Browser | dynamic_loot_browser.conf | Enable=1, RequireGM=0, MaxResults=100, MaxItemsPerCreature=200, ThrottleMs=500 | Excludes creature ranges 70001–73586. /dloot add and /dloot gmadd are staff-only. |
| Auctionator | mod_auctionator.conf | Enabled=1, sellers 10000/10000/18000, AuctionsPerRun=500, AuctionStartBidPct=0.80, bidder cycles 5 minutes / 500 actions | Excludes armor/weapons, enchants, WotLK items, and custom items. This is a server seller, not a full Auction House. |
| PvP rewards | BGReward_multi.conf | Battleground.Reward.Enable=0, Arena.Reward.Enable=1 | BG marks/tokens are off; rated arenas award badges and 844115. |
| RDF expansion | mod-rdf-expansion.conf | RDF.Expansion=1 | Wrath queues are forced to The Burning Crusade rules. |
| StatBooster | statbooster.conf | Enable=1, loot 33%, quest 20%, craft 20% | Adds random enchant rolls. See 13. |
| Attriboost | attriboost.conf | Enable=1, reset 2500000, DisablePvP=1 | Stat caps are per level band; PvP is excluded. |
| Guild funds | mod_guildfunds.conf | Looted=15, Quests=15, ShowInfo=1 | Fifteen percent of eligible loot and quest money goes to the guild bank. |
| WarcraftXL object editor | WarcraftXLGameObjectEditor.conf | Enable=1, selection 40, edit 100, undo 20, timeout 300 | Staff-only client tools; no player object editing. |
| DBM bridge | DBMFTABridge.conf | Enabled | Client-side bot callouts. Check its debug flag before a live event. |
Disabled and absent
| System | Evidence | Effect |
|---|---|---|
| Quartermaster Ledger | QuartermasterLedger.Enable=0 in worldserver.conf; /quartermasters and /qml disabled | Use normal quartermaster NPCs. quartermaster_ledger.conf only carries extra/excluded vendors. |
| AuraTimers | AuraTimers.Enable=0 | /auratimers and /atimers have no live server data. |
| Remote Auction House | CustomAuctionCommand.Enable=0 | .ah is off; PaperDollAH hides itself. |
| Remote repair | CustomRepairCommand.Enable=0 | .repair is off. |
| BG bonus rewards | Battleground.Reward.Enable=0 | BG marks/tokens, including the Ring of Valor path, do not pay out. |
| Daily dungeon rewards | DailyDungeonRewards.Enable=0 | The custom daily dungeon reward quests are off. |
| SoloLFG | SoloLFG.Enable=0 | No solo dungeon-finder queue. |
| NPCBotBanter | NpcBotBanter.Enable=0 | Bots do not use the ambient banter system. |
| MapGoldMultiplier | MapGoldMultiplier.Enable=0 | No map-specific gold multiplier. |
| Dynamic XP | Dynamic.XP.Rate=0 | Old dynamic XP is inactive; individual XP controls leveling. |
| NPCBot gear bank | NpcBot.GearBank.Enable=0 | Use .botdoll from bags, not a bot gear bank. |
| NPCBot spawn command | NpcBot.SpawnCommand.Enable=0 | .npcbot spawn is not a player tool. |
| NPCBot transmog | NpcBot.Transmog.Enable=0 | Bot transmog is off. |
| Portable transmog | Transmogrification.EnablePlus=0 | EnablePortable=1 is not sufficient; NPC transmog only. |
| Ring of Valor | Arena.DisableRingOfValor=1 | The arena is unavailable. |
| Arena Commendation sink | No vendor or scripted consumer for 844115 | Rated arenas award a record item, not spendable currency. |
| Wintergrasp vendor loop | Quartermaster templates 32294, 32296, 39172, 39173 have no confirmed spawn | Do not advertise a WG shopping loop. |
| Well of Eternity entrance | Map 939; no confirmed public entrance | Staff must place the raid. |
| Hall of Thanes | Map 903; no encounters or completion state | Exploration space only. |
| Weapon caches | Templates 996160–996184; all 25 unplaced | No permanent world spawn. |
Content and data snapshots
- World discoveries: 391 discovery templates, 539 spawns, 230 placed types, and 161 unplaced. All 25 weapon caches are unplaced.
- Auctionator: seller caps
10,000Alliance,10,000Horde,18,000neutral;500auctions per run; query limit2,500; bidders5minutes and500actions; market padding1.75; expansion weights Vanilla55, TBC40, WotLK5, custom0. - Timewalking: 17 seeded maps; exactly level 70 and level 80 brackets; five runs per hour; pending run window
300seconds. - Random Dungeon Finder: Classic up to 58, TBC from 59; five instances per hour; daily reset at 04:00.
- Addons: 117 third-party folders; 56 load-bearing/required including
DBM-Core; 12 explicit DO NOT DISABLE addons. The 23Blizzard_*directories are TOC-less stubs and are excluded from the count. - Progression: 18 usable stages, values
0–18; stage11is retired; stage10is the Well of Eternity gate. - Starter NPCs: guides
750002–750009; boost NPCs732714–732721; boost sets level 60, stage 8, once per character. - Trapjaw Rix:
34087, not item entry34787.
Commands & UI
Use the server console or an authorized GM character. Player self-service commands are marked in the Scope column.
| Command | Scope | Use |
|---|---|---|
.reload config | Staff | Reload configuration values that are read during config load. Not a guarantee for every module cache. |
.server info | Staff | Check core version and uptime before and after a change. |
.ipstage get | Player / staff self | Show current and highest selectable progression stage. |
.ipstage set <0-18> | Player / staff self | Switch among earned stages; stage 11 invalid. |
.ipstage cost | Player / staff self | Report whether a stage change costs currency. |
.ip get, .ip set <0-18>, .ip tele, .ip setbot, .ip setrep, .ip pvp, .ip attune | Staff | GM progression controls. .ip setrep is disabled. |
.arena | Staff | Arena season and queue administration. |
.auctionator status | Staff | Inspect Auctionator seller state. |
.auctionator enable / .auctionator disable | Staff | Turn the server seller on or off. |
.auctionator reloadorigins | Staff | Reload the item-origin manifest after data changes. |
.auctionator add, auctionspercycle, bidonown, bidspercycle, expireall, multiplier, help | Staff | Seller and bidder administration. |
/dloot clearcache | Player / staff | Clear the dynamic loot browser cache after loot-table changes. |
| `/dloot gmadd on | off` | Staff |
.npcbot fix | Staff | Repair NPCBot state; not a player command. |
.gobject add | Staff | Place a GameObject such as a discovery cache or raid access object. |
.learn 250436 | Staff | Teach the Lightforged Warframe spell. The chassis is 999130. |
/wxl objects, /wxl object, /wxl go | Staff | WarcraftXL object-editor tools. |
/azercoreops, /ro, /azops | Staff | AzerCore Ops; mutations require server authorization. |
.ipstage is not the GM family. Players use .ipstage get|set|cost; staff targeting another character use .ip get|set|.... Do not teach players .ip tele, .ip attune, or the other staff subcommands.
Reload and diagnostics
- Change the live runtime file. Keep a note of the old value.
- Run
.reload config. This is confirmed for configuration values read during load. Some module settings still require a worldserver restart. - Check the owning status command.
.auctionator statusfor the seller,.ip getfor a target’s stage,.ipstage getfor your own,.server infofor core health. - Refresh caches when data changed. Use
/dloot clearcacheafter loot-table edits. Use.auctionator reloadoriginsafter item-origin edits. - Repair bot state with
.npcbot fix. This is not a substitute for fixing spawn data. - Test with a normal character. GM accounts can see commands and interactions that players cannot.
- Record the change. Update the player document,
index.md, and25-reference-commands-npcs-addons.mdif access or status changed.
Restart when in doubt. A .reload config does not rebuild client addon state, re-seed map data, or guarantee that a module has re-read every cached value. If a switch appears to do nothing, verify the module loaded, then restart the worldserver before changing code.
Known admin traps
- Quartermaster Ledger has two files but one master switch.
QuartermasterLedger.Enableis inworldserver.conf. The module file only carriesExtraVendorsandExcludedVendors. EnablePortable=1is not portable transmog.Transmogrification.EnablePlus=0disables the Plus feature. Do not “fix” a player report by pointing atEnablePortablealone..ahand PaperDollAH are separate.CustomAuctionCommand.Enable=0turns off the command; PaperDollAH hides itself because the command is off. Re-enabling one without checking the other produces a confusing half-feature.BonusLoot.Debug=1is live. It is useful for diagnostics but noisy in play. Turn it off after verifying bonus rolls.DynamicLoot.RequireGM=0is intentional. The browser is player-readable. Setting it to1disables the player-facing browser; do not do that as a “security” fix without changing 23.- Fractional drop multipliers are probabilistic.
ItemDropMultipliervalues such as1.5do not mean every kill drops one and a half items. WorldDiscoveries.XPMultiplier=10.0is high. Lowering it changes discovery XP only; the once-per-spawn claim and loot behavior remain.0disables discovery XP entirely.- Oaths rewards are character-earned.
LevelingChallenges.AccountWideRewards=0. Do not describe them as account-wide. NpcBot.MaxBotsis a comma list. The live string is4,4,4,4,39,39,39,39,39; do not flatten it to a single number without understanding the level brackets.- Auctionator is not a full Auction House. Armor/weapons, enchants, WotLK items, and custom items are excluded by default. Seller stock is deliberately category- and expansion-weighted.
- The Wintergrasp battle and the Wintergrasp vendor are different systems. The battle is enabled; the quartermaster templates have no confirmed spawn.
- The Well of Eternity and Hall of Thanes are content gaps, not missing config toggles. There is no public Well entrance and no Hall encounter state. Staff placement is required.
- RDF is forced to TBC.
RDF.Expansion=1means Wrath dungeon queues follow TBC rules. Do not promise a full Wrath Random Dungeon Finder. .ipstageis player-facing. The staff command family is.ip. This distinction is easy to lose in old notes.- Do not trust offline MySQL for live event state. The project database may be stale or offline. Query the running worldserver’s database when it is up.
Related systems
- Overview and index
- 08 — Individual progression
- 09 — Experience rates
- 10 — Oaths
- 15 — NPCBots
- 18 — World discoveries and events
- 19 — Dungeons and grouping
- 20 — Custom raids and endgame
- 21 — PvP
- 22 — Auction House and economy
- 23 — Loot and rewards
- 24 — UI and addons
- 25 — Commands, NPCs, and addons
Admin note
The runtime configuration is the authority for this appendix. Source files are read-only reference for behavior that has no live switch. Client addon files are read-only for server administration. Do not edit source, client, or Downloads files to change a live value.
When a switch changes:
- Update the owning player document if access, rewards, or limits changed.
- Update
index.mdif a badge or catalog description changed. - Update
25-reference-commands-npcs-addons.mdif a command or NPC became available, unavailable, or changed audience. - Re-check data snapshots before publishing counts: discovery templates/spawns, Auctionator seller caps, Timewalking map count, RDF limits, and addon counts.
- Keep
.ipstageand.ipseparate..ipstage get|set|costis player-facing;.ipis the GM family. - Keep disabled labels honest. Quartermaster Ledger, AuraTimers,
.ah,.repair, BG bonus rewards, daily dungeon rewards, SoloLFG, NPCBotBanter, MapGoldMultiplier, Dynamic XP, and the NPCBot gear bank are off unless this appendix and the player docs are changed together.