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 Feb 23, 2015Is there a way to have a rent sign attached to a shop that has multiple regions.?
-
View User Profile
-
Send Message
Posted Feb 23, 2015I have spoken to @MonMarty on their TeamSpeak server and talked about the problem. I changed AreaShop to load all region files when the server is already started, and also changed that to happen slowly (a certain number of regions per tick) to prevent a lag spike. Next to that I changed the way AreaShop handles regions that do not have a WorldGuard region or world anymore, now it simply states it in the console but does not delete them anymore. This way data loss is prevented and the server owner will get a chance to fix the region and/or world. He (or Cayorion) will be testing the new version soon.
@Exagerate
The rent and buy separation is only to indicate if a user will only be able to buy the region or only able to rent. The price can be determined per region you define by specifying it on the sign while adding it or using '/as setprice [region]'. But a better way is to use the group system to set a price for all regions in a group (add regions to a group with '/as groupadd <group> [region]', takes all regions in your WorldEdit selection if no region specified).
Make sure that you are using a recently build Spigot 1.8 build, a couple of early build cause the 'region not found' messages (best thing to do is building one yourself: BuildTools info).
Let me know if that helped and if you have any other questions.
-
View User Profile
-
Send Message
Posted Feb 23, 2015@nlthijs48
We have spent some time researching the issue and found the source, or what we believe to be the source at least. The files save correctly when the server shuts down, all config files are properly produced and saved and everything is in working order.
When the server restarts however, the files are deleted after which the console simply states:
Looking further into it, Cayorion has stated that Areashop is loaded before our worlds are properly loaded by MassiveSharding. By assuming all world maps have been loaded, Areashop deletes all yml files of worlds that cannot be found. After Areashop has been loaded, MassiveSharding properly loads and then all data is obviously gone.
What will follow in writing below is purely a message I am passing on from our coder, as I do not code myself and I don't understand coding lingo.
Cayorion believes he has identified the problem in https://github.com/NLthijs48/AreaShop/blob/master/src/nl/evolutioncoding/areashop/regions/GeneralRegion.java#L159
stating: "An easy solution could be for him to deferr the loading of regions to the first server tick. Though I think that the plugin should avoid deleting files at all, what if the world loader plugin crashes due to a bug on server start? In such a case AreaShop would delete loads of regions. A server owner might also want to take a map offline for a while and then put it online again without the regions being lost. Maps may be removed and added during runtime without a server restart. A plugin like AreaShop should not assume that all world maps are always loaded, neither should it assume that regions should be deleted just because a world map wasn't loaded, so actually I think that deferring to the first server tick is not enough. I think regions for non-existing worlds should be kept. But he might know the proper solution better. "
Cayorion has stated he can make a temporary solution to the problem on our end, though we would greatly appreciate a bugfix (I'm assuming there are more plugins that load worlds after Areashop, so it seems more like a design flaw rather than a compatibility issue) Our capital world's release schedule was planned 3 days from now, and we were greatly looking forward to having Areashop replace the inferior rental plugins that are otherwise offered out there.
Thanks again for your assistance and we look forward to a workable solution!
-
View User Profile
-
Send Message
Posted Feb 22, 2015@nlthijs48
ok, and sorry :x
-
View User Profile
-
Send Message
Posted Feb 22, 2015@MonMarty
No problem, you cannot be replying 24/7 :) If I can easily find a teamspeak server then I usually hop on because that makes solving a problem much easier and quicker than the comment system here.
Just let me know if you still have any problems, then I will of course try to solve them.
@TNTUP
This is a known error which has been fixed in AreaShop V2.1.2, just update to the latest version and the error should be gone. Please use a site like pastebin.com for posting logs or exceptions next time, those things are a bit annoying to read in a comment.
-
View User Profile
-
Send Message
Posted Feb 22, 20152nd plot that it happens:
[16:47:47] [Server thread/WARN]: [AreaShop] Task #10809217 for AreaShop v2.1.0 generated an exception java.lang.NullPointerException at nl.evolutioncoding.areashop.Utils.createCommaSeparatedList(Utils.java:71) [?:?] at nl.evolutioncoding.areashop.regions.GeneralRegion.getAllReplacements(GeneralRegion.java:405) [?:?] at nl.evolutioncoding.areashop.regions.GeneralRegion.applyAllReplacements(GeneralRegion.java:440) [?:?] at nl.evolutioncoding.areashop.regions.GeneralRegion.updateSigns(GeneralRegion.java:771) [?:?] at nl.evolutioncoding.areashop.SignChangeListener$3.run(SignChangeListener.java:287) [?:?] at org.bukkit.craftbukkit.v1_8_R1.scheduler.CraftTask.run(CraftTask.java:71) [craftbukkit.jar:git-Spigot-b73910a-726656b] at org.bukkit.craftbukkit.v1_8_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [craftbukkit.jar:git-Spigot-b73910a-726656b] at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:709) [craftbukkit.jar:git-Spigot-b73910a-726656b] at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [craftbukkit.jar:git-Spigot-b73910a-726656b] at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:634) [craftbukkit.jar:git-Spigot-b73910a-726656b] at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:537) [craftbukkit.jar:git-Spigot-b73910a-726656b] at java.lang.Thread.run(Thread.java:745) [?:1.7.0_65]
Tried /as sell dv182. NPE. tried adding [as] sign, NPE on this error
-
View User Profile
-
Send Message
Posted Feb 21, 2015@nlthijs48
Many thanks for the reply and apologies for not replying to you! We really appreciate you hopping over to the MassiveCraft teamspeak, unfortunately I was asleep and did not notice the messages until much later.
I will go over your reply with our server tech and come back if it works/doesn't, the extra information should help Cayorion solve the problem. Apologies again for not being there when you showed up.
-
View User Profile
-
Send Message
Posted Feb 21, 2015@nlthijs48
thx for information :)
edit: jey, 704 regions updated for AreaShop! ^^
-
View User Profile
-
Send Message
Posted Feb 21, 2015@MonMarty
First about the save behavior of AreaShop: It saves all modified files every 10 minutes and when you shutdown the server it will also save all modified files. So the '/as reload' command is not necessary to save the regions, it is just meant to do it immediately (and also loads all config files again).
One thing you can try to see where your problem is coming from is adding 1 region to AreaShop, and then shutting down the server or using '/as reload', after that check the '/plugins/AreaShop/regions/' folder, there should be a file called '<regionname>.yml' for each region that you added. If files like that do not appear then AreaShop did not save the file correctly. In the console AreaShop should indicate if and why it could not save a file (for example no permission to write).
If it does correctly save the region to a file then there might be going something wrong when loading the file, for this you can check the startup log of the server. If AreaShop cannot load a region file for one or another reason it should indicate it in the console (for example the world of the region does not exist or the WorldGuard region does not exist, both these things lead to deletion of the region from AreaShop and therefore also the region file).
Thanks for your detailed description of the problem, that is very helpful and easy to respond to (especially compared to 'it does not work' comments).
@Androkai
AreaShop saves all modified files to disk every 10 minutes (interval can be changed in the config). There is no option to always immediately save the files, and I don't really see a reason to do so. You can use '/as reload' to force it saving to disk when you for example want to make changes to the groups.yml file. When the server crashes you indeed lose the last 0-10 minutes of changes in AreaShop, but you could make that lower by changing the value in the config (and normally server crashes are very rare). It would not even cause issues if you would set the interval to 1 minute, because it only saves modified files.
-
View User Profile
-
Send Message
Posted Feb 21, 2015AreaShop seems to cache new or changed (for example new owner) regions for some minutes before it saved it to data in ../plugins/AreaShop/regions/regionname.yml. If the server crashs between all cached stuff seems to be lost. Any possibility to write all instantly to data?
-
View User Profile
-
Send Message
Posted Feb 21, 2015We at MassiveCraft seem to have some trouble using this plugin. When tested on a local server, it works perfectly fine. Problems appear after setting up of regions on MassiveCraft however.
Up to this point everything works fine, the plugin responds properly and everything seems functional. When we however restart our server network, the following happens:
My question here is, would /as reload be necessary to save the rentals before the server restarts? Alternatively, are rental signs necessary, or can the plugin function fine without them and require the players to purely use commands?
For further reference:
Any help would be greatly appreciated.
-
View User Profile
-
Send Message
Posted Feb 17, 2015@NoHoPeLess
Do you have a bit more details for me? Does the content of a region disappear (the blocks)? Does the region deregister from AreaShop (not showing up with '/as info region [region]')? Does the WorldGuard region disappear? Because otherwise I have no clue where to even start looking for this problem.
Be sure to check the console when you know a region disappeared, AreaShop should indicate why it happened.
-
View User Profile
-
Send Message
Posted Feb 17, 2015dont know... since we update to 1.7.10 and use AreaShop V2.1.5 it seems sometimes the area for an user disapear... dont know why, no errors or something...? We use wg 5.9
-
View User Profile
-
Send Message
Posted Feb 16, 2015@PippaSmith
Nice :)
@PoseidonMC
It should be like that by default, check the flag you gave the WorldGuard region, maybe your priority of the region is too low or you have a 'build: allow' flag (remove that).
@AncientTom
Using the 'build: deny' flag would cause that anyone but OPs are prevented from building in the regions, so that includes the actual renter/buyer. If you simply have no build flag then it should be fine, that should only allow members, owners and OPs to build there.
@AncientTom
Replied to that ticket.
@AncientTom
Thanks man! I appreciate all the feedback you are giving me, good that you simply create tickets when you find something wrong or unclear.
-
View User Profile
-
Send Message
Posted Feb 16, 2015This has got to be the best thought out and designed region Sell and Rental sign shop plugin ever.
-
View User Profile
-
Send Message
Posted Feb 15, 2015@nlthijs48
I understand. No problem. I am using AreaShop extensively right now and have added more information to my tickets.
-
View User Profile
-
Send Message
Posted Feb 15, 2015I will answer all questions and tickets tomorrow evening or the day after, I was very busy this weekend.
-
View User Profile
-
Send Message
Posted Feb 14, 2015@nlthijs48 Please see my latest updates on my ticket about not beng able to create a sign for a region. Thanks.
My experience has advanced on this subject and I opened up a new ticket. Please see"Problem creating groups and fixing signs created for the wrong region".
-
View User Profile
-
Send Message
Posted Feb 14, 2015@PoseidonMC
You can set Worldguard flags in the config.yml file under flagProfiles: > default: > sold:. Try adding the following line:
build: deny
after the rest of the flags in this section, just before "resale:". Remember to indent using spaces to match the other flag lines. Remember also to do a "/as reload" afterwords.
This should add the flag build: deny to a region when it is sold.
-
View User Profile
-
Send Message
Posted Feb 14, 2015Hey If anyone can help me. I set up the area and everything but then Non Buyers can Build in Bought Area if the buyer didn't close it off How do i make it so only Buyers can build in there rented Area