Democracy
Want to request sunny weather? Who else likes Doku textures? Can we promote NekkidPanda16 to Admin rank?
Let's put it to a vote!
Democracy in Action
Bob: /propose tournament at the spleef arena
/propose tournament -duration 1h
/propose tournament -open
(server) Proposal 'tournament' (at the spleef arena)
is open; vote /aye tournament or /nay
tournament. Now 1 hour remaining.
Joe: /vote tournament aye
Mary: /nay tournament
Sam: /aye tournament
(time passes)
(server) Proposal 'tournament' passes with 13
votes (68%).
AdminSue: /spleef reset
/enact tournament may the best dork win
(server) Proposal 'tournament' has been enacted
by AdminSue: may the best dork win.
Sam: /propose free-diamonds -open
(server) Proposal free-diamonds is open; vote /aye
free-diamonds or /nay free-diamonds. Now
5 minutes remaining.
Mary: /aye free-diamonds
AdminSue: /veto free-diamonds nice try
(server) Proposal free-diamonds has been VETOED by
AdminSue: nice try.
Commands
| command | options | description |
|---|---|---|
| /vote | help | summarizes what you can do with /vote |
| /vote | shows proposals open for your vote (first page) | |
| /vote | 2 | shows second page of proposals open for your vote |
| /vote | <proposal> | shows choices and remaining time of a proposal |
| /vote | <proposal> <choice> | *casts your vote on a proposal* |
| /aye | <proposal> | equivalent to /vote <proposal> aye for aye/nay proposals |
| /nay | <proposal> | equivalent to /vote <proposal> nay for aye/nay proposals |
| /tally | help | summarizes what you can do with /tally |
| /tally | shows status of existing proposals (first page) | |
| /tally | 2 | shows second page of status of existing proposals |
| /tally | <proposal> | shows status of one existing proposal |
| /propose | help | summarizes most of what you can do with /propose |
| /propose | shows status of your existing proposals (first page) | |
| /propose | 2 | shows second page of your existing proposals |
| /propose | <proposal> | creates a new proposal with a unique identifier |
| /propose | <proposal> -cancel | cancels the pending proposal before it is open |
| /propose | <proposal> -choices a,b,c | allows votes of a or b or c |
| /propose | <proposal> -duration 45s | vote will remain open for 45 seconds |
| /propose | <proposal> -duration 20m | vote will remain open for 20 minutes |
| /propose | <proposal> -duration 2h | vote will remain open for 2 hours |
| /propose | <proposal> -duration 7d | vote will remain open for 7 days |
| /propose | <proposal> -secret | no broadcast on each player's /vote |
| /propose | <proposal> -public | public broadcast on each player's /vote |
| /propose | <proposal> -minimum 3 | at least 3 /votes or the proposal fails |
| /propose | <proposal> -open | *finishes proposal, opening it for a vote* |
| (all of these -options can be combined | ||
| in fewer commands in any order) |
Permissions
| permission | allows |
|---|---|
| democracy.vote.vote | Player can cast their /vote on existing proposals. |
| democracy.vote.tally | Player can /tally the status of votes in progress. |
| democracy.vote.propose | Player can /propose a new issue to go to vote. |
| democracy.admin.enact | Player can /enact or acknowledge results of a proposal. |
| democracy.admin.veto | Player can /veto or reject the results of a proposal, even before completion. |
Configuration
limits:
open-proposals: 5 # cap on overlapping votes
open-proposals-per-player: 1 # proposals by one author
default:
duration: 15m # default -duration
minimum: 5 # default -minimum
secrecy: false # default -secret or -public
basedir: plugins/Democracy
backend: file # only file supported so far
backends:
file:
file: proposals.data # binary dump of live proposals
voting:
proposing-includes-aye-vote: false # author assumed to vote /aye
allow-secret-vote: true # allow or disable -secret
allow-public-vote: true # allow or disallow -public
allow-change-vote: false # /vote is final or changeable
allow-nominating-self: false # author can't nominate self
nominating-includes-aye-vote: true # author assumed to vote /aye
allow-console-enact-veto: true # console can /veto or /enact
accountable-vetoes: true # /veto broadcasts the name
allow-vetoes: true # /veto allowed or disabled

