MineEstates

Table of Contents

MineEstates

WorldGuard-based real estate management

Updates 2/21/14

Welcome to MineEstates! This plugin was created to make selling and buying houses, apartments, and other plots, much easier on both the server admin and on the users. All WorldGuard plots can be sold or rented out by their owners, and Lockette/Deadbolt signs will be updated when ownership changes.
If you're a server admin, tired of having to deal with people constantly wanting new plots or transferred ownership in a city, or if you're a player trying to find a plugin your server can use to get past the fact that your lazy admin never want to deal with players and regions, you're in the right place.
This plot works best in a city-like environment, where large amounts of plots can be created initially and then simply bought and sold repeatedly. The rental system allows for large apartment buildings with small per-room plots, which can be owned by the apartment building's owner and recycled over and over. The rent collector scans once every five minutes; however, it only charges rent once per 24 hours on every plot. The rentals work on a pay-in-advance system, so there's no risk of people simply leaving and renewing their rentals to try to evade the system.

All estates-related commands are limited to operation in the world (dimension) that you currently reside in, and none of them are guaranteed to work from the command line.

The long version:
The sales and rentals markets are separate but use the same commands to search through results. Simply do /estates search sales to get a short five-entry list of results in a clearly displayed format. The estates search command supports logblock-style limiters:
/estates search sales size 10x10 price 30000
will display plots that are equal or larger to 10x10 in size, and less than 30,000 in price.
Doing /estates page <pagenum> will, starting at 1, display that page of results from your latest search. Once you've found a plot that matches the size and price you want, use /estates tp <plotname> or /estates goto <plotname> to teleport quickly to the region, and /estates buy <plotname> to buy it, or /estates rent <plotname> if it's a rental plot.
And that's it! You've successfully bought or rented a plot.

Commands List

This command searches through plots that are available either to sell or to rent. The results can be sorted by one of:

name

price

owner

size
They can also be limited by none, any, or all of:

size (in the format lengthXwidth, i.e. 10x10)

price (maximum allowable price)

owner (name of owner of plots)

/estates page <pagenumber>

Search results are organized into pages of 5 results each. Once you have done a search, you can use this command to scroll through the results, which are cached. Caching results in the possibility that the results are out-of-date, especially if the search was performed long ago, and the server has large amounts of estates activity. Small servers should generally not have this problem, and the cache is regenerated for the user every time they perform the search.

/estates goto <plotname> OR /estates tp <plotname>

This command teleports you to the plot that you wish to see. For this to work, the plot must be available on the open market. The teleportation code is currently crude at best, but it will override its teleportation algorithm with the location of the worldguard region teleport flag, if it has one.

/estates buy <plotname>

This command allows you to purchase the plot with the name specified. The price will be deducted from your account and given to the owner. The plot will then be taken off the market automatically.

/estates rent <plotname> <days>

This command adds you as a member- NOT an owner- to the plot. The first payment happens immediately, and the price of the rental recurs once every 24 hours. This system is pay-in-advance on a per-day basis. Setting the <days> flag to a negative number will result in infinite rental duration. The plot will be taken off the rental market until you leave or are evicted. The <days> is simply a maximum duration, and rental properties can be left at any time.

/estates sell <plotname> <price>

This command places the plot specified on the open market for the price given. Size is calculated automatically through WorldGuard.
You will NOT receive money for the plot until someone buys it! Once they have bought it, any Lockette or Deadbolt protection signs *will* be updated with the new owner's name, so get your crap out before selling.

/estates lease <plotname> <dailyprice>

This command places the plot specified on the rentals market for the daily price given. Size is calculated automatically through WorldGuard. You will not receive money unless someone is actively renting the plot. If you're running an apartment complex, filling your plots is in your best interests.
Renters will be added as members, but you will retain ownership of the plot. Lockette and Deadbolt signs will NOT be updated.

/estates cancel <plotname>

This command removes a plot, whether rental or for sale, from the market entirely. Do not do this to a rental property if a renter is currently there, as it WILL NOT evict them, and in fact should not work at all since renting takes the plot off the market.

/estates evict <plotname>

This command forcibly removes the current renter from the property. No money is returned to them, and no Lockette/Deadbolt signs are updated, but they are removed from the property and the plot is placed back on the rental market. Doing this should be avoided if possible.

/estates leave <plotname>

This command works the same as eviction, but is performed by the renter, not the plot owner. This is used if the renter decides they want to leave the plot. No money is returned, and no Lockette/Deadbolt signs are updated. The renter is removed from the plot and the plot is returned to the rental market.

/estates sellpublic <plotname> <price>

This command is for server administrators. When a plot is originally created, but no owner is immediately available, this will put the plot on the market the same way as /estates sell will, but the money from the sale essentially disappears and is not given to the owner of the plot. This can also be used by administrators to sell abandoned plots.

THIS COMMAND'S PERMISSIONS SHOULD ONLY BE GIVEN TO ADMINISTRATORS.

============================================

Permissions Nodes

============================================

estates.plots.buy

This provides the permission for buying plots on the open market.

estates.plots.sell

This provides the permission for selling plots on the open market.

estates.plots.rent

This provides the permission for renting AND leaving rental properties.

estates.plots.lease

This provides the permission to set your property up as an available rental property on the rentals market.

estates.plots.goto

This provides the permission to teleport to available rental/for-sale properties.

estates.plots.sellpublic

This provides the permission to sell a region as Public Domain property. The money from the sale disappears. This should be given to administrators only, for the purpose of selling new or abandoned plots. This does *not* check for plot ownership, and so should not be given out to regular users.

estates.plots.canceloverride

This provides the permission to cancel ANY plot that is currently up for sale or rent, whether or not the user owns it. This should only be given to administrators in order to regulate the market.

============================================

Updates time!

============================================
As of 2/21/14, the plugin has all the basic functionality finished. Non-SQL databases have *not* been implemented, however.

============================================

Installation

============================================
IMPORTANT: The download file on the right doesn't use the right file! Download the latest version manually from the files list on the right.

Here's basically how this plugin works.

You have your WorldGuard setup. You can have it fully set up, running for months, whatever, doesn't matter.

You have a Vault-compatible permissions plugin.

You have a Vault-compatible economy plugin.

Step one: Install the Vault plugin

* This is very simple. Just put the Vault plugin jarfile in your plugins folder. It takes care of everything else.

Step two: Figure out what kind of database you want.

* If your WorldGuard was created with the MySQL database option set to "true" in the config, you don't need to do anything extra to install MineEstates but put the MineEstates.jar in your plugins folder.

Step Three: Create a MineEstates MySQL database.

* This is very simple. Simply connect to MySQL, create a database, grant the mineestates user/password in the config all permissions on that database, and you're finished. Make sure you change the database name at the end of the "dsn" string in the config.yml for MineEstates.

That's it!
You're done. That's all you need to do. Simple setup, simple management, simple plugin.
Keep in mind, however, that the plugin needs to be started AT LEAST ONCE before you'll get a generated config.yml file.
If it isn't generating a config that means something big went wrong, like your server being horribly out of memory or something weird like that.
Questions? Concerns? Contact me. See below for contact info.

Current Code

Code Source @ Github
There's always the latest working source code here. If you find that an older version of MineEstates isn't working correctly because it's... well... old, but you need the latest features with a legacy minecraft/bukkit server, you can use the old Bukkit/CraftBukkit code and compile MineEstates against it. Unless it's REALLY old Bukkit, at which point you may be outta luck.

Don't forget that the github has a wiki as well! MineEstates Wiki
This'll be expanded and edited over time.

This plugin has a lot of potential. I am currently building an RPG based server, areas that can be mined will regenerate for example meaning that a lot of the map will be created by myself and my build team and not editable by normal players (this is no regular minecraft server, basically using minecraft to create my own twist on the game) so to allow players to build and have their own homes I was going to set up plots that players could buy and build on, varying sizes with varying prices and the option to rent/lease land and already established buildings. One thing I would definitely like to see is the support for players to rent to each other as a form of passive income as well as selling to each other for a price determined by either a bartering system or merely the plot owner setting a price with a clickable sign out the front. Also (I haven't checked) it would be good to set permissions so that players either have to donate to purchase property or pass a quest etc. Thank you for reading this and keep up the great work.

Alright guys, I know it's been a while but I'm going ahead and compiling for 1.4.6 R4.
Just for the record, this thing REALLY isn't a priority for me right now primarily due to the fact that I have two jobs and full-time school. Seriously, if you want it updated it takes me maybe ten minutes to do it but I completely forget most of the time. Email me. Just be like, hey Nach0z, can you recompile for <server version here> and I'll be like, ohey sure gimme half an hour.

In fact just for kicks I added in a config flag called "estates.plots.goto" that you can set to false to disallow teleporting to regions. On that note though, if you don't have it set to true, they won't be able to teleport at all. This affects everyone that's downloading snapshots.

Unfortunately I hadn't even thought about that, so no there isn't any such implementation right now, but that WILL be done. In fact, it'll probably be done within the week because mineestates is about to become a central part of a *very* large server. So expect more regular updates and stuff.

Woo! Good news ladies and gents. Work took a turn for the better. I got a set amount of hours and whatnot, and long story short got a decent workday and more pay, meaning I now have more free time, meaning more time to actually work on this sonofagun. No promises but there should be some basic functionality on the whole expiration side of things in the near future, and from there, possibly rent/lease.

Ben,
when you start up the server, can you get me a pastebin of the stuff that's being output? There should be some errors that say, like, [Fatal error] or something like that. Especially information about MySQL databases. MineEstates requires its own MySQL database, or it requires your WorldGuard to be using the MySQL backend, one of the two.