Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[performance] smart scaling configurable #834

Merged
merged 1 commit into from
Jan 2, 2025

Conversation

hermensbas
Copy link
Collaborator

No description provided.

@hermensbas
Copy link
Collaborator Author

hermensbas commented Dec 31, 2024

@nl-saw lemme know what you think and whether it fixes your problems. Ive tested multiple setups seems alright compared with current implementation. But lemme know

@hermensbas hermensbas marked this pull request as ready for review December 31, 2024 12:52
@nl-saw
Copy link
Contributor

nl-saw commented Dec 31, 2024

Can test this next year :-D currently on 100% active with no scaling at all. Seems stable as well now.

@hermensbas
Copy link
Collaborator Author

For now happy new year :)

@nl-saw
Copy link
Contributor

nl-saw commented Jan 2, 2025

I have tested this again using lower default values and it seems it works better than before 👍

@davvvve1
Copy link

davvvve1 commented Jan 2, 2025

I have tested this again using lower default values and it seems it works better than before 👍

Me too . With my settings i have 13 ms after 13 hours :) And that with 2k bots

@parazitenew
Copy link

On my side smart scaling is disabled and bots are set up active 100% with 1k bots, did not face lag issue.

@hermensbas
Copy link
Collaborator Author

I will try to see if i can lower the default settings abit more, which values did you use @nl-saw and @davvvve1 ?

@davvvve1
Copy link

davvvve1 commented Jan 2, 2025

I will try to see if i can lower the default settings abit more, which values did you use @nl-saw and @davvvve1 ?

I dont want to have any bots online until i needed them. . With the same setting i had 36 ms and after one day it was like 80 ish and i had to restart . Now 13 ms after 1 day ;)

AiPlayerbot.BotActiveAlone = 1

Force botActiveAlone when bot is ... of real player

AiPlayerbot.BotActiveAloneForceWhenInRadius = 0
AiPlayerbot.BotActiveAloneForceWhenInZone = 0
AiPlayerbot.BotActiveAloneForceWhenInMap = 0
AiPlayerbot.BotActiveAloneForceWhenIsFriend = 0
AiPlayerbot.BotActiveAloneForceWhenInGuild = 0

Specify smart scaling is enabled or not.

The default is 1. When enabled (smart) scales the 'BotActiveAlone' value.

Only when botLevel is between WhenMinLevel and WhenMaxLevel.

AiPlayerbot.botActiveAloneSmartScale = 0
AiPlayerbot.botActiveAloneSmartScaleWhenMinLevel = 15
AiPlayerbot.botActiveAloneSmartScaleWhenMaxLevel = 80

Connected players: 0. Characters in world: 2000.
Connection peak: 1.
Server uptime: 15 hour(s) 23 minute(s) 51 second(s)
Update time diff: 17ms. Last 500 diffs summary:
|- Mean: 13ms
|- Median: 10ms
|- Percentiles (95, 99, max): 23ms, 48ms, 61ms
AC> Server uptime: 15 hour(s) 23 minute(s) 51 second(s)
Update time diff: 17ms. Last 500 diffs summary:
|- Mean: 13ms
|- Median: 10ms
|- Percentiles (95, 99, max): 23ms, 48ms, 61ms
AC>

NICE !!!!

@nl-saw
Copy link
Contributor

nl-saw commented Jan 2, 2025

I will try to see if i can lower the default settings abit more, which values did you use @nl-saw and @davvvve1 ?

I was on Floor 40 and ceiling 90, but I guess a Ceiling of 150 / 200 could be fine as well

@hermensbas
Copy link
Collaborator Author

@davvvve1

The scaling is only applied when smartscale is enabled though. Which is set on disabled in your config. Why do you keep botAloneActive on the value 1? Why just not keep it on 0?

You might wanna reconsider "AiPlayerbot.BotActiveAloneForceWhenInRadius” between the value of 150 and 300 if u want the bots around be more alive. Default sightDistance will enforce activity aswell which is 75 yards by default if not mistaken (see def config for that).

Although i appreciate you wanted to test it, but you didnt test the change :p

@davvvve1
Copy link

davvvve1 commented Jan 2, 2025

@davvvve1

The scaling is only applied when smartscale is enabled though. Which is set on disabled in your config. Why do you keep botAloneActive on the value 1? Why just not keep it on 0?

You might wanna reconsider "AiPlayerbot.BotActiveAloneForceWhenInRadius” between the value of 150 and 300 if u want the bots around be more alive. Default sightDistance will enforce activity aswell which is 75 yards by default if not mistaken (see def config for that).

Although i appreciate you wanted to test it, but you didnt test the change :p

Haha . Thanks for the answer - I forgot to change my settings after i compiled . But why do i get better performance then ?

@hermensbas
Copy link
Collaborator Author

The value 1 doesnt add anything, other then additional checks being executed. So rather keep is 0 when using 1.

Autoscaling simply dynamically modifies the botAloneActive percentages based on the general latency you have. Also gives a little more headspace during temp performance loss of your wow server.

Basically you modify these values based on what type of behaviour u want. There is no wrong or right way, except keep botAloneActive on 1 seems abit pointless.

@hermensbas hermensbas merged commit b16a44c into liyunfan1223:master Jan 2, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants