Constitution wrote:Polls to set variables, reset flags, kick, and ban are currently implemented. The problem with arbitrary command execution is that some things just aren't meant to be decided by popular vote. For instance, what about a poll to set yourself to the LOCAL.ADMIN group? Or a poll to execute a server shutdown? Or a poll to ban a large range of IPs? Clearly server owners don't want this kind of capability in the hands of the players.
Yes, just as map files are restricted in their options, so should polls. One way to do this would be a magic "poll" group, or letting only admins set those kind of polls, or using some whiz-bang object coded in Python.
L4m3r wrote:Also, overriding commands would not be an all-or-nothing deal. iirc the handler will have a "handled" flag so that commands can be handled normally. This would also allow multiple plug-ins to handle the same command, one after another, without stepping on each other's toes.
Kind of like the Apache way of handling plug-ins, where each one along the chain gets to handle the request, and the chain stops when one plug-in says it is finished. I remember implementing something like this in another app, where the program passed the information to each plug-in, and they returned whether they WILL handle the request (at which point the program lets it), whether it WON'T handle the request (excluding it), or whether it CAN handle the request (at which point the server makes a decision). Of course, letting everyone handle the slash command in their own way will result in sheer chaos, causing plug-ins to be named "AAAAAVoteController" in order to be higher up in the chain, and whatever.
Constitution wrote:Even better would be a custom poll option framework, something like the custom slash command handler we have now. Poll options could be registered with a list of options and a pointer to a handler called when the poll is successful, etc.
As far as I know, voting isn't an essential part of BZFlag; it is just there to kick people without them knowing why (um...). Most of the servers are run under a sort of dictatorship, where vote is a justified /kick.
Just my opinions.