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.conf and Server/runtime/configs/modules/*.conf.
  • Defaults only: *.conf.dist files 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 from modules/ after the main file.
  • The catalog is a snapshot: 00–25 describe 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

  1. Open the live file, not the .dist. Confirm the path starts with Server/runtime/configs/.
  2. Find the owner of the switch. Some master switches live in worldserver.conf even when a module has its own config file.
  3. Change one system at a time. Record the old value, the new value, and the reason.
  4. Check dependencies. A module switch does nothing if the module is not loaded, the addon is disabled, or the client runtime is missing.
  5. Reload or restart. Use .reload config for values read during configuration load; restart for startup-only state or cached module data.
  6. Verify with a real command. Check the status command, then test with a non-GM character.
  7. Update the docs. If player access changed, update the owning document, index.md, and 25-reference-commands-npcs-addons.md.

File map

PathScopeWhat it controls
Server/runtime/configs/worldserver.confLive coreRates, 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.confLive authLogin, network, and auth-service settings. No gameplay balance switches.
Server/runtime/configs/modules/*.confLive modulesModule-specific features: progression, XP, loot, transmog, reforging, professions, travel, Timewalking, Auctionator, Pocket Pals, and similar.
Server/runtime/configs/modules/*.conf.distReferenceShipped defaults. Do not edit expecting a live change.
Server/From_The_Ashes_Source/AzerothCore_Linux/SourceBehavior that has no config switch. Read-only reference.
Client-Files/From_The_Ashes_Client/Interface/AddOns/ClientAddon 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

SystemLive switchCurrent stateStaff note
Level cap and starting moneyMaxPlayerLevel, StartPlayerMoney80, 100 copperNew characters start at level 1 with 100 copper.
Base ratesRate.XP.*, Rate.Reputation.Gain, Rate.TalentXP 1, reputation 2, talent 1.5Personal XP is separate, from individual_xp.conf.
Cross-faction accountsAllowTwoSide.Accounts1Cross-faction chat, group, guild, trade, mail, and Auction House interactions are 0.
Remote Auction HouseCustomAuctionCommand.Enable0.ah is off. There is no remote auctioneer.
Remote repairCustomRepairCommand.Enable0.repair is off. Vendors and repair mounts still work.
Auction House coreAuctionHouse.WorkerThreads, LevelReq.Auction2, 1Auctionator supplies the stock; the core service remains normal.
Arena capMaxArenaPoints25000Arena points are capped.
Ring of ValorArena.DisableRingOfValor1The Ring of Valor is disabled.
WintergraspWintergrasp.Enable, PlayerMinLvl, PlayerMax, BattleTimer, NoBattleTimer1, 75, 120, 30, 150The battle runs. The quartermaster vendor loop does not.
Instance resetInstance.ResetTimeHour4Daily reset at 04:00 server time.
Player gear bankGearBank.Enable, MaxItemsPerCharacter1, 200This is the player /gbank, not the NPCBot gear bank.
NPCBotsNpcBot.Enable, MaxBots, AltBots.MaxActive, Cost.Hire1, 4,4,4,4,39,39,39,39,39, 4, 1000000NpcBot.SpawnCommand.Enable=0; NpcBot.GearBank.Enable=0; NpcBot.Transmog.Enable=0.
NPCBot group contentNpcBot.Enable.Dungeon, Raid, BG, Arena, DungeonFinderAll 1Bots can fill group content, but Oath restrictions still apply per character.
BonusLootBonusLoot.Enable, RaidBossOnly, RequireRaidGroup, EligibilitySeconds, SuccessChancePct1, 1, 0, 60, 33.33BonusLoot.Debug=1 is live; turn it off after diagnostics.
TimeCycleTimeCycle.Enabled, Seasonal.Enabled, Daily.Enabled, UpdateIntervalMs1, 1, 1, 60000TimeCycle.Season.Force=none; daily schedule is 04:00, 10:00, 16:00, 21:00.
World discoveriesWorldDiscoveries.XPMultiplier10.01.0 preserves rewards; 0 disables discovery XP but keeps loot and once-per-spawn claims.
OathsLevelingChallenges.Enable, AccountWideRewards, hunter limits1, 0, 480–900s, max 3 defeatsRewards are character-earned, not account-wide.
Lightforged WarframeLightforgedWarframe.Enable, DurationMs, CooldownSeconds, FreeFlight1, 45000, 600, 0Staff-taught with .learn 250436.

Module switches

SystemLive fileCurrent stateStaff note
Individual progressionindividualProgression.confEnable=1, StartingProgression=0, ProgressionLimit=0, PlayerChange.Enable=1, AllowUnearnedProgression=0, RequireCurrency=0Players use `.ipstage get
Individual XPindividual_xp.confEnabled=true, MaxXPRate=5, DefaultXPRate=1Slow and Steady locks .xp set while active.
Dynamic XPdynamicxp.confDynamic.XP.Rate=0The old dynamic system is off. Do not re-enable it alongside individual XP without a design decision.
Level-60 boostboost60_outland.confEnable=1, TargetLevel=60, OnePerCharacter=1, RequireBelowTargetLevel=1Blocked by active Oaths; sets progression stage 8.
Starter food and petsmod_starter_food_water.conf, mod_startingpet.confBoth enabledFirst-login only. Do not use these to grant endgame consumables.
Reagent bankmod_reagent_bank_account.confEnable=1, AccountWide=1, AutoMigrate=1, MaxItemsPerPage=15, EnableSharing=0/rbank is the player UI. Bank sharing is off.
Transmogrificationtransmog.confEnable=1, UseCollectionSystem=1, UseVendorInterface=1, CopperCost=0, RequireToken=0EnablePlus=0 disables portable transmog even though EnablePortable=1.
Reforgingmod_reforging.confEnable=1, Percentage=40.0, UICommand.Enable=1/reforge is the player UI.
Shared professionsmod_shared_professions.confEnable=1, SyncSecondary=1Account-wide profession progress; see 07.
Profession XPmod-profession-experience.confMultGray=0, MultGreen=0.5, MultYellow=0.75, MultOrange=0.9Only Fishing, Herbalism, and Mining have nonzero gathering XP in the live file.
Multi-Trainermod_multitrainer.confEnable=1, RespectIndividualProgression=1Rakka is the live trainer; class, professions, weapons, riding, and pets are enabled.
Crafting speedmod_craftspeed.confCraftingCastTime.Multiplier=0.1; gathering rates 1Crafting is fast; gathering speed is unchanged.
Dreamwaymod_emerald_dreamway.confEnable=1, MinimumLevel=1, four routesPedestals 990001–990008.
Glidersmod_goblin_glider.confEnable=1, DurationMs=180000, CooldownMs=180000Debug=1 is live; turn it off after testing. Allowed maps 0,1,530,571.
Mount requirementsmod_mount_requirements.confRiding levels 30, 60, 70; cold weather 77Apprentice 100g, journeyman 1,000g, expert 800g, artisan 5,000g.
Easy respawnmod_easy_respawn.confActive=1,2, ResurrectPct=0.5Dungeon/raid respawn at 50% health/mana; map overrides exist for 631, 901, 902, 903, 939.
Raid cooldownsreset_raid_cooldowns.confEnable=1, EnableForHeroics=0, CombatTimeRequiredInSeconds=20Resets selected raid spells; does not reset the instance.
Pocket PalsPocketPals.confEnable=1, PvP.Enable=1, StartingCaptureSeals=5, MaxLevel=80, TurnTimeoutSeconds=15Five-Pal teams; PvP enabled.
TimewalkingTimeWalking.confEnable=1, RequireGroupLeader=1, RequireSameBracket=1, PendingRunSeconds=300, Reward.Enabled=1Seventeen maps are seeded. Level 70 and 80 brackets only.
Quest Loot Partymod-quest-loot-party.confQuestParty.Enable=trueCommon-quality quest drops only; equipment and gold are unchanged.
Reward All Quest Choicesmod_reward_all_quest_choices.confEnable=1, DenyIfFull=1, no exclusionsGrants all choice rewards plus the selected one.
Item Drop Multiplieritem_drop_multiplier.confEnabled=1, rules 32569:2; 29434:1.5; 29539:2Normal and group-roll loot; fractional rates are probabilistic.
AoE lootmod_aoe_loot.confEnable=1, Range=55, MaxCorpses=10, Group=1Starts enabled each login; `.aoeloot on
Loot beammod_loot_beam.confEnable=1Server hint works; visible beams need the WarcraftXL client runtime.
Dynamic Loot Browserdynamic_loot_browser.confEnable=1, RequireGM=0, MaxResults=100, MaxItemsPerCreature=200, ThrottleMs=500Excludes creature ranges 70001–73586. /dloot add and /dloot gmadd are staff-only.
Auctionatormod_auctionator.confEnabled=1, sellers 10000/10000/18000, AuctionsPerRun=500, AuctionStartBidPct=0.80, bidder cycles 5 minutes / 500 actionsExcludes armor/weapons, enchants, WotLK items, and custom items. This is a server seller, not a full Auction House.
PvP rewardsBGReward_multi.confBattleground.Reward.Enable=0, Arena.Reward.Enable=1BG marks/tokens are off; rated arenas award badges and 844115.
RDF expansionmod-rdf-expansion.confRDF.Expansion=1Wrath queues are forced to The Burning Crusade rules.
StatBoosterstatbooster.confEnable=1, loot 33%, quest 20%, craft 20%Adds random enchant rolls. See 13.
Attriboostattriboost.confEnable=1, reset 2500000, DisablePvP=1Stat caps are per level band; PvP is excluded.
Guild fundsmod_guildfunds.confLooted=15, Quests=15, ShowInfo=1Fifteen percent of eligible loot and quest money goes to the guild bank.
WarcraftXL object editorWarcraftXLGameObjectEditor.confEnable=1, selection 40, edit 100, undo 20, timeout 300Staff-only client tools; no player object editing.
DBM bridgeDBMFTABridge.confEnabledClient-side bot callouts. Check its debug flag before a live event.

Disabled and absent

SystemEvidenceEffect
Quartermaster LedgerQuartermasterLedger.Enable=0 in worldserver.conf; /quartermasters and /qml disabledUse normal quartermaster NPCs. quartermaster_ledger.conf only carries extra/excluded vendors.
AuraTimersAuraTimers.Enable=0/auratimers and /atimers have no live server data.
Remote Auction HouseCustomAuctionCommand.Enable=0.ah is off; PaperDollAH hides itself.
Remote repairCustomRepairCommand.Enable=0.repair is off.
BG bonus rewardsBattleground.Reward.Enable=0BG marks/tokens, including the Ring of Valor path, do not pay out.
Daily dungeon rewardsDailyDungeonRewards.Enable=0The custom daily dungeon reward quests are off.
SoloLFGSoloLFG.Enable=0No solo dungeon-finder queue.
NPCBotBanterNpcBotBanter.Enable=0Bots do not use the ambient banter system.
MapGoldMultiplierMapGoldMultiplier.Enable=0No map-specific gold multiplier.
Dynamic XPDynamic.XP.Rate=0Old dynamic XP is inactive; individual XP controls leveling.
NPCBot gear bankNpcBot.GearBank.Enable=0Use .botdoll from bags, not a bot gear bank.
NPCBot spawn commandNpcBot.SpawnCommand.Enable=0.npcbot spawn is not a player tool.
NPCBot transmogNpcBot.Transmog.Enable=0Bot transmog is off.
Portable transmogTransmogrification.EnablePlus=0EnablePortable=1 is not sufficient; NPC transmog only.
Ring of ValorArena.DisableRingOfValor=1The arena is unavailable.
Arena Commendation sinkNo vendor or scripted consumer for 844115Rated arenas award a record item, not spendable currency.
Wintergrasp vendor loopQuartermaster templates 32294, 32296, 39172, 39173 have no confirmed spawnDo not advertise a WG shopping loop.
Well of Eternity entranceMap 939; no confirmed public entranceStaff must place the raid.
Hall of ThanesMap 903; no encounters or completion stateExploration space only.
Weapon cachesTemplates 996160–996184; all 25 unplacedNo 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,000 Alliance, 10,000 Horde, 18,000 neutral; 500 auctions per run; query limit 2,500; bidders 5 minutes and 500 actions; market padding 1.75; expansion weights Vanilla 55, TBC 40, WotLK 5, custom 0.
  • Timewalking: 17 seeded maps; exactly level 70 and level 80 brackets; five runs per hour; pending run window 300 seconds.
  • 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 23 Blizzard_* directories are TOC-less stubs and are excluded from the count.
  • Progression: 18 usable stages, values 0–18; stage 11 is retired; stage 10 is the Well of Eternity gate.
  • Starter NPCs: guides 750002–750009; boost NPCs 732714–732721; boost sets level 60, stage 8, once per character.
  • Trapjaw Rix: 34087, not item entry 34787.

Commands & UI

Use the server console or an authorized GM character. Player self-service commands are marked in the Scope column.

CommandScopeUse
.reload configStaffReload configuration values that are read during config load. Not a guarantee for every module cache.
.server infoStaffCheck core version and uptime before and after a change.
.ipstage getPlayer / staff selfShow current and highest selectable progression stage.
.ipstage set <0-18>Player / staff selfSwitch among earned stages; stage 11 invalid.
.ipstage costPlayer / staff selfReport whether a stage change costs currency.
.ip get, .ip set <0-18>, .ip tele, .ip setbot, .ip setrep, .ip pvp, .ip attuneStaffGM progression controls. .ip setrep is disabled.
.arenaStaffArena season and queue administration.
.auctionator statusStaffInspect Auctionator seller state.
.auctionator enable / .auctionator disableStaffTurn the server seller on or off.
.auctionator reloadoriginsStaffReload the item-origin manifest after data changes.
.auctionator add, auctionspercycle, bidonown, bidspercycle, expireall, multiplier, helpStaffSeller and bidder administration.
/dloot clearcachePlayer / staffClear the dynamic loot browser cache after loot-table changes.
`/dloot gmadd onoff`Staff
.npcbot fixStaffRepair NPCBot state; not a player command.
.gobject addStaffPlace a GameObject such as a discovery cache or raid access object.
.learn 250436StaffTeach the Lightforged Warframe spell. The chassis is 999130.
/wxl objects, /wxl object, /wxl goStaffWarcraftXL object-editor tools.
/azercoreops, /ro, /azopsStaffAzerCore 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

  1. Change the live runtime file. Keep a note of the old value.
  2. Run .reload config. This is confirmed for configuration values read during load. Some module settings still require a worldserver restart.
  3. Check the owning status command. .auctionator status for the seller, .ip get for a target’s stage, .ipstage get for your own, .server info for core health.
  4. Refresh caches when data changed. Use /dloot clearcache after loot-table edits. Use .auctionator reloadorigins after item-origin edits.
  5. Repair bot state with .npcbot fix. This is not a substitute for fixing spawn data.
  6. Test with a normal character. GM accounts can see commands and interactions that players cannot.
  7. Record the change. Update the player document, index.md, and 25-reference-commands-npcs-addons.md if 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.Enable is in worldserver.conf. The module file only carries ExtraVendors and ExcludedVendors.
  • EnablePortable=1 is not portable transmog. Transmogrification.EnablePlus=0 disables the Plus feature. Do not “fix” a player report by pointing at EnablePortable alone.
  • .ah and PaperDollAH are separate. CustomAuctionCommand.Enable=0 turns 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=1 is live. It is useful for diagnostics but noisy in play. Turn it off after verifying bonus rolls.
  • DynamicLoot.RequireGM=0 is intentional. The browser is player-readable. Setting it to 1 disables the player-facing browser; do not do that as a “security” fix without changing 23.
  • Fractional drop multipliers are probabilistic. ItemDropMultiplier values such as 1.5 do not mean every kill drops one and a half items.
  • WorldDiscoveries.XPMultiplier=10.0 is high. Lowering it changes discovery XP only; the once-per-spawn claim and loot behavior remain. 0 disables discovery XP entirely.
  • Oaths rewards are character-earned. LevelingChallenges.AccountWideRewards=0. Do not describe them as account-wide.
  • NpcBot.MaxBots is a comma list. The live string is 4,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=1 means Wrath dungeon queues follow TBC rules. Do not promise a full Wrath Random Dungeon Finder.
  • .ipstage is 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.

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.md if a badge or catalog description changed.
  • Update 25-reference-commands-npcs-addons.md if 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 .ipstage and .ip separate. .ipstage get|set|cost is player-facing; .ip is 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.