AreaShop
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Usage and configuration: ►Download (releases) ►Commands and Permissions
____ ►Basic regions setup_ ►Advanced regions setup_ ►Configuration files
Advanced features: ►Save/restore region blocks_ ►Change the language_ ►Limitgroups
Troubleshooting: ►Frequently Asked Questions_ ►Common errors
Support: ►Ask question / request feature / report bug_ ►Planned features_ ►Open bugs
Development: ►Changelog_ ►Compiling_ ►Modules, packages and classes overview
Connections: ►GitHub_ ►Spigot Resources_
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
This plugin is for giving players the option to rent or buy a region. It could be used to let them rent a jail in your Prison server or maybe a shop in the market of the Survival server. The player interacts with signs, making it easy to use. It also has a lot of commands to check the status of all regions, manage the renting and buying of a region and also features for admins. Also the plugin is capable of saving the region and restoring it later, this is very flexible and can be set general and per region, check the config for more information.
All features in a list:
- Rent and sell regions to players + Players can resell their bought regions to other players
- Signs for easy interacting and current status
- Change the language of the plugin or use of of the already provided language files (check here for supported languages, these are already packed with the plugin, just change the language setting in the config).
- Automatically let the plugin restore the region with schematics
- Change which commands players can use with permissions
- Customize the plugin by changing the config
- Automatically place the region name on the sign if it is placed inside a region
- Teleport to rent/buy regions and optionally set the teleport location (teleporting is safe and within the region)
- Adding friends to regions (which also can teleport then)
- Automatic unrent/sell for regions of which the owner is offline for a certain time
- Warning to players when their rent is about to run out (at login and while they are online)
- Group system to set options for a couple of regions instead of all of them.
- All heavy tasks are spread over time (each tick a part is executed until done), so the plugin should not cause any lag.
- Rent/buy limits can be different per permission node (player group), world or group of regions (possible situation: Normal players can buy 1 market region in survival + 1 build region in survival and 2 plots in creative, while VIPs have double limits for all those), check this example.
- Supports name changes because of saving player info by UUID, for more details check the FAQ entry: What happens when a player changes his name?
You need to have WorldEdit, WorldGuard and Vault installed on your server, WorldGuard is used for creating and managing regions, WorldEdit for the saving and restoring the blocks in regions and Vault is used to let players pay for the regions.
Preview
For a preview join 'mc.go-craft.com' and go to the Survival server, the shops around the spawn use AreaShop.
Tutorial & Feature overview (AreaShop V2.0.1)
Made by Koz4Christ
Prison cell setup tutorial (AreaShop V2.1.0)
Made by PerkulatorTime
Old video for AreaShop v1.0: Tutorial by VariationVault
Requirements and installing
Requirements:
- Server software: Bukkit 1.7.9 or higher, Spigot 1.7.9+ or higher
- Java 7 or higher (latest recommended)
- WorldGuard 5.9 or higher (6.0+ recommended)
- WorldEdit 5.6.3 or higher (6.0+ recommended)
- Vault 1.4.1 or higher
- An economy plugin supported by Vault (check the Vault page for a list of supported plugins)
When you have installed AreaShop, have correct server software and all required plugins installed (and the correct versions of them) you can startup your server. After that you can edit the config.yml and default.yml file of AreaShop to your liking and after that you use '/as reload' to reload the configs. Then you can start by setting up regions and adding them to AreaShop.
Notification for new versions
To enable email notifications for new versions of this plugin follow these steps:
- Login to dev.bukkit.org
- Go to the 'Subscriptions' tab Link
- Tick the checkbox for 'File updates'
- Confirm your choice
Metrics
This plugin utilizes Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:
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.
This information will give me an indication about how much the plugin is used and encourages me to continue development. Opting out of this service can be done by setting 'sendStats' in the config of this plugin to 'false', if you want to disable Metrics for any plugin go to plugins/Plugin Metrics/config.yml and change 'opt-out' to 'true'. Check graphs of the statistics at this page: mcstats.org/plugin/AreaShop
Do you want to translate AreaShop?
Help translating the plugin into different languages and to keep the translations up to date. Go to this page for more information. Translating goes through the Transifex website and is very easy, sending files back and forth is not needed, you can translate lines online and whenever you want. Every line you translate will be saved, no need to do it all at once (this also allows for easy collaboration).

