Files
mod-player-bot-level-brackets/conf/mod_player_bot_level_brackets.conf.dist
2025-10-11 22:21:15 -05:00

250 lines
11 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[worldserver]
##############################################
# mod-player-bot-level-brackets configuration
##############################################
#
# BotLevelBrackets.Enabled
# Description: Enables the module.
# Default: 1 (enabled)
# Valid values: 0 (off) / 1 (on)
BotLevelBrackets.Enabled = 1
#
# BotLevelBrackets.FullDebugMode
# Description: Enables full debug logging for the Bot Level Brackets module.
# Default: 0 (disabled)
# Valid values: 0 (off) / 1 (on)
BotLevelBrackets.FullDebugMode = 0
#
# BotLevelBrackets.LiteDebugMode
# Description: Enables lite debug logging for the Bot Level Brackets module.
# Default: 0 (disabled)
# Valid values: 0 (off) / 1 (on)
BotLevelBrackets.LiteDebugMode = 0
#
# BotLevelBrackets.CheckFrequency
# Description: The frequency (in seconds) at which the bot level distribution check is performed.
# Default: 300
BotLevelBrackets.CheckFrequency = 300
#
# BotLevelBrackets.CheckFlaggedFrequency
# Description: The frequency (in seconds) at which the bot level reset is performed for processing safe bots and checking flagged bots that failed safety checks initially.
# Default: 15
BotLevelBrackets.CheckFlaggedFrequency = 15
# BotLevelBrackets.FlaggedProcessLimit
# Description: Maximum number of flagged bots to process per pending level change step.
# 0 = unlimited (process all flagged bots each step)
# Default: 5
BotLevelBrackets.FlaggedProcessLimit = 5
#
# BotLevelBrackets.IgnoreGuildBotsWithRealPlayers
# Description: When enabled, bots that are in a guild with at least one real (non-bot) player are excluded
# from bot bracket calculations and will not be level changed or flagged.
# This now works for both online and offline real players using persistent database tracking.
# Default: 1 (enabled)
# Valid values: 0 (disabled) / 1 (enabled)
BotLevelBrackets.IgnoreGuildBotsWithRealPlayers = 1
#
# BotLevelBrackets.GuildTrackerUpdateFrequency
# Description: The frequency (in seconds) at which the persistent guild tracker database is updated.
# This tracks which guilds have real players even when they are offline.
# Default: 600 (10 minutes)
BotLevelBrackets.GuildTrackerUpdateFrequency = 600
#
# BotLevelBrackets.IgnoreFriendListed
# Description: Ignore bots that are on real players friend's lists from any brackets.
# Default: 1 (enabled)
# Valid values: 0 (off) / 1 (on)
BotLevelBrackets.IgnoreFriendListed = 1
# BotLevelBrackets.ExcludeNames
# Description: Comma-separated list of case insensitive bot names to exclude from all bracket checks.
# Default: ""
BotLevelBrackets.ExcludeNames =
#
# BotLevelBrackets.NumRanges
# Description: The number of level brackets used for bot distribution.
# Both Alliance and Horde should have the same number of brackets defined below.
# Default: 9
#
# IMPORTANT: If you are extending the number of brackets beyond 9, you must update your
# mod_player_bot_level_brackets.conf file AND the corresponding mod_player_bot_level_brackets.conf.dist file to include configuration
# lines for the additional bracket lines added below (e.g. Range10, Range11, etc.). Ensure that the
# sum of the Pct values for each faction remains 100.
BotLevelBrackets.NumRanges = 9
#
# BotLevelBrackets.Dynamic.UseDynamicDistribution
# Description: Enables dynamic recalculation of bot distribution percentages based on the number of non-bot players
# present in each level bracket.
# Default: 0 (disabled)
# Valid values: 0 (off) / 1 (on)
BotLevelBrackets.Dynamic.UseDynamicDistribution = 0
# BotLevelBrackets.Dynamic.RealPlayerWeight
# Description: This setting controls how much extra weight is given to brackets (level ranges) that contain real (non-bot) players, when dynamic distribution is enabled.
# The higher you set this value, the more bots will move to the same level brackets where real players are found, but the effect is *gentle*, not extreme.
# A value of 0.0 means bots always distribute evenly across all brackets, regardless of where players are. The default value of 1.0 gives a mild, balanced effect.
# Raising this to 3.0, 5.0, or higher will make bots concentrate more in brackets with real players.
# The value is a multiplier (not a percent): 0.0 = no extra effect, 1.0 = default, 3.0 = stronger, 5.0 = strong but not extreme.
# Experiment based on your total bot count and real player counts to find a good number for your server.
# If you want a large congestion of bots in your level bracket for solo play I recommend 10-15 for RealPlayerWeight.
# What to expect:
# - With 1.0 (default): If 6/10 real players are in one bracket, that bracket gets about 12.77% of bots. All-empty brackets get about 10.69% each.
# - With 3.0: Same scenario: bracket gets about 15.73% of bots. All-empty brackets: 9.93% each.
# - With 5.0: Bracket with 6/10 real players gets 18.31%. All-empty brackets: 9.28% each.
# - If all real players are in one bracket and weight is 5.0, that bracket gets about 21.56% of bots (others: 9.80% each).
# - With 0.0: Every bracket always gets the same number of bots (e.g., 11.11% each for 9 brackets).
# Formula (per bracket):
# bracket_weight = 1.0 + (RealPlayerWeight × (1 / TotalRealPlayers) × log(1 + RealPlayersInBracket))
# All bracket weights are normalized to total 100%.
# Default: 1.0
BotLevelBrackets.Dynamic.RealPlayerWeight = 1.0
#
# BotLevelBrackets.Dynamic.SyncFactions
# Description: If enabled, both Alliance and Horde must have identical bracket definitions (same number, same level bounds).
# All real players (regardless of faction) influence the dynamic distribution for both factions.
# Default: 0 (disabled)
# Valid values: 0 (off) / 1 (on)
# WARNING: Server will fail to start if brackets do not match when enabled.
#
BotLevelBrackets.Dynamic.SyncFactions = 0
##############################################
# Alliance Level Brackets Configuration
##############################################
# The following settings define the level brackets for Alliance bots.
# For each bracket, you must specify three parameters:
#
# BotLevelBrackets.Alliance.RangeX.Lower
# Description: The lower bound (inclusive) of bracket X.
#
# BotLevelBrackets.Alliance.RangeX.Upper
# Description: The upper bound (inclusive) of bracket X.
#
# BotLevelBrackets.Alliance.RangeX.Pct
# Description: The desired percentage of Alliance bots that should fall into bracket X.
#
# EXAMPLE:
# The default configuration below defines 9 brackets:
#
# Range1 covers levels 1-9, Range2 covers levels 10-19, Range3 covers levels 20-29, and so on.
#
# To customize or add a new bracket (for example, to isolate level 60 in its own bracket), you can:
# - Set Range7.Lower = 60 and Range7.Upper = 60, then adjust the Pct values for Range6 and Range8 accordingly.
#
# Also, if you want to add an extra bracket beyond the default 9, you must:
# 1. Increase BotLevelBrackets.NumRanges to the desired number.
# 2. Add configuration lines for the new RangeX.Lower, RangeX.Upper, and RangeX.Pct.
#
# NOTE:
# The sum of all Pct values for the Alliance brackets must equal 100.
#
BotLevelBrackets.Alliance.Range1.Lower = 1
BotLevelBrackets.Alliance.Range1.Upper = 9
BotLevelBrackets.Alliance.Range1.Pct = 12
BotLevelBrackets.Alliance.Range2.Lower = 10
BotLevelBrackets.Alliance.Range2.Upper = 19
BotLevelBrackets.Alliance.Range2.Pct = 11
BotLevelBrackets.Alliance.Range3.Lower = 20
BotLevelBrackets.Alliance.Range3.Upper = 29
BotLevelBrackets.Alliance.Range3.Pct = 11
BotLevelBrackets.Alliance.Range4.Lower = 30
BotLevelBrackets.Alliance.Range4.Upper = 39
BotLevelBrackets.Alliance.Range4.Pct = 11
BotLevelBrackets.Alliance.Range5.Lower = 40
BotLevelBrackets.Alliance.Range5.Upper = 49
BotLevelBrackets.Alliance.Range5.Pct = 11
BotLevelBrackets.Alliance.Range6.Lower = 50
BotLevelBrackets.Alliance.Range6.Upper = 59
BotLevelBrackets.Alliance.Range6.Pct = 11
BotLevelBrackets.Alliance.Range7.Lower = 60
BotLevelBrackets.Alliance.Range7.Upper = 69
BotLevelBrackets.Alliance.Range7.Pct = 11
BotLevelBrackets.Alliance.Range8.Lower = 70
BotLevelBrackets.Alliance.Range8.Upper = 79
BotLevelBrackets.Alliance.Range8.Pct = 11
BotLevelBrackets.Alliance.Range9.Lower = 80
BotLevelBrackets.Alliance.Range9.Upper = 80
BotLevelBrackets.Alliance.Range9.Pct = 11
##############################################
# Horde Level Brackets Configuration
##############################################
# The following settings define the level brackets for Horde bots.
# For each bracket, you must specify:
#
# BotLevelBrackets.Horde.RangeX.Lower
# Description: The lower bound (inclusive) of bracket X.
#
# BotLevelBrackets.Horde.RangeX.Upper
# Description: The upper bound (inclusive) of bracket X.
#
# BotLevelBrackets.Horde.RangeX.Pct
# Description: The desired percentage of Horde bots that should fall into bracket X.
#
# EXAMPLE:
# The default configuration below defines 9 brackets:
#
# Range1 covers levels 1-9, Range2 covers levels 10-19, Range3 covers levels 20-29, and so on.
#
# To customize or add a new bracket (for example, to isolate level 70 in its own bracket), you can:
# - Set Range8.Lower = 70 and Range8.Upper = 70, then adjust the Pct values for the adjacent ranges.
#
# NOTE:
# The sum of all Pct values for the Horde brackets must equal 100.
#
BotLevelBrackets.Horde.Range1.Lower = 1
BotLevelBrackets.Horde.Range1.Upper = 9
BotLevelBrackets.Horde.Range1.Pct = 12
BotLevelBrackets.Horde.Range2.Lower = 10
BotLevelBrackets.Horde.Range2.Upper = 19
BotLevelBrackets.Horde.Range2.Pct = 11
BotLevelBrackets.Horde.Range3.Lower = 20
BotLevelBrackets.Horde.Range3.Upper = 29
BotLevelBrackets.Horde.Range3.Pct = 11
BotLevelBrackets.Horde.Range4.Lower = 30
BotLevelBrackets.Horde.Range4.Upper = 39
BotLevelBrackets.Horde.Range4.Pct = 11
BotLevelBrackets.Horde.Range5.Lower = 40
BotLevelBrackets.Horde.Range5.Upper = 49
BotLevelBrackets.Horde.Range5.Pct = 11
BotLevelBrackets.Horde.Range6.Lower = 50
BotLevelBrackets.Horde.Range6.Upper = 59
BotLevelBrackets.Horde.Range6.Pct = 11
BotLevelBrackets.Horde.Range7.Lower = 60
BotLevelBrackets.Horde.Range7.Upper = 69
BotLevelBrackets.Horde.Range7.Pct = 11
BotLevelBrackets.Horde.Range8.Lower = 70
BotLevelBrackets.Horde.Range8.Upper = 79
BotLevelBrackets.Horde.Range8.Pct = 11
BotLevelBrackets.Horde.Range9.Lower = 80
BotLevelBrackets.Horde.Range9.Upper = 80
BotLevelBrackets.Horde.Range9.Pct = 11