Inactive [SEC/MECH/ECON] Residence v2.4.2 - Self serve area protection system! Buy/Sell Land! Economy! [1185]

Discussion in 'Inactive/Unsupported Plugins' started by bekvon, Mar 21, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    bekvon

    MOVED TO DEV BUKKIT:
    [​IMG]
    News

    v2.4.2 Released - 9/24/2011​
    See the change log for details.​
    Everyone using PermissionsEx, Essentials, or anything else besides the regular permissions plugin or PermissionsBukkit should add or change this in their config under the Global section:
    LegacyPermissions: true
    As of 2.4.0 the bPermissions plugin is supported directly.​
    As of 2.3.7 the PermissionsBukkit plugin is supported directly.​
    This support is not done through the new built in Permissions that bukkit provides, because there is no way to get a players group using the built in methods. However, by supporting this directly, you can now use the new permissions system while still keeping Residence, and not having to use old permissions at all anymore.​

    Latest Recommended Build
    Version: v2.4.2
    Download: Residence

    Latest Development Build
    Latest Snapshot: Residence.jar
    Latest Config: config.yml

    Links
    Developer API: Wiki
    GitHub Source: GitHub
    DevBukkit Project Page: DevBukkit

    [​IMG]

    Contributors:
    Daniel Few (Wiki)​
    Linaks (Residence Logo)​
    SirHedgehog (Code)
    GSValore (Code)​
    Samkio (Wiki Video)​
    JustinGuy (Code)​

    Addons:
    Residence Signs (by KarnEdge)​

    NOTE: All Residence usage information has been moved to the wiki!

    About:
    Residence is different from most protection plugins in that it aims for the users to be able to protect their own homes without having to bother the admin to do it. Residence has support for a variety of different protection types including preventing movement through areas, all of which can be configured by the land owner, and limited by the admin.​
    Features:
    Features (open)

    • Allows players to define protected areas for themselves.
    • Individual permissions for each protected area. Land owner can give / deny permissions globally or to other specific players.
    • Different permissions per land include: move, build, use, pvp, fire, teleport, monsters spawn, damage prevention
    • Support for group permissions on protections.
    • Multi-World support.
    • Teleport system to allow users to teleport to residences.
    • Collision detection system to prevent residences from overlapping.
    • Limits to protected size can be set up by the admin.
    • Limits to number of protected areas per player can be set.
    • Two ways to select land including using the select command, or using a item to select 2 points.
    • Messages when you enter / leave a residence. (customizable)
    • Land "leasing" system which requires users to renew the lease on their protection every X number of days or loose the protection. (off by default, see config file)
    • Recursive Sub-zoning. Create zones within zones, and then zones within those zones...
    • TONS of configuration for admins. Customize every single flag that players can or cannot use in the config file, based on their permissions group.
    • (Optional) IConomy support, can set up cost per X number of blocks protected.
    • (Optional) Permissions support.
    • In-game help / commands descriptions

    ChangeLog
    v2.4.2
    • Fix bug affecting some people with the new save system
    v2.4.1
    • Support for iConomy 6
    • Prevent enderman from messing with blocks in residences with the -build flag.
    • Paintings are now protected properly (Thanks JustinGuy!)
    • Fix Rent auto-renew bug.
    • Fix other miscellaneous small bugs.
    ChangeLog (open)

    v2.4.0
    • Support for bPermissions
    • Add "/res pset <residence> [player] removeall" command to remove all flags for that player
    • Added console only command "/resworld remove [world]" to remove all residences in a world.
    • "/res remove" now requires confirmation using the "/res confirm" command, before removing a residence.
    • Fixed subzone flag.
    • Fixed a few null pointer exceptions related to the "/res message" command, and a few other issues with it as well.
    • Fixed few cosmetic rent message bugs.
    • Fixed few mispellings...
    v2.3.9
    - Added name filter to Residences to prevent characters that mess up YML from being used. This should fix many of the errored YML files that people have been getting.
    - Fixed arrow damage in no-pvp zones (bug introduced in the Residence 1060 update).
    - Added a "Permissions Group" line of text into /res limits, this will show your Permissions group as reported by Residence.

    v2.3.8
    - Fixes to better handle the piston flag, and world "flow" flags (thx JustinGuy :) )
    - "Use" flag now covers trap doors.
    - Lease renewal can now be pulled from the Residence's bank.
    - Buying a residence now causes the default flags to be set for the user who is buying it.
    - Minor fixes to new PermissionsBukkit support (fix message about permissions not being detected when it actually was)
    - Added a few miscellaneous forgotten commands to the in-game Residence help.

    v2.3.7
    • Added direct support for PermissionsBukkit (doesn't go through the bukkit API)
    • Added LegacyPermissions true/false config option.
    v2.3.6
    • Support for residence.admin and residence.create permission nodes using new permission system.
    • Recommend using SuperPermsBridge or something that ensures backwards compatibility with old permissions.
    • Few permission changes to hopefully make it work better.
    v2.3.5
    • Fix for firespread flag with CB1000.
    • Added "piston" flag.
    v2.3.4
    • Fixes for CB1000
    • Fixes for a few minor bugs, and for concurrent modification issue with the Lease Manager.
    v2.3.3
    • Removed subzone list from /res info, and gave it its own command that supports multiple pages, /res sublist <residence> <page>
    • If the save file errors, it will now be preserved rather then overwritten, it will be renamed res-ERRORED.yml, the plugin will now disable itself upon error as well unless the StopOnSaveFault option in the config is set to false.
    • Fixed non-working per-world flags.
    • Fixed a few message bugs.
    • Add /resadmin removeall <player> admin command to remove all residences owned by a player.
    v2.3.2
    • Changed MaxUpDown in the default config to 128...
    • Fixed issue with /res vert still selecting more then the MaxUpDown allowed.
    v2.3.1
    • Fixed a few initial issues with a couple language localization messages.
    • Removed area list from /res info, use /res area list [residence] or /res area listall [residence] now.
    v2.3
    • New language localization system, upon first run v2.3 will create a Languages folder under your Residence config folder with the default English.yml file.
    • New in-game help system. (part of the new language localization system)
    • All commands now run without admin privileges unless you specify /resadmin before.
    • Added config option to allow rented residences to be modifiable. (PreventRentModify option)
    • Fixes to improve compatibility with Permissions 3.X
    • /res listall now has pages
    • Added the "physics" flag to control block movement. (separated from the flow flag more like)
    • New ResidenceTPEvent, and ResidenceRentEvent API events
    • Fixed residences not being properly removed from lease / rent system, upon deletion.
    • Fixed bug related to default group option in the config.
    • Fixed global "container" flag bug.
    • Fixed some NPE's related to explosions.
    • Added /resload command to load the save file after you make changes to it (UNSAFE, as it does not save residences first, and so you may loose new residences that were just created)
    v2.2
    • Added per residence Blacklist/Ignorelists that will allow you to specify certain block types to be ignored from residence protections, or unable to be placed in residences.
    • Added Server owned land, use /resadmin server <residence> to change the owner to "Server Owned"
    • Added global Ignorelists which allow certain block types to become unprotectable for the whole world / for a specific user group.
    v2.1.3
    • Fixed a couple bugs with the lease system, including being enabled when it shouldn't be and the lease auto-renew option.
    v2.1.2
    • Added "/res area replace" command, allows you to resize / move a physical area. If the new area is bigger, it will only charge you for the difference in size.
    • Added 'waterflow' and 'lavaflow' flags which override the flow flag if set.
    • Fixed a bug causing money to still be charged when failing to add a area to a residence.
    v2.1.1
    • Fix case sensitivity bug in rent system.
    v2.1
    • BOSEconomy support.
    • Essentials Economy support.
    • RealShop Economy support.
    • Added the 'place' and 'destroy' flags, which if used overrule the 'build' flag. These allow you to give only block placement permissions in a certain area, or only block destroy permissions.
    • /res check [residence] [flag] <player> command, this command evaluates if <player> is affected by [flag] at [residence]. You can leave off <player> and it will use your name.
    • Added a LeaseAutoRenew config option, that will cause leases to automatically renew so long as the player has the money to do so. Note that, if economy is disabled this doesn't work, as there would be no point to leases. Needs Testing! :)
    • Global FlagPermission config section, that allows you to give permission to use a flag to all groups, useful for the build / move / use flag that you almost definitely want everyone to have access to. Flags under each individual group will overrule these.
    • You can now set a limits on how deep or how high protections can go into the group, using each groups MinHeight and MaxHeight settings.
    • /res select sky, and /res select bedrock commands, these auto adjust to the above mentioned MinHeight and MaxHeight settings, so it won't select into a area you can't protect.
    • Rent system implemented.
    • Many bug fixes, including proper creeper explosion prevention now. Also, fixed some bugs when renaming residences.
    • New healing flag.
    • The monsters flag has been split up into "animals" and "monsters" now.
    • New Developer API, including custom Bukkit events.
    • New Global CreatorDefault / GroupDefault / ResidenceDefault flag sections to help clean up the Groups section, and remove redundant flags.
    • Probably some other minor things I've forgot :)
    v2.0
    - Residence 2.0 now in alpha testing, core code has been mostly rewritten.​
    - Supports multiple areas per residence using '/res area <add/remove>' commands.​
    - Added new selection commands '/res select expand' and '/res select shift'​
    - Added Predefined permission lists that can be applyed to residences.​
    - Enter / Leave messages now support %player, %owner and %area variables.​
    - Config file has been cleaned up and most things are better named.​
    - Should be fixed to work with newer iConomy versions.​
    - Save system now only uses yml as save format.​
    - Save system wont corrupt the whole file if one residences gets corrupted, you just loose that one residence.​
    - When a residence changes owner, flags are set to default for that owner.​
    - Added '/res default' command to manually reset flags to default.​
    - Released source code for v2.0​

    v1.2.8 - BETA
    - Fixed broken flag setting permissions.​

    v1.2.7 - BETA
    - Fixed chests being able to be opened from outside protected area.​
    - Fixed enter/leave message (hopefully)​
    v1.2.6 - BETA
    - Updated for CB 612 / Minecraft 1.4​
    v1.2.5 - BETA
    - Fixed tiny bug in saving messages.​
    - yml is now the default save format because its more reliable.​

    v1.2.4 - BETA
    - Fixed bug related to fire / ignite event.​
    - Added ability to remove enter / leave messages​

    v1.2.3 - BETA
    - Added a optional different save system, you can now save residences in pure YML format (same format as config files). See the config file for how to enable.​

    v1.2.2 - BETA
    - Fixed TP bug.​

    v1.2.1 - BETA
    - Fixed bug in new saving system.​

    v1.2 - BETA
    - New save system, will attempt to auto-convert from old system.
    - Fixed some permission bugs when not using permissions plugin.​
    - OPs are now residence admins when not using permissions.​
    - Fixed collisions detection issues related to having multiple worlds.​
    - Added global pvp setting.​
    - Added a "flow" flag to control water/lava flow in residences.​
    v1.1.9 - BETA
    - Fixed a severe bug when not using permissions.​

    v1.1.8 - BETA
    - Fixed a subzone bug.​
    v1.1.7 - BETA
    - Added ability to buy and sell land using /res market commands.​
    - Added a land leasing system which can be configured to expire protections if they are not renewed after a period of time. See the /res lease command. (this is off by default, turn it on and customize it in the config)​
    - Implemented a Auto-Save interval. Saves residence areas every X minutes.​
    - Fixed minor onBlockIgnite error.​
    - Added a few admins commands using /resadmin.​

    v1.1.6 - BETA
    - Fixed spaces not working in enter / leave messages.​

    v1.1.5 - BETA
    - Added Enter / Leave messages for Residences, as well as a permission option in the config to allow / deny changing of them.​
    - Fixed residence admins not being able to modify the outside world when using deny build rights outside of residences.​
    - Fixed issue related to default group.​
    - Added a config option to specify the default group.​

    v1.1.4 - BETA
    - Fixed bug in group permissions...​
    v1.1.3 - BETA
    - Changed the configuration vastly again, server admins now have control over every flag for every group.​
    - Group permissions implemented, but in need of TESTING! :)
    - World permission implemented (default world permissions for when you are not in a residence zone)​
    - Fixes subzone collision bug.​

    v1.1.2 - BETA
    - Fixed residence admins still requiring IConomy money.​
    - Fixed a bug with TNT explosions.​

    v1.1.1 - BETA
    - Fixed bug breaking subzone permissions.​

    v1.1 - BETA
    - Recusive sub-zoning, make subzones within zones, and then subzones within those subzones :)
    - Different limits based on permissions group​
    - New setting for choosing the selection tool item id.​
    - Anti-lag configuration option.​
    - Moved some permissions into the config file.​
    - All protections are now OFF by default.​

    v1.0.1 - 3/21/2011
    - Added permissions / config option to disable teleports.​

    v1.0 - 3/20/2011
    - Initial Release​

    Bug Reports:
    Please include at minimum the following information with all bug reports:
    • CraftBukkit Version
    • Residence Version
    • What you were doing when the error occurred.
    If available, also include:
    • Any server console error messages
    • Other plugins that may be causing the issue
     
  2. Offline

    Ross Gosling

    My residences are deleted everytime i load / reload my server as it says cannot find world: world

    so basically it cant find the world that the residences are on so they get removed, how can i get it to pick up the world and load the residences on it? its really annoying as obiviously all the residences arent there so if you can help please reply and tell me what to do
     
  3. Offline

    aspyrx

    Hi,
    Figured out that you have to make a .yml file with the name of your world as name and the groups inside it.
    Without it, the groups in the config don't seem to work. When I did /res limits everyone (admins, mods, etc) were listed as default.
    Doesn't seem to say so on the wiki, and the file didn't autogenerate for me, so I had to make it myself.
    My main world is called "world" and my nether world is called "world_nether".
    So what I did was I created two files, world.yml and world_nether.yml and placed them in the Residence folder. Then, inside, I listed, one per line, the groups (see below). After a reload, everything worked. Make one for EACH of your worlds, called <worldname>.yml, with groups inside.

    Code:
    Admin
    Semiadmin
    Moderator
    Builder
    Default
    Hope this helps!
     
  4. Offline

    Skirmisher

    Okay, this may seem like a dumb question, but...
    What the heck is the value for "days" in the "/res market rentable" command supposed to be?
    One of my users tried 10, and it told him it was invalid. So now I'm here. The wiki doesn't have any information (that's understandable though) and I didn't find anything from searching this thread. Help please?
     
  5. Offline

    domingo15

    Okay!
    Success, this plugin is the best plugin i've seen so far, i figure out my problems, i just have to delete the residence.jar not the residence folder on my server then upload the new one. If you just replace the residence.jar on your server it wont for some reason dont replace everything. This is what i didn't do..

    Thanks for the Plugin man keep up the awesome work!
    this is for youu.... [diamond][diamond][diamond][diamond][diamond][diamond][diamond][diamond][diamond][diamond] diamonds for all your work...
     
  6. Offline

    GmK

    Thanks for the idea, didnt help at all for us unfortunately ;)

    As I said - it shows /res limits properly on the normal world, but not properly in the nether world, which is linked via world mirroring in Permissions 3.1.6
     
  7. Offline

    Rikkaal

    hey how about in your next update make it so if your in the residence or subzone just typ /res market buy and you buy the one ur standing in? cuz it'll be great with simplesign [CMD] and //wand :D
    rik
     
  8. Offline

    Jombi

    Okay, I've looked in all my plugin folders and can't find out what's wrong. I can put residences up for sale, but cannot buy them. It says the "Market Disabled...". I don't even know how to disable the market...

    Help?
     
  9. Offline

    bekvon

    Usually, world not found issues are because Residence is loading before your MultiWorld plugin is. You may need to rename the .jars so that your MultiWorld plugin loads first.

    Yeah, I have been meaning to do that for a while :) I'll try to hurry up and get it in there.

    Its the number of days the renter will have the residence before he has to rent it again. I updated the wiki to have the rent commands now at least. :)

    Hmm, I experimented around with multiworlds, and I too couldn't get permission mirroring to work right for my other worlds (same thing you guys were having, getting the default group). However, when I just copied the world.yml and users.yml from my main world to all the other worlds it worked fine :confused: Not sure if there's something screwy with Permissions or Residence, but I've gone through the Residence code again, and I can't find anything wrong there...

    UPDATE: Ok, I pushed a new dev build that might fix it. Residence will now ask Permissions to give it the primary group for a player in each world. This might fix the issue, and will also help when dealing with players who are in multiple permission groups (new feature of permissions 3.X). I think you can specify what the primary group is in the Permissions config some way, need to go read the documentation :)
     
  10. Offline

    dzekins

    first of all when i do /res select vert it selects it and when i do /res create name it sayd that im over the limits , i tryd changing the limits to abnormas numbers and im the owner of server why isnt that working?
     
  11. Offline

    Ross Gosling

    is it in alphabatical order??
     
  12. Offline

    dzekins

    and when i try to create subzone it says that bouth points must be inside the residence and im 100% they are

    and when i try to sell or rent a subzone by typing in zone.subzone it put on sale the zone and if i try to write in ony zubzone name it says that residency dosnt exist
     
  13. Offline

    bekvon

    v2.3 is released :D See the change log for the details.

    Yup. :)
    You either arent using a economy plugin, or you don't have it set up right. Look in the Global section of the residence config file to select the economy system you want to use.

    Try v2.3, I remade the vert command that should hopefully work better.
     
  14. Offline

    Joseph3114

    Maybe I missed it, but how would I keep someone from buying up spawn?
     
  15. Offline

    korin125

    I need to have players pay to create residences. No matter what I do players can create them but they are not charged in iConomy according to the cost per block in the settings. Could someone please let me know what I am doing wrong :S I don;t wanna have my players get griefed again :(
     
  16. Offline

    duhfux

    I still can't figure out where the list of groups used by /res gset is meant to be.
     
  17. Offline

    Ross Gosling

    yeah it works now, thanks
     
  18. Offline

    domingo15

    hey there is it normal that it will say this...

    that the setting permission 2.x compatability mode ?
    isnt it suppose to be 3.x or something because well i downloaded this one finding out that theres been an update and everything went like it was before, like am having limits on my residence even though am the admin with the permission nodes..

    Need help please!!
    Thanks>:]
     
  19. Offline

    MaWe4585

    I'm testing your residence plugin right now and it looks realls great.
    one thing though i can't figure out:
    I want agroup of people who can admin residences, but they shouldn't be able to build inside these residences, how can i do that?

    I also use the permissions plugin to manage users and groups


    Second thing: i dont want users that can't admin residences to see the messages which are shown when selecting an area with the tool, can i disable those messages for the users/groups which are not residence.admin?

    I think you have to use the Permissions plugin, there you can define Group- and User-Permissions, the groups defined there should be the same for gset

    As far as i understand, the best way would be to work with permissions. That way you can prevent normal-users to create residences in the first place and "creator-users" can create residences to sell them

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 17, 2016
  20. Offline

    jzsig

    bekvon, i love your plugin and i was wondering if you could make it so people in a no pvp zone cant hurt people out of it (sorry if this is allready possible threw config). i have alot of people who sit on the line and shoot at people outside.
    thans,
    jzsig
     
  21. Offline

    Neo_Bahamut_19

    Would there be any way to make it so you can set it to ignore vertical space in the cost and just take the x,y area cost? Would be nice as to claim a castle I'm looking at over 65,000 credits at a cost of 0.02/block when expanded from ceiling to floor. Either that, or make it so that there is an option to just ignore the vertical dimensions and just automatically protect all blocks within the x,y area from ceiling to floor.

    Great plugin though, very easy to use.


    Update D: : Every time I try to purchase land after expanding vertically I get the following error: Area size is not within your allowed limits.

    I have the following settings set up:
    MaxEastWest: 10000000
    MaxNorthSouth: 10000000
    MaxUpDown: 127
    MinHeight: 0
    MaxHeight: 127

    and the kicker...

    IgnoreLimits: true

    Yet it won't allow me to purchase land that has been expanded vertically.

    Slight Edit: I can purchase land no problem when I don't expand vertically using the /res select vert command.
     
  22. Offline

    hofec

    @bekvon

    Hi sir !
    One exception for you ..
    Show Spoiler
    Code:
    2011-07-05 16:37:45 [WARNING] Task of 'Residence' generated an exception
    java.util.ConcurrentModificationException
        at java.util.LinkedHashMap$LinkedHashIterator.remove(LinkedHashMap.java:364)
        at com.bekvon.bukkit.residence.protection.LeaseManager.doExpirations(LeaseManager.java:185)
        at com.bekvon.bukkit.residence.Residence$3.run(Residence.java:113)
        at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:137)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:438)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)


    Residence 2.3.1 (latest) | RB #953
     
  23. Offline

    Skirmisher

    Ah, I see what my problem was now. The user wasn't specifying the residence name, assuming that it would use the one he was in! I didn't know it was like that; could you possibly extend that "uses-the-residence-you're-in" functionality to more of the commands?
     
  24. Offline

    Beldrama

    Is there a way to remove a Subzone within a Residence? The command list only tells me I can create but not remove them.
     
  25. Offline

    Bisa

    I had the same problem, until I did the math x*y*cost to create > current funds
    Gave myself a load of cash and tried the same selection, now as a rich man it worked like a charm =)

    (@bekvon might want to change the error message to something along the lines "You can't afford to create this residence")
     
  26. Offline

    Jagdat

    hi, I'm having the same problem as Neo_Bahamut_19. I've tried to create a residence after using the /res select vert command. I have then tried to create a residence using first a selection with the /res select sky, and /res select bedrock, Both worked separately but not when used together. I tried the suggested solution suggested by Bisa and cash is not an issue, I've tried extending the max up and down, that didn't work. I've set ignore limits to true.

    I'm using bukkit 935, permissions 2.x (the last version 2, is that an issue?), ive tried setting the permission nodes and not setting them. Im using the default config, except for setting ignorelimits set to true. I have installed the latest version of this plugin (2.3.1)

    If you need any more info, I'll be glad to give it. If anyone else has solved this problem I would appreciate your help, Thank you
     
  27. set MaxUpDown to 128 in your config. I had same problem.
     
  28. Offline

    Fuzzwolf

    Code:
    [SEVERE]    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:447)
    2011-07-05 19:27:08 [SEVERE]    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    2011-07-05 19:27:08 [SEVERE]    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    2011-07-05 19:27:08 [SEVERE] Unexpected exception
    java.util.ConcurrentModificationException
        at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
        at java.util.AbstractList$Itr.next(Unknown Source)
        at java.util.AbstractCollection.removeAll(Unknown Source)
        at net.minecraft.server.World.cleanUp(World.java:1069)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:447)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Hi, I've been running Residents for the last two days and I've pinned an error to this plugin. Whenever it occurs, everybody is kicked off but the server continues to run. When I execute "/who" in the console, it says everybody is on. Some players have even died when they get back on as if they were killed in this server twilight zone. I think the culprit is the fact that I am running the latest version for 953 but I am using 935. Could I get an older version of this plugin made for 935? (Beta 1.6.6)

    Thank you for your assistance. I appreciate all that you do.
     
  29. Offline

    Jagdat

    Thanks alot this did the trick!
     
  30. Offline

    Neo_Bahamut_19

    Did the trick for me too.
     
  31. Offline

    bekvon

    Hmm, thats a nasty error... Older version of residence wont help, I'll see what I can do to track down the issue :)

    EDIT: After poking around a bunch of code for a while, this really looks like its a base minecraft bug (not even bukkit). As to why it only shows up with Residence, I'm not sure... but it appears to be caused by the minecraft server cleaning up entity's (mobs, animals, etc...) while at the same time something else is going on and interrupting it... Anyway, I highly recommend you upgrade to the latest bukkit build, as that may fix it. :)

    Looks like another little issue with the lease manager :( Il see what I can do. :)

    I have been meaning to fix that for a while heh :) The calculation is just one block off due to some math stuff... Il get it fixed ;)
     
Thread Status:
Not open for further replies.

Share This Page