Yaribz / SPADS

SpringRTS Perl Autohost for Dedicated Server
GNU General Public License v3.0
15 stars 13 forks source link

Require an absolute majority for !cv stop after ~5-10 minutes of game #23

Closed specing closed 7 years ago

specing commented 7 years ago

... otherwise the losing team can call a stop vote and if they are lucky, the winning team will be too busy winning to vote no.

Is there a way to assign required minimum participation per specific vote?

Yaribz commented 7 years ago

The real problem here is the lack of in-game vote interface, which leads to vote polls being unnoticed by players in game quite often I guess. Imho it would be much better to implement a small LUA voting interface in the games themselves (as Zero-K did iirc), which would at least show vote buttons and separate autohost vote messages from normal chat.

That being said, it's entirely possible to implement dynamic values for the minVoteParticipation. The minVotePartiticpation value could depend on the time elapsed since game start for example, or on the command being voted as you said. The plugin interface makes it possible to do that quite easily, but imho these functionalities/workarounds are too specific to be included in SPADS core.

What could be included in SPADS core though is an alternate value for minVoteParticipation in the case a game is running. Would you be interested in that?

specing commented 7 years ago

I don't know what the best way to handle this would be. For ingame handling: what if one member of the winning team went away and let their teammates finish the job? Or if the match was unbalanced in player count in the first place? What if there is a bug in the game and thus one team gains an unfair advantage?

Maybe a combination of both? Is it possible to pause the game when a vote is running?

Yaribz commented 7 years ago

what if one member of the winning team went away and let their teammates finish the job? Or if the match was unbalanced in player count in the first place? What if there is a bug in the game and thus one team gains an unfair advantage?

Well this is quite a different problem imo. The vote system is here to make the decision which satisfies the majority of the players, not necessarily the decision which you or an admin think is the best... For that you need to enable boss mode and keep an eye on the game :/ I guess it should be possible to require the vote majority in all teams independently to allow votes to pass, but this could become quite complex, especially to explain/show vote status to players.

Yes you can auto-pause the game when a vote is called, check the first plugin here

Yaribz commented 7 years ago

The minVoteParticipation setting can now contain two values, the second one is used when a game is in progress ( 2c98a9d ).