Fork of Old-Man-Warcraft/mod-gold-rush — AzerothCore timed resource-rush world event with playerbot routing. Local fixes applied.
Four defects found reviewing this against AzerothCore efe123fab and mod-playerbots 8d9f6aa6 (both 2026-08-14). 1. Bot routing did nothing. Engine::ChangeStrategy switches on name[0] and only handles '+', '-', '~' and '?'; a bare "new rpg" fell through every case. Bots still drifted toward the hotspot, but only because rpgInfo.ChangeToGoGrind() works and AiFactory already grants the strategy when AiPlayerbot.EnableNewRpgStrategy is on. Now sends "+new rpg", and only to BOT_STATE_NON_COMBAT -- the combat engine never carries it. 2. Node lifetime was off by 1000x. The respawnTime argument to Map::SummonGameObject lands in GameObject::SetRespawnTime(int32), which is seconds. Passing DurationMs made a 20-minute event's nodes live ~13.9 days, so they only ever vanished via the explicit despawn at event end. 3. LoadConfig cleared _spawnedNodes and _active without despawning, so a `.reload config` mid-event orphaned every node permanently (compounded by defect 2). It now tears the running event down first. 4. Spawns reused the anchor's exact Z for every scattered X/Y with no ground probe and no LOS check, leaving nodes floating or buried on the hilly zones in the default pool. Placement now probes ground height, rejects drift beyond 20y, requires LOS from the anchor, and retries up to 8 times. Verified with a clang -fsyntax-only pass using the live build's own compile flags plus the mod-playerbots include tree. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019vTNrJGsprcjdjjjDJD5ZM |
||
|---|---|---|
| conf | ||
| src | ||
| CHANGELOG.md | ||
| LICENSE | ||
| mod-gold-rush.cmake | ||
| README.md | ||
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-playerbotsmust 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-playerbotsinstalled. - Gold Rush directly includes Playerbots headers and uses Playerbots runtime APIs for routing bots to event hotspots.
- If
mod-playerbotsis 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.loglogger/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
- Make sure
mod-playerbotsis already installed in your AzerothCore setup. - Place
mod-gold-rushinside the AzerothCoremodules/directory. - Re-run CMake so AzerothCore detects the module.
- Build and install/update your server.
- Copy
conf/gold_rush.conf.distto your generated module config directory asgold_rush.confif you want local overrides. - Restart
worldserver.
Configuration
The module ships its defaults in conf/gold_rush.conf.dist.
Important options:
GoldRush.EnableGoldRush.ZonePoolGoldRush.BlacklistGoldRush.VerboseLoggingGoldRush.MinIntervalMinutesGoldRush.MaxIntervalMinutesGoldRush.DurationMinutesGoldRush.MinNodesGoldRush.MaxNodesGoldRush.BotsPerFactionGoldRush.BotPulseSecondsGoldRush.SpawnRadiusYardsGoldRush.NodeEntriesGoldRush.StartMessageGoldRush.EndMessageGoldRush.DebugAppender.GoldRushLogLogger.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-playerbotsis 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.