I once read about a way to prevent cheating:
http://sauerbraten.org/docs/game.html#m ... yer_online
on short: the first one who uses a certain cmd becomes admin
now, lets translate that idea to db:
the first one who adds becomes op for that pu. not as in +o but simply access to the !red cmd with a limited duration and limited players (the ones who added) and also limited amount (e.g. only 3 times, as it is very unlikly that more then 3 fuck up in ONE game and it also fits well with the veto).
I would also limit the time it can be used to 5mins after the pu start.
another way to determinate the admin could be: make the one admin that has the lowest ban time
the problem starts if the op abuses his power. In the game this is handled by just changing the server, so s.o. else becomes admin.
Here this isn't that easy, as there is only one pu at a time.
and idea would be that a certain number of participants can veto the !red that the abusing op executed.
as in !veto and if 6/4 players do that, all actions by that op are eliminated and applied to him/her self with the ban time added up.
The cmd can also be msged to the bot in case 3/6 ppl got banned (no more possible)
the bot itself could record how often and regulary s.o. gets banned and could increase the time itself by a certain amount everytime, so s.o. who fucks up more often gets longer bans.
so again, the limits for the temporary op would be:
- 5min pause before !red can be used
- !red can be used only 1/2*playernumber times
- max ban time is 1d + the time the bot adds
- 2/3*playernumber players !veto is needed to undo all actions by the op
always an admin available
less work for 'fixed' ops
fairness depends on the players that added
can be abused if all added don't like a certain player
for the last point, the 'fixed' op's could handle such situations
[Edit:] doh. i voted wrong wanted the lowest ban time one