lichess-bot-devs / lichess-bot

A bridge between Lichess bots and chess engines
GNU Affero General Public License v3.0
746 stars 440 forks source link

Add bullet with increment only option #770

Closed FatFritz2 closed 1 year ago

FatFritz2 commented 1 year ago

Can you add this option to prevent 1+0 challenges (farming) for low-end bots ?

MarkZH commented 1 year ago

You can set challenge:min_increment to 1 in your config file.

MarkZH commented 1 year ago

I have a feeling that adding the other specific requirements--only for low-rated bots in bullet games--would make config files and parsing too complex.

@AttackingOrDefending Thoughts?

FatFritz2 commented 1 year ago

But that also requires other time controls to +1 as increment like 3+1 10+1 or 30+1 which is not convenient

MarkZH commented 1 year ago

When you say "low end" bots, do you mean a bot with a low rating? Perhaps we could add a rating filter on incoming challenges, similar to the matchmaking settings opponent_min_rating, opponent_max_rating, and opponent_rating_difference.

AttackingOrDefending commented 1 year ago

I think they mean that some bots farm low-end bots by playing 1+0, because they lose because of a bad internet connection or bad hardware. I think the option they want is something like bullet_with_increment_for_bots: true/false that if enabled, wouldn't allow other bots to challenge it to bullet without increment. I don't think they want this feature to only apply to low-end bots. Low-end bots are the ones that will use this feature.

FatFritz2 commented 1 year ago

You are right @AttackingOrDefending

MarkZH commented 1 year ago

I see. Other players try to increase their rating by finding bots that lose on time in 1+0 games. This new bullet_requires_increment option would protect a user's bot from rating farming by requiring an increment on bullet games. That's reasonable.

For the implementation, would this apply only to challenges from bots, or from humans, too?

FatFritz2 commented 1 year ago

Oh you can try both of them or just bots if you want

EmptikBest commented 1 year ago

@FatFritz2 BotLi has this

mheinzel commented 1 year ago

This solution seems a bit ad-hoc. Could the problem also be addressed by specifying a minimum estimated game duration as described in the Lichess FAQ? It could follow the structure of the existing min/max_base and min/max_increment settings (and in theory even replace the time_controls option) and can ensure that bots have enough time overall. Setting it to 160 for example would allow 1+2, 2+1, 3+0, but not 1+0 or 2+0.

MarkZH commented 1 year ago

I agree it's ad-hoc, but the change is solving a very specific problem: bots with spotty network connections or slow hardware losing on time in fast games. Setting bullet_requires_increment to True only rejects 1+0, 1.5+0, and 2+0. Perhaps we could make the configuration more fine grained in the future it there is demand. Adapting your idea, I could see a setting for requiring an increment for game times below X minutes base time.