mirror of
https://github.com/kadeshar/mod-player-bot-level-brackets.git
synced 2026-01-13 09:17:19 +00:00
92 lines
4.8 KiB
Markdown
92 lines
4.8 KiB
Markdown
# AzerothCore Module: Bot Level Brackets
|
||
==========================================
|
||
|
||
Overview
|
||
--------
|
||
The Bot Level Brackets module for AzerothCore ensures an even spread of player bots across configurable level ranges (brackets). It periodically monitors bot levels and automatically adjusts them by transferring bots from overpopulated brackets to those with a deficit. During adjustments, bot levels are reset, equipped items are destroyed, pets are removed, and auto-maintenance actions are executed.
|
||
|
||
Features
|
||
--------
|
||
• **Configurable Level Brackets:**
|
||
Define eight distinct level brackets with customizable lower and upper bounds.
|
||
|
||
• **Desired Percentage Distribution:**
|
||
Set target percentages for the number of bots within each level bracket.
|
||
|
||
• **Dynamic Bot Adjustment:**
|
||
Automatically reassign bots from brackets with a surplus to those with a deficit.
|
||
|
||
• **Auto Maintenance Execution:**
|
||
Executes the AutoMaintenanceOnLevelupAction after adjusting a bot’s level to ensure proper reinitialization.
|
||
|
||
• **Equipment and Pet Reset:**
|
||
Destroys all equipped items and removes any pet during a level adjustment.
|
||
|
||
• **Support for Random Bots:**
|
||
Applies exclusively to bots managed by RandomPlayerbotMgr.
|
||
|
||
• **Debug Mode:**
|
||
Provides detailed logging to aid in monitoring and troubleshooting module operations.
|
||
|
||
Installation
|
||
------------
|
||
1. **Clone the Module**
|
||
Ensure the AzerothCore Playerbots fork is installed and running. Clone the module into your AzerothCore modules directory:
|
||
|
||
cd /path/to/azerothcore/modules
|
||
git clone https://github.com/DustinHendrickson/mod-bot-level-brackets.git
|
||
|
||
2. **Recompile AzerothCore**
|
||
Rebuild the project with the new module:
|
||
|
||
cd /path/to/azerothcore
|
||
mkdir build && cd build
|
||
cmake ..
|
||
make -j$(nproc)
|
||
|
||
3. **Configure the Module**
|
||
Rename the configuration file:
|
||
|
||
mv /path/to/azerothcore/modules/mod-bot-level-brackets.conf.dist /path/to/azerothcore/modules/mod-bot-level-brackets.conf
|
||
|
||
4. **Restart the Server**
|
||
Launch the world server:
|
||
|
||
./worldserver
|
||
|
||
Configuration Options
|
||
---------------------
|
||
Customize the module’s behavior by editing the `mod-bot-level-brackets.conf` file:
|
||
|
||
Setting | Description | Default | Valid Values
|
||
-------------------------------- | -------------------------------------------------------------------------------------------------------------- | ------- | --------------------
|
||
BotDistribution.DebugMode | Enables detailed debug logging for module operations. | 0 | 0 (off) / 1 (on)
|
||
BotDistribution.CheckFrequency | Frequency (in seconds) for performing the bot bracket distribution check. | 300 | Positive Integer
|
||
BotDistribution.Range1Pct | Desired percentage of bots in level bracket 1-10. | 14 | 0-100
|
||
BotDistribution.Range2Pct | Desired percentage of bots in level bracket 11-20. | 12 | 0-100
|
||
BotDistribution.Range3Pct | Desired percentage of bots in level bracket 21-30. | 12 | 0-100
|
||
BotDistribution.Range4Pct | Desired percentage of bots in level bracket 31-40. | 12 | 0-100
|
||
BotDistribution.Range5Pct | Desired percentage of bots in level bracket 41-50. | 12 | 0-100
|
||
BotDistribution.Range6Pct | Desired percentage of bots in level bracket 51-60. | 12 | 0-100
|
||
BotDistribution.Range7Pct | Desired percentage of bots in level bracket 61-70. | 12 | 0-100
|
||
BotDistribution.Range8Pct | Desired percentage of bots in level bracket 71-80. | 14 | 0-100
|
||
|
||
*Note: The sum of all bracket percentages must equal 100.*
|
||
|
||
Debugging
|
||
---------
|
||
To enable detailed debug logging, update the configuration file:
|
||
|
||
BotDistribution.DebugMode = 1
|
||
|
||
This setting outputs logs detailing bot level adjustments, item destruction, pet removal, and the execution of auto-maintenance actions.
|
||
|
||
License
|
||
-------
|
||
This module is released under the GNU GPL v2 license, consistent with AzerothCore's licensing model.
|
||
|
||
Contribution
|
||
------------
|
||
Created by Dustin Hendrickson.
|
||
Pull requests and issues are welcome. Please ensure that contributions adhere to AzerothCore's coding standards.
|