-
View User Profile
-
Send Message
Posted Nov 6, 2014@nlthijs48
In the upcoming version groups can also be used to limit renting/buying the number of regions a player can buy in a group (upcoming features on this page, third bullet point from the bottom).
I am so looking forward to this! :) Brilliant idea.
Then my users can have a limited set of rented regions in different towns or markets, independently :3
-
View User Profile
-
Send Message
Posted Nov 6, 2014@Camaroz1
After adding regions to a group you can set certain options for all regions in the group (price, duration, sign layout, restoring on/off, etc.). If you for example want the sign for 20 regions to look different or show other information then you can add all these to a group and then set the signProfile setting to something different for this group. All the settings in the default.yml file can also be changed for groups and individual regions (check the Config page for where to put the settings). For all the settings that use profiles you need to change/add a profile in the config.yml file (explained above the section in the config.yml file).
How the inheritance system works can also be found on the Config page, basically it is like this: individual settings > group settings > default.yml settings (ones earlier in the list override later ones). Next to that you can also add multiple groups to a single region, if you want to change the signs of 20 regions, but want to change the restore setting for 10 regions from this set, then you can use that for example.
In the upcoming version groups can also be used to limit renting/buying the number of regions a player can buy in a group (upcoming features on this page, third bullet point from the bottom).
The documentation inside the default.yml and config.yml file has already been improved for the next version that will be released and will hopefully be a bit easier to understand.
-
View User Profile
-
Send Message
Posted Nov 5, 2014i found no document about the group feature. Can you explain it for me ? :(
-
View User Profile
-
Send Message
Posted Nov 1, 2014@TheL0w3R
I'm sorry but I will not do a major rewrite to support/switch to SQL just because a couple of players like editing SQL databases better then flatfile. The current YAML format is for most people easy to edit, and very accessible. If the plugin would use SQL however it would be very hard to access, because I'm sure most users of the plugin don't really know how to use PHPMyAdmin and also don't know the SQL syntax to make changes. Only if I know switching to SQL will have a couple of significant advantages then I will consider it. And the SQL syntax is no problem by the way, did a course about that at the university. I know the basics about how to implement it in Java, but for implementing it nicely (easy to maintain, easy to read) into the plugin I have to think about it for a while.
@DarkCrimsonFury
It looks like you are using AreaShop v2.0.2 with WorldGuard 5, you need to have WorldGuard 6 for this version. If you want to keep WorldGuard 5 you need to downgrade AreaShop to version 2.0.1. Thanks for helping Androkai, but this time you are not correct, the version of Bukkit is not the problem this time, 1.7.9 is supported by these versions of AreaShop.
@AttaWishes
You can still get it to work, you can simply change the AreaShop config to add the player that rents the region as owner of the WorldGuard region instead of member. Then you can give owners of regions the permission to add members and then it will work as expected. Open your config.yml file, then scroll to the 'flagProfiles' section, and then change the line 'members: +%player%' in the 'rented' and 'sold' section to this line: 'owners: +%player%'. Then it will add the player that bought/rented the region as owner and then it should all work.
-
View User Profile
-
Send Message
Posted Oct 31, 2014"That feature will be added soon I think," ty for this, as i say no plugin can add member to rent region. ... yeah, i know that i can use /rg addmember BUT i dont sell regions so they are no owner and cant add ppl, i change the perm to .member the trolling will reach the next lvl if ppl delete the real "owner" xd ty for your tips but it doesnt work for me, i must w8 for this feature :)
-
View User Profile
-
Send Message
Posted Oct 31, 2014I have the latest version of AreaShop, so I must just need to update my Craftbukkit to 1.7.10. I'll edit this comment and say what happens.
-
View User Profile
-
Send Message
Posted Oct 31, 2014@DarkCrimsonFury
I'm not sure but looks like your craftbukkit is to old. Update it or downgrade to an older version of AreaShop :)
nlthijs48 can say more about this.
-
View User Profile
-
Send Message
Posted Oct 31, 2014Hello! Every time I try to set a rent region, I get an internal error. I can set the region fine through World Guard, but every time I try to set the region through this plugin, it doesn't work. Here's a Pastebin of my console-
http://pastebin.com/DUgzjze0
-
View User Profile
-
Send Message
Posted Oct 31, 2014@nlthijs48
I would like to use MySQL because all my other plugins are using it, i prefer to edit a MySQL database instead of a flatfile. Anyway, i can help you with the combination of SQL and Java if you want :D
-
View User Profile
-
Send Message
Posted Oct 31, 2014@AttaWishes
That feature will be added soon I think, but until then you can use the workaround described in comment #214, also make sure you follow the link to comment #204 from there, that is also an important part of the workaround.
You say 'Sell regions ruins the game ...', if you are referring to the '/as sell' command: You can simply deny the permission to this command and then players cannot sell their regions anymore (check the Permissions page). If you are referring to the buy/sell region in general: Then just create rental regions and then the players need to pay for the duration each time.
And WoldGuard 6 is already released (it is beta, but still). If you are using WorldGuard 6 you need to have AreaShop v2.0.2 installed, and if you are using a older WorldGuard then you need to have AreaShop v2.0.1 or older installed.
@KleinesGumi
It looks like you are using AreaShop v2.0.2 in combination with WorldGuard 5, this does not work. You need to downgrade AreaShop to v2.0.1 or lower or upgrade WorldGuard to version 6 (check their page). If you still have a problem let me know.
-
View User Profile
-
Send Message
Posted Oct 30, 2014when i place a sign with [buy] 1:39:16] [Server thread/ERROR]: Could not pass event SignChangeEvent to AreaShop v2.0.2 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:509) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:494) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:1713) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.PacketPlayInUpdateSign.a(PacketPlayInUpdateSign.java:58) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.PacketPlayInUpdateSign.handle(PacketPlayInUpdateSign.java:78) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:186) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:734) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] Caused by: java.lang.NoClassDefFoundError: com/sk89q/worldguard/protection/managers/storage/StorageException at nl.evolutioncoding.AreaShop.SignChangeListener.onSignChange(SignChangeListener.java:210) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.7.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [?:1.7.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.7.0_25] at java.lang.reflect.Method.invoke(Method.java:606) [?:1.7.0_25] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:298) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] ... 13 more Caused by: java.lang.ClassNotFoundException: com.sk89q.worldguard.protection.managers.storage.StorageException at java.net.URLClassLoader$1.run(URLClassLoader.java:366) [?:1.7.0_25] at java.net.URLClassLoader$1.run(URLClassLoader.java:355) [?:1.7.0_25] at java.security.AccessController.doPrivileged(Native Method) [?:1.7.0_25] at java.net.URLClassLoader.findClass(URLClassLoader.java:354) [?:1.7.0_25] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) [?:1.7.0_25] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) [?:1.7.0_25] at nl.evolutioncoding.AreaShop.SignChangeListener.onSignChange(SignChangeListener.java:210) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.7.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [?:1.7.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.7.0_25] at java.lang.reflect.Method.invoke(Method.java:606) [?:1.7.0_25] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:298) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb] ... 13 more
-
View User Profile
-
Send Message
Posted Oct 30, 2014hey, it would be awesome if you add: "Adding other players to the regions you rented/bought" I check every Plugin but no one have the function to add ppl to rented region (expect one and that doesnt work in 1.7.10). Sell regions ruins the game cause ppl need a reason to farm stuff. i hope that the new worldguard update comes fast and i can use you plugin :) great work
-
View User Profile
-
Send Message
Posted Oct 30, 2014@TheL0w3R
MySQL support is not something I can add in a day, that would require a major rewrite. I do however know the SQL syntax and I think I'm able to use it in combination with Java. I'm probably not going to support SQL anytime soon, just because it is a lot of work and I don't want to do that if it is not going to improve performance of the plugin greatly.
What is exactly the reason you want support for it? Because I think the performance of the plugin is not bad at all at the moment. The only problems that the last released version has is that it does certain updates for all regions in just 1 tick. For example the command '/as updaterents' will easily lag the server for a couple of seconds or even longer if you have a lot of regions. But this example has already been fixed for the next version, now commands like this update a certain number of regions per tick, spreading the load and preventing a lag spike for your server. This periodic updating already applies for the following: The '/as updatebuys' and '/as updaterents' commands, checking for expiration of rent regions, checking for regions of inactive players (auto-unrent/buy), periodic updating of signs for things like timeLeft tags.
If you have any other performance concerns, just let me know and I will try to fix them.
-
View User Profile
-
Send Message
Posted Oct 30, 2014Can you add MySQL support? It will be a great feature for huge servers
-
View User Profile
-
Send Message
Posted Oct 30, 2014@Guble
Normally the sign will appear at the previous location I think, because if you don't hide the sign it will just still be there. I could add permissions to let players connect more signs to their regions, then they could place a sign at the location they want. And also a way to delete signs for a region of their own, then the players can fully decide where the sign(s) will be if they have certain permissions.
@donutnut1
Normally a WorldGuard region only allows members and owners to break blocks, open chests and use other things. So be sure you have the WorldGuard region set up correctly, because basically the only thing AreaShop does is adding the renter as a member of the region. You can also let AreaShop automatically set certain flags for specific states (forrent, rented, etc) of regions, you can check the Config System page for all options.
As @Androkai said, you probably have the 'use' flag of the WorldGuard region set to 'allow', this will allow all players to use chests, furnaces and other inventories. If you just reset this flag (set it to 'none') it will only let the members and owners use these inventories again.
-
View User Profile
-
Send Message
Posted Oct 30, 2014@donutnut1
Sounds like you had set use-flag to allow and need to set chest-access-flag to deny -g nonmembers. Could you please send us the output of /region info <your regions name>?
-
View User Profile
-
Send Message
Posted Oct 30, 2014Hi there,
I've been using this plugin on my server while it has been set up, upon release of the server we found players that don't own a rented region can still do what I would expect the region renter would be able to do. E.g, players can open chests even if they don't own the region.
Just wondering what this plugin is supposed to do or if mine is broken.
-
View User Profile
-
Send Message
Posted Oct 28, 2014@nlthijs48
That solution fits my needs perfectly! When the player types the /as setforsale command, will the sign appear in the location of the previous sign? Or does it appear where they are standing?
-
View User Profile
-
Send Message
Posted Oct 28, 2014@Guble
Okey now I understand what you want to do. I think the easiest solution would be to set the 'sold' signs to nothing, then they will get deleted when the region is sold (already in the plugin). Then all the other things work like normal (player is owner, region stays registered in AreaShop). And if the player wants to sell the region they can use a command like '/as setforsale <price> [region]' (to be added in the plugin), which will show the normal 'forsale' sign again. And doing this does not bulldoze the region, the owner stays owner until a player buys it and the money will go to the previous owner of the region when it is sold. If you use something like this you probably also want to prevent selling regions back the previous owner or server with '/as sell', that can already be done by denying the permission to use this command.
This way the players don't have to place any signs and don't have to be educated what goes onto the signs, so I think this would be the most user friendly solution. Would this solution fit your needs?
Maybe we could allow a player that bought a region to also set his region up for rent to other players, but that is something you don't want to use for now as I understand (will have separate permissions anyway).
Something like this won't be added to rent regions I think, because you are not the actual owner and therefore cannot sell/rent the region to another player.
-
View User Profile
-
Send Message
Posted Oct 28, 2014@nlthijs48
All of the regions are already created in WorldGuard. What I would like is for players to be able to buy these pre-made regions and break the signs (and remain owners). If the player decides they no longer want that region, I'd like it to be possible for them to then place a new sign and that region would then be up for sale on the market until a different player buys it (once that happens, then the land and money would transfer between players). And then the cycle continues.
I personally do not need players to be able to create child regions within regions they own. A feature like that would be nice, but for me it's best that only I can create regions.
When you add the ability for players to create signs to sell land they own, is it possible to create some settings or permissions so that we'd be able to prevent creating rental signs, but allow creating sale signs?