Muni
Muni is currently being rewritten by breezeyboy.
Muni is a town management plugin for Bukkit servers.
It provides 4 commands: /town /deputy /mayor /townadmin
To help us better understand our user base, please participate in some of the Polls
Muni is being built by Team[GLOKK].
Test the newest development snapshot at teamglokk.com:25566
Find the dev on irc.esper.net at #teamglokk.
Become a contributor and help develop the Muni project on Github
Check out the release history here: Muni Change Log
Reason for Muni:
There’s no good town plugin! Towny has weird plot sizes and takes too much effort to configure, World Guard is great IFF users have full control (and tutoring) over plot size, Grief Prevention doesn't have special regions, and MCTowns has an overly complicated region hierarchy. Muni seeks to fill the void of the town plugin in the world of Bukkit servers.
Overall Description:
Muni provides a town interface for players to use. Mayors have full control of their towns, deputies have elevated rights, and all citizens can change towns as they would like to. World Guard borders will be used to protect builds and is expandable by the officers as the town grows. Special sub-regions can be bought, such as regions to heal players and or enable PVP for the town arena.
Citizen Abilities
- Apply to a specific town for citizenship
- An application or invite binds the player to a town
- Before applying to another town, they must do /town leave
- An application or invite binds the player to a town
- Accept an invite from a town
- Leave town (/town leave)
- Pay taxes (/town payTaxes)
- Check Town Bank balance (/town Bank)
- Automatically gain build rights inside town
- (Future) Vote
Deputy and Mayor Abilities
- Set tax rates (/deputy/mayor setTax/setItemTax #)
- Use Town Bank (/deputy/mayor bank check/deposit/withdraw #)
- Resign from officerships (/deputy/mayor resign)
- Manage Citizens (/deputy/mayor kick <PlayerName>)
- Buy Town Border Expansions (/deputy/mayor expand)
- (Future)Change region greetings
- (Future) Allow for contractors to have build rights (without citizenship)
Mayor Abilities
- Set Deputies (/mayor deputize)
- Rank up town (/mayor rankup)
- Delete Town (/mayor delete)
Later Possibilities
- War system
- Dynmap Markers
- Giant Shop Location
- Integration with the Jail plugin (giving officials the perms to make a Jail and punish their citizens)
- Integration with Mine Reset Lite plugin
- If you use Command Helper, check out this script
- If you use Command Helper, check out this script
- Mail system (Addresses)
- Denizen Integration (Gather quests etc.)
- Dictatorship vs Democracy
Check out the Development Roadmap
Also look at the Commands and Permissions
Metrics
This plugin utilises Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:
From Metrics:
A unique identifier
The server's version of Java
Whether the server is in offline or online mode
The plugin's version
The server's version
The OS version/name and architecture
The core count for the CPU
The number of players online
The Metrics version
From Muni:
The count of towns, citizens, and town ranks
Which database is used, MySQL or SQLite
If you wish to disable this feature for Muni only, you can disable it in Muni's config. If you wish to disable Metrics for any plugin, do that in the plugin folder for the Metrics plugin.
To view the data collected, please check us out on McStats.org
@Garfonzo
/mayor itemBank deposit <number>
Its throwing an error because its trying to parse the word "sponge" as a double. I'll get a fix made on the parameter checking.
Two really quick things while they're on my mind:
World Guard functionality is working quite well! I have made a town border, expanded it, and made sub-regions with automatic flags. I considered uploading a current build but decided against it for the sake of needing logic to prevent region griefing. Check the GitHub page for the recent commit to see my To Do list for the 2nd Alpha.
@Garfonzo A quick response:
I have given each type of sub region its own specific size. Hospitals and restaurants are like 12x12 whereas the arena was like 50x50. I made them specific for now but I will figure out a way to customize them (or maybe just customize the Arena floor and let the others stay predetermined sizes)
Please give me your ideas about taxes whenever you want, I can always refer back to this :D
@bobbshields
Ah, I see what you're saying about the dictatorship role. I like the idea of requiring a 2/3 vote of non-confidence to trigger a re-election for the at-risk position. That would at least provide a way for citizens to boot out a mayor if need be. However it also allows cities that are running smoothly to not have to worry about re-elections once a month or whatever.
On my server, my players do not, and will not, have access to World Guard - with the exception of the admins. Providing a safe way for another player (the mayor) to define their own regions within their city is great.
So far I'm happy with the town features (though I am a bit confused with a couple), but I'd be interested in what special features you're referring to. Looking at your road map, here's my thoughts based on my vision for my server:
Looking at your roadmap for the second alpha, I really like the idea of a configurable 20X20 template that a mayor could use to quickly create lots. Though, it would have to be something the mayor could configure from within the game - not something the server owner would have to edit in a config file manually or something. Perhaps even having multiple templates the mayor could predefine would be nice (I usually have a few default lot sizes I create). I have some thoughts on taxes, but I'll wait until the Second Alpha is out before discussing the First Beta :)
Anyway, those are my thoughts for what they're worth.
The second alpha is close! I have all the kinks worked out with World Guard and only need to make some new commands and give it a good round of testing before making the next release.
@Garfonzo
I like long posts! No worries. You may be interested in having only dictatorships from the sound of it. In a dictatorship, the mayor would choose his/her own successor. The problem here is that the mayor is responsible for pushing the borders and ranking up the town, so it would take an admin to elevate someone new into the mayorship should the old mayor become inactive. A player can only be involved with one town, so there are no worries about the mayor joining another town and letting his original town rot on purpose.
The idea behind a monthly term is provide accountability in the Democratic towns. Only current members of the town will be allowed to vote (I was thinking that at the time of the ballot creation, make a list of the current members who may vote on the issue, thereby preventing a deputy from bringing in a bunch of new members to fix the election.)
Instead of monthly terms, would you prefer that there was an initial vote-of-no-confidence requiring 2/3 majority to trigger a nomination cycle then a multiple choice vote for the at-risk position?
As far as having to clean up cities, there may be a naturalistic way to allow for this. When a town is deleted, it will remove all the citizens, the town region, and its child-regions. Then all the buildings would be open for looting or for someone to come make a new town on top of the old.
Do your players have access to the world guard commands? Mine do not and will not, so Muni will give them regulated access to those features. Do you just want the town interface without the special features? I hadn't considered that so I'll look into making EVERYTHING modular.
@bobbshields
Sounds good, I'll reply in here.
I'm torn on the idea of having a Mayoral term - such as one month, as you mentioned. The benefit being that citizens can elect a new official if the current official is performing poorly. However, the con is that I believe a town could be over-turned and basically fall apart if the voting is squewed (like a bunch of buddies play the system and get their buddy elected, only to ruin the city). If a city did fall apart, it just means more cleanup for me (removing old buildings, etc.).
For me and my server, I would not want to implement this. If citizens don't like the Mayor, then they should move to another city (or start their own). Although I know it would add an element of realism to the game (political officials in real life often have set terms). However, I think this would add a bit too much instability in the MC world, a lack of vision and direction for a town if the leader kept changing.
I plan to use this plugin for basic city management both for those running their towns, and also for me overseeing the server. Handing off the city management to a mayor via this plugin is great for me. I anticipate a more democratic environment in my towns based on the requirements of Deputies in order to rank up. If there's a tyranical mayor, I assume nobody would want to be under that leader. I would hope people would naturally want to be in a city where their voice is heard.
These are my thoughts anyway. Sorry for the long post.
@Garfonzo
Thank you for your comment; I really hope Muni turns into something big! I'm glad to know that others are waiting as anxiously as I am for it to launch. I would be very interested to know how you plan to use it and hear about any problems that you've had. We can PM if the details are sensitive, but whenever you reply, please post something on this comment thread as it actually emails me (sometimes it takes me weeks to notice that I have a new PM, but this page is checked daily.)
Another addition to the officer voting aspect: How would you care for monthly voting where the mayor has to confirmed or replaced?
And do you see a balanced mixture of dictatorship towns and democracy towns happening on your server? (Dictatorships will be more expensive but the mayor doesn't have to worry about public opinion as much)
I really like the idea behind this plugin: simple/powerful functionality, without all the unnecessary 'features' noticeable in other town-type plugins. I will be using this for my server, so I look forward to its development. PM me if you want direct insight into how its unfolding with my server.
As for voting - I do like the idea of having both options: a yes/no poll, as well as a pick an option poll. This would be handy if a town was voting for the next Mayor and there were two or more candidates. I also do like your idea of having a set deadline for any vote: citizens would get the hang of it, and know that at X o'clock, the polls close. Giving the option of multiple days is great.
The newest Alpha v0.11 has been uploaded. It features a new Town data save architecture that should reduce the SQLite issues. Also, you can see which town is on top with /town rankings
I'm looking for input on how the votes should be added to Muni. Do you want all votes to be confirmations (yes/no) or would you require multiple choice votes (such as voting for a town officer by name)? Is there a strong need for both?
Also, what are the time limits on voting? I was thinking: allow the server owner to set a daily time at which the votes will be tallied. The town officials can choose how many days a vote will last when creating the ballot, and the voting will begin at the end of the daily election cycle. Then on the Nth day (chosen by the officer), the ballot will finalize and the decision will be broadcast / offline mailed to the affected citizens. Votes can last from one to seven days, with automated votes (choosing new mayor/deputies) would be seven days with no configuration.
I'm going to be working on the Muni a bunch tonight to try to get World Guard features installed and tested. Voting will be my next priority, or a distraction from WG problems if they arise.
18 Downloads! That's not bad for the first day. Oh and Muni created its first World Guard regions last night...
That means my test code worked and can be adapted for specific reasons before making this part of the /deputy commands for them to make special child regions, and part of the /mayor found command for making the town border, and a mechanism to push the border (/mayor pushBorder.)
Good news everyone! The project has been approved by the bukkit staff and I'm confident enough about the code to release the first Alpha. It is now available as a regular download.
I made a commit with the exact code used to build the Alpha, so there is a point of reference on Github for finding the exact location of errors from the line numbers in the stack trace. The code is very well documented, so if anyone cares to contribute, I can share javadocs and teach you about what I've gotten done so far.
Testing feedback would be very useful! I'm moving on to adding World Guard functionality and will not be testing as much until that phase of development is finished.
As you think of cool new features that would benefit this plugin, please feel free to enter an enhancement ticket.
New PreAlpha 0.05 is uploaded and has many bug fixes, and commands are messaging players in an intelligent manner. It is missing global broadcasts though.
Join me on my test server and help me try all the commands
xierouter.homeunix.net
I've been working towards the alpha release and have some good work to show for it. I've uploaded another PreAlpha (link in the description.)
To help with testing, do
/town
/deputy
/mayor
/townAdmin
And then try all the listed commands.
I found and fixed the duplication bug and have continued on with the testing. Unfortunately there is a new bug that is keeping me from releasing the first full alpha. I have reached out for help since its an area I do not understand well and hope I can fix it soon.
Aside from that, I just had a new idea and would like everyone's input: How do you feel about charging the mayors experience levels in addition to money and sponges (or your chosen rankup item)? This would be for starting a town or ranking it up.
Please comment on the experience idea on the ticket thread.
@bobbshields:
Seems to be saving correctly, still figuring out the commands some, I'll be back if I have any more questions.
Thanks!
@CrossedSwordsServers
I don't think I've fully updated the admin commands to the new citizen storage methods. I'll work on those tomorrow.
Try using /deputy invite <player>
Then the player does /town accept <town>
Also possible is from teh player /town apply <town>
Then the deputy/ mayor does /deputy accept <player>
Is the town data saving to the SQLite database properly for you?
Alrighty, I've been working with the plugin, and I've sucessfully made a town. Now, when I try to add a member through /townadmin, it says "An internal server error has occured while attempting to preform this command.
@CrossedSwordsServers
I've uploaded a new dev snapshot (PreAlpha 0.03) which provides console execution of some commands (and should fail gracefully for permanent sub-commands.) The download link is in the description above.
It also includes a new way of handling the roles of citizens (such as regular member, mayor, invitee, etc.) so the database needs to be re-made. You can either delete it manually or drop the database and insert some testing values with /townadmin makeTest.
I'm still having issues with /town info <townName> (its duplicating citizens across the two towns and its bugging me to no end!)
There seems to be issues with the database saves at the end as well.