[Mutator] Even Match (Onslaught team balancer)

Anything about UT2004 mapping, Uscripting & more
User avatar
Wormbo
Posts: 384
Joined: Sun 28. Aug 2011, 11:52
Description: Coding Dude

Re: [Mutator] Even Match (Onslaught team balancer)

Post by Wormbo » Thu 3. Sep 2015, 20:57

My concern was just that the CEONSS community might already be used to "oh well, it did it again". I still remember that reaction back from when I worked on Anti TCC. People didn't bother reporting things because they considered them "obvious". Total silence may either turn into "OMG GET RID OF THIS CRAP ALREADY!!1" or is indeed a sign that everything is alright. I'd just like to see confirmation for one of these so I don't go in the wrong direction.

User avatar
Cat1981England
Posts: 2326
Joined: Mon 23. Aug 2010, 15:35

Re: [Mutator] Even Match (Onslaught team balancer)

Post by Cat1981England » Thu 3. Sep 2015, 21:15

I was going to wait until the end of the week before saying anything, sorry :innocnt:

I imagine the reason why nobody has said anything so far is because the players are use to being swapped around by the old Titan Team Fix, admins swapping people around and the fact that we've worked very hard for a few years now to encourage people to balance, so I guess it's much less of a shock to the system here then at Omni. We don't have multiple rounds or voice chat, nor have we had any problems with the redirect or the balancer settings, so those will also be a factor.

The only comments I've seen over the last few days related to the balancer has been people calling for "teams" when it's 8 vs 10 for example, which I think is nothing more then an old habit. 8 top players should beat 10 average ones. Also one or two people have rage quit when they've been switched from the winning team and they have a high score, which to me says more about them then anything else.

If memory serves me correctly, we've only had one server crash in the last year or so which hasn't been related to evenmatch, so we should be virtually 100% stable now. Also there's been no noticeable impact on performance. The matches are noticeably longer now and seem to almost always go into overtime, so we may have to relax it a little or lower the match times down before things turn into 20 minutes of messing about until the match starts in overtime.

If players joining from spec could be assigned a team it would be perfect as far as I'm concerned.
The Universal Declaration of Human Rights, Article 1:

All human beings are born free and equal in dignity and rights. They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood.

User avatar
Wormbo
Posts: 384
Joined: Sun 28. Aug 2011, 11:52
Description: Coding Dude

Re: [Mutator] Even Match (Onslaught team balancer)

Post by Wormbo » Fri 4. Sep 2015, 06:17

Right, thanks for the confirmation.

The latest versions of the balancer even have the option to let players call "teams", which hopefully won't be necessary most of the time if automatic balancing is active. I still intend to allow it as a way to skip the soft balancing delay.
Players joining from spectator mode is on the ToDo list, btw.

