MineEstates
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 short version: 1. /estates search [sales or rents] 2. find one you like 3. /estates goto <plotname> 4. /estates buy <plotname> or /estates rent <plotname> And you're done!
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
============================================
[optional] parameters aren't necessary
<required> parameters are
/estates search <sales | rents> price | owner | name>
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.
============================================
REQUIREMENTS:
============================================
- WorldEdit (Latest dev build)
- WorldGuard (Also latest dev build)
- MySQL Database for MineEstates (permitted to use WorldGuard's MySQL database, if WG uses it)
- Appropriate CraftBukkit version
- Vault(Allows interfacing wth individual economy/permissions systems, such as iConomy and PEX)
============================================
Current features
============================================ Updated 2/21 **
- Sell/buy WorldGuard plots
- Rent out WorldGuard plots
- Updates Lockette/Deadbolt signs when the plot is bought by a player
- Evicts renters if they run out of money or their lease ends
- Allows teleportation to plots for sale/rent
- Allows searching of sales/rentals markets
- Markets search can be limited to max price, min size (len X wid, i.e. 10x10), or owner name
============================================
Planned features
============================================
- Renting of plots
- Separate config with choice of DB type
- Non-MySQL database option
- Blacklisted Users
- Blacklisted Plots
============================================
TODO list
============================================ So far the things that remain to be implemented are as follows:
- Non-MySQL database storage method (WorldGuard's MySQL is no longer required) - implement db4o database
- Config value to limit # of plots players can rent/buy at once (-1 for unlimited)
- Suggestions?
============================================
Contact info
============================================ If you need to contact me for any reason, help with setup, or anything like that, email me at
- [email protected] I'll get an email back to you probably within six hours or less. I'm always on my email.
56.13
@benhenry96
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.
Hey Nach0z, I just recently installed this on my server, and for some reason the plugin is showing up as red when I type in the command /plugins. I have restarted my server multiple times, and I have no clue what to do. Whenever I type in a MineEstate command, it doesn't say "unknown command" but rather is doesn't do anything.
Here is a screenshot (might want to right click and copy image location, then paste it in your browser)
Wow guys. REALLY sorry that I haven't updated this recently. Work's been taking priority because I just found out that I don't qualify for a specific grant at college so I have to come up with an extra 3500 dollars or so to pay for next year.
I just recompiled with 1.2.5 code. Everything looks like it's working that was working in 1.2.4 EXCEPT the /estates goto command, and I'm not entirely sure why it's doing what it's doing. As a precaution, set the "Teleport" flag on ALL regions that are going to be bought or sold using the "/region flag teleport here" command. Do that while standing in the exact spot that you wish people to be teleported to for that region.
@Underbalanced, I can almost guarantee that I can set up an optional plot expire time once I've finished the rent functionality.
Rent functionality is incoming! I just need to set aside some spare time to get this working. Sorry guys!
It's seems to work bad for 1.2.5 :(
How much work would it take to make it reset after inactivity, so the plot goes up for sale and the land is reneged.
I'd love to use this plugin, as it's the only thing that plugs into my already set-up WorldGuard protections. If you could update this to something usable, I'd appreciate it a lot!
Nach0z I need /rent :P Update Update Update :P Contact me, on my forums or TS :P
:)
Hey guys, I'm really sorry I haven't been able to update anything recently. School's coming up on finals, so I'm loaded down with schoolwork, and on top of that my dad just got re-married, and my boss for my new job wants a big project finished ASAP. basically I'm overloaded with work so mineestates is taking a back burner. Expect to see some minor updates in the next few weeks at least though.
No they don't
@Nickbbeezy
thanks for the update. It looks like some of my code got rolled back by a few revisions, most of those debug messages should have been taken out a long time ago. Do the plots show up in the listings if you do /estates sell on a new plot, or one that should have been on the market?
Having an issue where it seems like all of the plots that I had on the market aren't showing up in the search, it lets the players buy the plots, and it gives them ownership as well, it's just everything works except the search all of a sudden.
Using the latest dev build for 1.2.5 Here is some of the data output that I go from console after running a few searches, buying the plot, and selling the plot: http://pastebin.com/mcnhXDkL
@PhiberOptikx
thanks for pointing this out, I thought I had handled this error but I guess not. Basically what that means is that you just did /estates, which should have returned an invalid usage message, so I made sure to update that.
Get the latest jarfile from the github target folder, or just re-compile if that's what you've been doing.
No rush, I'm young, I'll live.
Sorry for the delays in updates guys, work's been beating me in the head with a 2x4, and my job and school have to come first, but I'll try to push some updates down fairly soon. Expect some code revisions at least later this week.
@Nickbbeezy
At the moment, no, there isn't, but I'll put that in the todo list actually. that'll probably be a config value.
Went ahead and sent in the 25. Lol, really looking forward to the leasing. Is there a way to limit how many regions people can buy?
@Nickbbeezy
just as a bonus: just finished the teleport location part of the goto command. To set a teleport location, simply stand inside the region somewhere, where you want them to be taken to, and do /region flag <regionname> teleport here Once you've done that, /estates goto <regionname> to make sure that it works. Updated jarfile is on the github. Or should be at least.
Okay, thank you.
Went ahead and re-compiled for the 1.2.4 server, but the code SHOULD still work on 1.2.3, I didn't have to change anything to recompile at least. NickbBeezy, I updated the /estates goto code, it SHOULD NOT be shooting your people way up into the air anymore. It should be placing them on solid ground at this point. Soon i'll be adding to the list of blocks that it won't put you on top of but the framework should be working for now. I'll also be adding in an option for it to check if there's a LOCATION or SPAWN flag set on the region, and teleport you there by default instead, unless it can't find one, at which point it will switch to default behavior.
I won't be uploading a new jarfile to the website yet, but a working jarfile should ALWAYS be in the github target folder.