mirror of
https://github.com/liyunfan1223/mod-playerbots.git
synced 2026-02-20 18:10:02 +01:00
Updated Playerbot Configuration (markdown)
parent
8ab814e0c8
commit
669a1d20fb
@ -1,3 +1,88 @@
|
||||
## Random bots activity profiles.
|
||||
Before going into the configuration options we need explain the logic around it first. Every update tick of the server its calculated whether a bot can
|
||||
or can't be active. An active bots takes and eats alot more resources then an idle bot.
|
||||
|
||||
The following logic is applied to determine whether is active or not the order explain.
|
||||
|
||||
```
|
||||
1. NOT ACTIVE: When server just started and the server update is smaller then (max amount of bots * 0.12 seconds)
|
||||
2. ALWAYS ACTIVE: When bot is in battleground, instance or raid.
|
||||
3. ALWAYS ACTIVE: When in combat and not in party (defend urself)
|
||||
4. ALWAYS ACTIVE: If bot zone zone (e.g. Mulgore, Ashenvale etc) has a real player (aka all bots will be active in your zone)
|
||||
5. ALWAYS ACTIVE: When the bots is a member of a guild with real players (aka all bots on your guild will always be active)
|
||||
6. ALWAYS ACTIVE: Has real player as master
|
||||
7. ALWAYS ACTIVE: if grouped and the leader is a real player
|
||||
8. ALWAYS ACTIVE: if in battleground queue
|
||||
9. ALWAYS ACTIVE: if looking for group
|
||||
10. ALWAYS ACTIVE: If bot has a real player within the radius 300 yards (aka all bots will be active within the radius of 300 yards)
|
||||
11. ALWAYS ACTIVE: When bot is a friend of a real player (aka all ur bots friends will always be active)
|
||||
12. ALWAYS ACTIVE: When bot has more then 10 other bots within the sightDistance (force them to spread out)
|
||||
```
|
||||
These rules will always be applied regardless what value you have configured 'AiPlayerbot.BotActiveAlone'.
|
||||
|
||||
All remaining situations e.g. bots in maps with no real-players, empty server etc will be configured
|
||||
based on the 'AiPlayerbot.BotActiveAlone' value. That value basically means that the bot has about
|
||||
% chance to get active for only a few seconds. Unless in those few seconds one of the above rules
|
||||
is triggered.
|
||||
|
||||
Then 'AiPlayerbot.botActiveAloneSmartScale' basically only adds to determine the activity percentages
|
||||
based on the latency relative to the configured value of 'AiPlayerbot.BotActiveAlone' and only when in
|
||||
level scope of the configured values of:
|
||||
'AiPlayerbot.botActiveAloneSmartScaleWhenMinLevel'
|
||||
'AiPlayerbot.botActiveAloneSmartScaleWhenMinLevel'
|
||||
|
||||
|
||||
#### 1. best performance with high bot count.
|
||||
My personal preference is that i keep my bots idle when i am not in the zone or map, which is applied with the following config
|
||||
and in this specific requirement it doesnt rlly matter autoscale is on or off but i leave it on.
|
||||
|
||||
```
|
||||
AiPlayerbot.BotActiveAlone = 10
|
||||
AiPlayerbot.botActiveAloneSmartScale = 1
|
||||
AiPlayerbot.botActiveAloneSmartScaleWhenMinLevel = 1
|
||||
AiPlayerbot.botActiveAloneSmartScaleWhenMaxLevel = 80
|
||||
```
|
||||
|
||||
#### 2. Default; best effort to enforce 100% acitivity but auto adjust when needed.
|
||||
When you want all bots active in all situations but you want to server to compensate the bot
|
||||
acitivity based on your latency then use (basically best effort for 100%) :
|
||||
```
|
||||
AiPlayerbot.BotActiveAlone = 100
|
||||
AiPlayerbot.botActiveAloneSmartScale = 1
|
||||
AiPlayerbot.botActiveAloneSmartScaleWhenMinLevel = 1
|
||||
AiPlayerbot.botActiveAloneSmartScaleWhenMaxLevel = 80
|
||||
```
|
||||
|
||||
#### 3. All bots active regardless your latency and performance impact.
|
||||
```
|
||||
AiPlayerbot.BotActiveAlone = 100
|
||||
AiPlayerbot.botActiveAloneSmartScale = 0
|
||||
AiPlayerbot.botActiveAloneSmartScaleWhenMinLevel = 1
|
||||
AiPlayerbot.botActiveAloneSmartScaleWhenMaxLevel = 80
|
||||
```
|
||||
|
||||
#### 4. All bots active and only apply autoscale on a level range (e.g. high levels)
|
||||
```
|
||||
AiPlayerbot.BotActiveAlone = 100
|
||||
AiPlayerbot.botActiveAloneSmartScale = 1
|
||||
AiPlayerbot.botActiveAloneSmartScaleWhenMinLevel = 75
|
||||
AiPlayerbot.botActiveAloneSmartScaleWhenMaxLevel = 80
|
||||
```
|
||||
|
||||
#### How to determine whether your config/hardware are good or not
|
||||
Use the command '.server info' to see your latencies. The general latencites should be under 70-80 or lower and the percentiles maxed out around 100, 120, 150. If higher change profile or bot count.
|
||||
|
||||
Another way is to verify how quick a how executes your command. It should be pretty much instant if not to should choose a different profile
|
||||
or lower your bot amount.
|
||||
|
||||
If you use the approve performance checks it might lead into strange and incorrect behaviours and huge amount of memory footprint growth in a short time.
|
||||
|
||||
##### example
|
||||
I use profile 1 with 5000 bots on amd 5700x (6 cores), linux, 20GB with the following result:
|
||||
|
||||

|
||||
|
||||
|
||||
## Recommended hardware
|
||||
```
|
||||
Memory
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user