Mayor Elections
Vote for a weekly town mayor whose policies reshape the whole server.
On this page 7 sections
The server holds an election every week. A group of candidates stands for office each offering a deal. They offer a bonus paired with a downside. Players get one vote. The person with the votes becomes the mayor for a week. Their policy applies to everyone on the server.
It makes the economy something players argue about.
How an election runs
- Open the election menu with
/mayor. Click Edward the Mayor at spawn. - Read the trade-offs. Each candidate has a bonus and a downside.
- Cast your vote by clicking a candidate. Your pick lights up.
- Buy votes if you want. Click your candidate again to buy another vote for 100 Gold Coins.
- Monday tally. Votes are counted. The winner is sworn in. Every voter gets a reward.
Voting only opens on Saturday and Sunday. The rest of the week the menu is view-only.
The candidates
Each candidate is a trade-off. There’s no vote.
| Candidate | Bonus | Downside |
|---|---|---|
| Narwhal | Money | Some abilities stop working |
| Mim | Rank costs | Fewer prestige tokens |
| ItsCat | Enchant chance goes up | Pickaxe XP goes down |
| Turtle | Fishing catch time down | Less money |
The bribe
You can buy a vote for 100 Gold Coins. There’s no limit.
One vote, seven days
- One vote per player per week.
- Bribes are uncapped.
- The winner is the person with the votes.
- The term is seven days.
- Voters get a reward.
Why it’s worth running
- Giving the economy a rhythm.
- A reason to log in on the weekend.
- Server-wide social drama.
- A currency sink.
Architecture
Shared core, per-server adapters
The election system is written once. It is reused across two gamemodes.
Elections keyed by ISO week
Every election has a key.
One vote per player enforced by the database
votes are stored in a table.
Thread-exactly-once tally
The Monday tally is driven by a background scheduler.
Money is never taken without giving the vote
The bribe charge debits coins.
Effects read a cached value, on hot paths
Mayor effects get read often.
Rewards survive reboots and offline players
At Tally online voters get paid away on their regions world thread. Offline voters have an “owed reward” row. When they log in next the system deletes this row first then gives them the reward. This way a delivery failure can’t give someone credit by mistake. The reward type is added by the adapter the core doesn’t set an economy for a game mode.
Reserve candidates without redeploys
The Skyblock server has 4 reserve” candidates that are fully set up but hidden behind a special flag. Staff can make a reserve candidate live by changing a flag… No need for code or a restart. A developer command can also put any candidate into office for testing. This way what we test is what actually happens.
Trade-offs
-
Bribes are not limited. We could have limited votes per player but we didn’t. This makes elections more competitive. Gives groups something to spend their coins on. It’s okay if someone with a lot of coins buys an election and everyone can see it happening.
-
We use a vote system, not a ranked-choice one. Ranked-choice would be fairer. Its hard to understand in a Minecraft menu. Our system is easy to follow you can look at the vote bar. Know whos winning.
-
The system updates every 30 seconds, not away. A mayors term might end up to 30 seconds late. Players won’t notice and it saves a database update, which is good for performance.
-
Both good and bad effects always happen. We don’t let players pick the good stuff. The bad effect is part of the design it makes a vote a real choice.