User avatar
]M[
Posts: 141
Joined: Sun 8. Aug 2010, 12:12
Description: laggy but not too shabby^
Location: the southern tip...

Re: [Mutator] Even Match (Onslaught team balancer)

Post by ]M[ » Fri 4. Sep 2015, 10:41

Hi Wormbo & Cat - had noticed that there seemed to be changes with the balancer the past while and is interesting to read this thread re: the work / coding / algorithms involved. Good idea IMHO to include the option for players in-game to call "teams" - remember this being part of Titan's balancer?

It seems that the balancer now allows teams to be more uneven in number (sometimes, e.g: 8 vs 10 as per Cat's comments above?). Think this not a bad thing too, though, as it allows more room for those of us (we know who we are^) who do switch to weaker / losing team to help balance, i.e.: the situation still occurs from time to time even with good / experienced / fair players around, that a losing team may be +1 in number, but comprised of more inexperienced / lower-skilled (or just idle!) players, preventing a voluntary switch to assist losing team... being able to call "teams" balance should then sort out the difference in numbers?

I would also suggest (if this is not already in the code used) a simple rule: disallow switches to winning team / allow switches to losing team - and do allow a larger number (say +2 as at present?) on the losing team (but not winning team), or automatically switch a low-scoring player from the losing team (start with the 0-scores at the bottom of the list - they are often idlers!) to the winning team when a higher PPH player switches from winning to losing voluntarily? (I understand ofc, that determine the "winning / losing" teams in code at any given time is complex stats / algorithm work as is :)

Hope these comments are helpful (I know, "too many cooks can spoil the stew" ;)
...and thanks again to you both for your ongoing work with the server!

M

User avatar
Wormbo
Posts: 384
Joined: Sun 28. Aug 2011, 11:52
Description: Coding Dude

Re: [Mutator] Even Match (Onslaught team balancer)

Post by Wormbo » Fri 4. Sep 2015, 13:10

There is indeed already the possibility that the leading team (that is, in terms of progress, not scores) may be down more than one player and still not receive any automatic balancing. That is decided based on the SmallTeamProgressThreshold configuration parameter, which is scaled according to the team size difference as explained in this post. The short version is: the greater the size difference, the more the smaller team must be in the lead to not get any additional players through balancing.

There also is a feature that is supposed to prevent players from switching to the leading/winning team, but it was broken for some time already and will be fixed in the next release. The "winning team" is also defined by progress, but with a separate configuration parameter that is not scaled by the size difference yet.
(Now that I think about it, this feature may actually also put joining spectators on the team that needs them more. I'll have to investigate that.)

User avatar
Wormbo
Posts: 384
Joined: Sun 28. Aug 2011, 11:52
Description: Coding Dude

Re: [Mutator] Even Match (Onslaught team balancer)

Post by Wormbo » Fri 4. Sep 2015, 21:59


User avatar
Cat1981England
Posts: 2326
Joined: Mon 23. Aug 2010, 15:35

Re: [Mutator] Even Match (Onslaught team balancer)

Post by Cat1981England » Sat 5. Sep 2015, 00:09

Thank you, that's great :thumbup:
The Universal Declaration of Human Rights, Article 1:

All human beings are born free and equal in dignity and rights. They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood.

User avatar
Wormbo
Posts: 384
Joined: Sun 28. Aug 2011, 11:52
Description: Coding Dude

Re: [Mutator] Even Match (Onslaught team balancer)

Post by Wormbo » Sat 12. Sep 2015, 10:19

Beta 1 is out, including long-term PPH gathering via SHA1 of stats ID instead of GUID+IP and version-independent PPH storing.
See first post for change list and download link.

User avatar
Cat1981England
Posts: 2326
Joined: Mon 23. Aug 2010, 15:35

Re: [Mutator] Even Match (Onslaught team balancer)

Post by Cat1981England » Sun 13. Sep 2015, 10:16

Thank you. Just a quick question. If for whatever reason we did disable the player stats, would this still work correctly? I can't see any reason why we would, but I know Omni did for a few months and a few of our players have shared GUID's.

Now on the server with the following settings,

[EvenMatchV2b1.mutTeamBalance]
ActivationDelay=10
MinDesiredFirstRoundDuration=5
bShuffleTeamsAtMatchStart=True
bRandomlyStartWithSidesSwapped=False
bAssignConnectingPlayerTeam=True
bIgnoreConnectingPlayerTeamPreference=True
bAnnounceTeamChange=True
bIgnoreBotsForTeamSize=True
bBalanceTeamsBetweenRounds=True
bBalanceTeamsWhilePlaying=True
bBalanceTeamsDuringOvertime=False
bBalanceTeamsOnPlayerRequest=False
bBalanceTeamsOnAdminRequest=False
bDisplayRoundProgressIndicator=True
SmallTeamProgressThreshold=0.400000
SoftRebalanceDelay=60
ForcedRebalanceDelay=180
SwitchToWinnerProgressLimit=0.600000
ValuablePlayerRankingPct=50
MinPlayerCount=2
TeamsCallString=
DeletePlayerPPHAfterDaysNotSeen=7
bDebug=True

----------------

By the way, if any players do want to post feedback or have any issues with this balancer you should post soon before this becomes final :thumbup:
The Universal Declaration of Human Rights, Article 1:

All human beings are born free and equal in dignity and rights. They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood.

User avatar
Wormbo
Posts: 384
Joined: Sun 28. Aug 2011, 11:52
Description: Coding Dude

Re: [Mutator] Even Match (Onslaught team balancer)

Post by Wormbo » Sun 13. Sep 2015, 18:21

Hmm, didn't think if that. This method probably wouldn't work with stats disabled. However, both CEONSS and Omni currentntly have stats enabled. And as long as that's the case, people are forcred to enter a stats username and password, so shared GUID is no problem.

[edit]
I think I can work around the stats-disabled problem by generating and storing a "replacement ID" on the client that will be replicated to the server separately if stats are disabled.