Fork of Old-Man-Warcraft/mod-gold-rush — AzerothCore timed resource-rush world event with playerbot routing. Local fixes applied.
Find a file
Claude c9a6bf5f58 fix: player-anchored events never got zone-specific resources
SelectSiteForPlayer() tries to anchor an event on a live player's
current position FIRST (BuildEligibleSiteFromPlayer ->
BuildSiteFromAnchor), only falling back to a random pick from _sites
when no eligible player is available. Since there is almost always
an eligible player online, this is the common path in practice --
but BuildSiteFromAnchor only reads the player's live zone/area IDs
from the world state; it has no access to the NodeEntries/
BonusEntries that BuildSites() parsed from GoldRush.ZonePool into
_sites. Every player-anchored event therefore got an empty
NodeEntries/BonusEntries regardless of ZonePool configuration, and
SpawnHotspot()'s (correct, intentional) fallback-to-global-pool logic
silently kicked in every time.

This is why testing in Un'Goro Crater after the v2 zone-resources
feature shipped still produced Titanium Vein and Northrend herbs --
the module correctly identified the player's zone as Un'Goro
(ZoneId/ZoneLabel were right), it just never looked up Un'Goro's
configured resource pool to attach it to that site.

Fix: after building the site from the player's live position, look
up a matching entry in _sites by ZoneId and inherit its NodeEntries/
BonusEntries. A zone that's an eligible anchor but has no configured
entry in _sites still correctly falls through to the global pool --
that fallback path was never the problem, only the missing lookup
for zones that ARE configured.
2026-09-05 00:11:05 +00:00
conf feat: zone-specific resource pools across 57 zones (v2 spec) 2026-09-04 14:17:44 -06:00
docs docs: expand zone-specific resources to full zone coverage (v2) 2026-09-04 20:05:27 +00:00
src fix: player-anchored events never got zone-specific resources 2026-09-05 00:11:05 +00:00
CHANGELOG.md fix: stale ZonePool default + add missing CHANGELOG entries 2026-09-04 20:22:31 +00:00
LICENSE chore: initial standalone module import 2026-04-01 13:13:26 -04:00
mod-gold-rush.cmake chore: initial standalone module import 2026-04-01 13:13:26 -04:00
README.md docs: add compatibility notes for playerbots setups 2026-04-01 13:51:38 -04:00

mod-gold-rush

mod-gold-rush is an AzerothCore module that runs a timed, server-wide resource eruption event. When Gold Rush activates, the module selects an eligible open-world zone, anchors on a live player, spawns temporary resource nodes near the hotspot, announces the event to the server, and can route playerbots into the area to create a PvPvE scramble.

Requirements

Required dependency: mod-playerbots must be installed and enabled. Gold Rush includes direct playerbot integration and will not work correctly without the Playerbots module.

  • Requires AzerothCore.
  • Requires mod-playerbots.
  • Gold Rush bot routing, hotspot pressure, and related behavior depend on Playerbots APIs.

Compatibility

  • Built for AzerothCore-based setups that include mod-playerbots.
  • Not compatible with a stock AzerothCore setup that does not have mod-playerbots installed.
  • Gold Rush directly includes Playerbots headers and uses Playerbots runtime APIs for routing bots to event hotspots.
  • If mod-playerbots is missing, Gold Rush should be expected to fail to build or fail to function correctly.
  • Best fit: the same Playerbot-oriented AzerothCore environment this module is being developed and tested against.

Features

  • Schedules Gold Rush events on a random interval.
  • Announces an active hotspot with approximate location messaging.
  • Spawns temporary mixed ore and herb nodes around a live player anchor.
  • Supports dynamic zone selection with blacklist-based restrictions.
  • Exposes GM commands for status, force-start, test-start, stop, and reroute.
  • Routes random playerbots toward the active hotspot with faction pressure.
  • Writes diagnostics to a dedicated gold-rush.log logger/appender pair.
  • Supports verbose event logging for anchor, spawn, and routing behavior.

Commands

GM commands

  • .goldrush status - show current event state and telemetry.
  • .goldrush start [zone or area] - start Gold Rush in your current eligible zone or in a configured hotspot by name.
  • .goldrush teststart - force a hotspot at your current eligible location.
  • .goldrush stop - end the active event and despawn temporary nodes.
  • .goldrush reroute - refresh playerbot routing pressure.

Installation

  1. Make sure mod-playerbots is already installed in your AzerothCore setup.
  2. Place mod-gold-rush inside the AzerothCore modules/ directory.
  3. Re-run CMake so AzerothCore detects the module.
  4. Build and install/update your server.
  5. Copy conf/gold_rush.conf.dist to your generated module config directory as gold_rush.conf if you want local overrides.
  6. Restart worldserver.

Configuration

The module ships its defaults in conf/gold_rush.conf.dist.

Important options:

  • GoldRush.Enable
  • GoldRush.ZonePool
  • GoldRush.Blacklist
  • GoldRush.VerboseLogging
  • GoldRush.MinIntervalMinutes
  • GoldRush.MaxIntervalMinutes
  • GoldRush.DurationMinutes
  • GoldRush.MinNodes
  • GoldRush.MaxNodes
  • GoldRush.BotsPerFaction
  • GoldRush.BotPulseSeconds
  • GoldRush.SpawnRadiusYards
  • GoldRush.NodeEntries
  • GoldRush.StartMessage
  • GoldRush.EndMessage
  • GoldRush.Debug
  • Appender.GoldRushLog
  • Logger.module.goldrush

Behavior notes

  • Event locations are announced approximately, not with exact coordinates.
  • Hotspots are temporary and despawn at event end.
  • Eligible anchors must be in open-world, non-city, non-sanctuary zones.
  • mod-playerbots is required because Gold Rush actively routes random bots to the event hotspot.
  • Blacklisted zones and zone/area pairs are excluded from selection.
  • Node selection alternates between ore-like and herb-like entries when possible.
  • If configured hotspots are unavailable, Gold Rush can fall back to eligible live-player zones.

Repository contents

  • src/ - module implementation and script loader registration.
  • conf/ - distributed module configuration.
  • mod-gold-rush.cmake - AzerothCore build integration.

Status

This module is actively being iterated on. Recent work includes:

  • looser open-world zone eligibility,
  • corrected node entry parsing from config,
  • improved test-start behavior and hotspot fallback handling.