-
Notifications
You must be signed in to change notification settings - Fork 0
Respect avoids balancealgorithm
Run the command below in a lobby. If you are boss it will succeed automatically. If you are not boss, it will go through a vote.
!balancealgorithm respect_avoids
You can also use $
instead of !
but this will only work if you are boss:
$balancealgorithm respect_avoids
After balancing use $explain
to view logs. If the broken avoid penalty is 0, it means that all avoids considered were respected.
If an avoid was considered it means it was pulled from the database. However, it is not guaranteed to be respected by the algorithm but it will try. Parties and avoids will be ignored if it would result in large team rating differences. Also respecting avoids have less importance than respecting parties.
There is a limit to the number of avoids that will be considered. See below.
https://server4.beyondallreason.info/account/relationship/search
Search for the user then see their profile. Then press the avoid button. You can also press the ignore button to mute them in lobby.
Right click their name then choose ignore. Then right click their name again and choose avoid. In Chobby you are forced to ignore someone if you want to avoid them. This will only ignore their message in lobby and NOT in game. In-game muting is completely separate. (Ctrl+click their name in player list for in-game mute).
When pulling avoids from the database, the amount of avoids pulled will be limited for lobbies containing many players (for performance reasons).
7v7 or more: The algo will pull the 7 oldest avoids from the database (that are relevant to this lobby - avoids related to people who are not in lobby do not count). However, for every two players in parties, the number of avoids pulled will be reduced by one to a minimum of 1.
6v6 or less: No lobby limit (but there will still be per player avoid limits)
Note that pulling your avoid from the database means that it will be considered, however, it will only be respected if it keep teams ratings close.
When pulling avoids from the database, only your oldest two avoids containing relevant players in the lobby will be pulled.
Avoids that are not older than 2 hours will be ignored to prevent people trying to manipulate balance in real time.
Newish players (high uncertainty) are avoid immune. Newish players will be evenly distributed across teams and to guarantee this, avoids will have no effect on them.
The algorithm is going to be trying to do this in order of importance:
- Ensure team rating difference is not extremely large. Extremely large difference is defined as 10 points or 5% of team rating (whichever is larger).
- Keep parties together.
- Respect avoids.
- Keep team ratings close and keep captain ratings close.
No. Imagine a lobby with the following players 55, 0, 25, 25, 10, 10
Assume you are a 10. If you avoid the 0-rated player, your captain will be 25, because the 0 and 55 are going to be on the same team. Avoiding 0-rated players increases your odds of being on the team with the weaker captain. Most people prefer to be on the team with the stronger captain all other things being equal.
If instead you are the 55 and avoid the 0 player, one combo might be
- Team 1: 55, 10, 10
- Team 2: 0, 25, 25
The team rating difference is too large and so it would give a high penalty and not be allowed. Breaking the avoid is a smaller penalty than the team rating difference being extremely large.
If 60% or 8 players in the lobby are blocking someone then that player cannot join the lobby. Avoids have no effect on whether someone can join the lobby or play. Blocks do everything avoids can do, but are more harsh.
https://ptb.discord.com/channels/549281623154229250/1297988341756596314