Residence


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.
Links
- Vault: Vault
- Spigot Page: Spigot Page
- GitHub Source: GitHub
- IRC discussion channel: irc://irc.esper.net/Residence
Addons
- Dynmap Residence - Dynmap plugin that shows residences on the webmap.
- ResExtras - Control snow, ice, animals, mobs, and more within a residence.
- Residence Fly - Controls flying within a residence. Leaving will cause a player to fall.
- Residence Signs - Easy buying/selling/renting with signs.
- ResTown - Controls which users can build outside of a residence.
- ResProtect - Protects animals via flags
- ResCreative - Grants creative on entering a residence.
- ResPerm - Adds additional permissions to a player on residence change.
- SimpleClansResidence - Integrates Residence and SimpleClans
- Flags - Apparently adds flags or something
Want your addon listed here? Contact a developer via PM.
Past Contributors
- smbarbour (Code)
- inorixu (Code)
- lemon42 (Code)
- Daniel Few (Wiki)
- Linaks (Residence Logo)
- SirHedgehog (Code)
- GSValore (Code)
- Samkio (Wiki Video)
- JustinGuy (Code)
- Tonkovich (Code)
Support
Support has been turned over to Dart21 and his branch, any questions should be directed to him
-
View User Profile
-
Send Message
Posted Dec 9, 2012Hercraving, you should ticket bugs.
-
View User Profile
-
Send Message
Posted Dec 9, 2012Every once in a while, When I type /plugins, Residence is red. When I use any /res commands nothing happens. Residence just breaks for me sometimes. And when will the Residence with MySQL support be released?
-
View User Profile
-
Send Message
Posted Dec 9, 2012the flag command doesn't work (to list flags)
-
View User Profile
-
Send Message
Posted Dec 9, 2012In the /res gset residence GROUP flag true/false/remove command, where do I create the group part? I first thought it was permissions groups, but it tells me I have an invalid group when I use a permission group. Where can I set up the Residence groups?
Thanks in advance.
-
View User Profile
-
Send Message
Posted Dec 9, 2012@stgram
i believe what that means is max amount of SUBZONES , INSIDE a residence. So lets say you have a residence the size of 100x100 in width and length. Well now you want to make a subzone inside that residence so you can give a person ownership of that small "subzone" INSIDE your residence, but not anywhere else inside your residence.
This way you can make a big residence like a spawn area or whole starting town, and make subzones for player shops so players can buy those subzones from you. Then players can build/destroy ect. inside that subzone but not anywhere outside the subzone.
Make sense? So the MaxAreasPerResidence i believe is max amount of subzones that you or players can create inside a residence. Of course if you use /resadmin subzone instead of just /res subzone, then admins bypass all limits.
-
View User Profile
-
Send Message
Posted Dec 8, 2012Add mysql database support for storage of the regions ;)
-
View User Profile
-
Send Message
Posted Dec 8, 2012What does MaxAreasPerResidence mean? I can have a single residence, that protects two separate pieces of land? Isnt that the same like 2 residences?
-
View User Profile
-
Send Message
Posted Dec 8, 2012@jazzman170
Thanks a lot jazzman, I was getting very frustrated with that!
-
View User Profile
-
Send Message
Posted Dec 7, 2012I'm still waiting for a reply on my post below, just letting it be known so i dont have to copy/paste it up here again :P
Also , is there no such permision as residence.mod ?? I need my mods to be able to bypass all flags like players doing the -move flag on them, but not power to create residences :(
-
View User Profile
-
Send Message
Posted Dec 7, 2012@dturner699
use /resadmin create NAME instead of just /res create NAME
using resadmin makes it so the OPS or players like staff, with the residence.admin permission can use /resadmin instead of just /res. and avoid any limitations.
-
View User Profile
-
Send Message
Posted Dec 7, 2012Plz help, I set my config so that the max distance(s) I can make a residence to 50000000000000000, but when I try to make a 20x20x256 res, it says its not in my allowed limits. I am the owner/admin of the sevrer, plz help!
-
View User Profile
-
Send Message
Posted Dec 7, 2012Im having trouble. My players use sugar (the selection tool i set) to select 2 points, however its not working for them anymore. Hasnt been for a couple of months. I dont understand why its not working, it works fine for the admins cause they have residence.admin perm.
Is there a perm for selections? Im running latest res build, and bukkit 1.4.5-R0.3
-
View User Profile
-
Send Message
Posted Dec 3, 2012@IwannaDashInName
I am reasonably sure chunk loading HAS to be done on the main thread due to minecraft being a single threaded program.
-
View User Profile
-
Send Message
Posted Dec 3, 2012@TOOTHPlCK1
As for your chunk suggestion, long chunk load times are the most noticeable and common sign of lag can load in new thread. except teleport, spawn and loging, loading (in new thread) don't need to be so fast - loaded chunk is far away from player and his walk/run speed is limited :)
about reading from file - yes, that would be slow. i prefer mysql, and keed all residence in memory (it's not so much data, few MB)
however i still dont know, how in MODE 2 is checking residence at players position performed, and I wonder, if sql will be fast enough with that multiply condition (hope it will), it seems you got better plan than in current version and this is what i wanted to know.
so thanks for answering my annoying questions, you dont need to waste time with me :)
-
View User Profile
-
Send Message
Posted Dec 3, 2012@IwannaDashInName
MODE 2 will just load EVERY res at startup into a hashmap, each res stores its row id from the database, and changes will affect the object and be modified in the database. So no read queries except at startup. MODE 1 will read and write as it goes. Although as it is currently, there is a buffer that only checks movement position every Blank milliseconds, you can find that in your config. By default its every half second, but you could set it up to 2 seconds without much noticeable change in its function. This movement check buffer will be present in the new version as well.
As for your chunk suggestion, long chunk load times are the most noticeable and common sign of lag, it will probably really piss off your users when as they walk the chunks take like forever to load( As assuming you mean to store res chunks in separate files it would have to find and load to memory that file, or if you mean to store them all in the same file, it would have to read that file, find the chunk section and load it to memory when the chunk loads. Not to mention it would have to load all the separate chunks connected with the same res so it would have to run through the entire file again(Because you won't know the new chunks until you find the first) , or find each of the separate chunk files, to find those secondary chunks. Depending on your map size and the amount of residences you have, and the residences in those chunks, a chunk load could take well over 10 seconds, resulting in people falling into the void. Often.
-
View User Profile
-
Send Message
Posted Dec 3, 2012@TOOTHPlCK1
SELECT * FROM Residence WHERE X1 >= x AND X2 <= x AND ect... Of course the database will be indexed for location queries.
i thought mysql WHERE dont support multiple conditions - my mistake.
anyway, if player is outside residence and moving, plugin will query again and again 'till player walk into residence. i dont know how mysql optimalize multiple condition, but ok, may be good. but with so many querys i don't recomende have mysql at external server.
about MODE 2 - will not query db all the time? you load residences into cache at startup? this is how i understand it. will you make optimalizations like mysql does?
If you can think of a better way to do it, feel free to submit ideas/code.
i dont know if it's better than your MODE 1 - depend on mysql optimalization technique, and don't know if it's better than MODE 2, because you didn't say, how it works - how you will find res where x1>x && x2<x..... ?
my suggestion, it's a concept written in few minutes, in C: http://freetexthost.com/wuhuhapnp2
in java with objects should be better
-
View User Profile
-
Send Message
Posted Dec 3, 2012@IwannaDashInName
"hi db, i need res, that x1>x && x2<x && y1>y && y2<y && z1>z && z2<z"
That is pretty much exactly what I will be doing.
SELECT * FROM Residence WHERE X1 >= x AND X2 <= x AND ect... Of course the database will be indexed for location queries.
Although once again the residence caching will be taking place so it won't be calling it up every time, just the first time a player uses that residence. and after its cache expires, the next time a player uses it.
So say like: Player A moves, Residence checks cached residences for that player... Finds nothing, queries database, gets residence and caches it. Blank minutes later it is uncached and if someone uses that residence again it will be recached. Basically it will be storing the last known residence a player is in, so as to have it readily available to check if the player's event is happening there. So: Plugin needs to check if player in residence: 1: Read cached residences for said player, check if (s)he is in them 2: If not, query for new residence and load if found 3: cache residence if not already
obviously those will slow DB connections will have trouble running the above setup, so there will be two modes to run in, the above is MODE A.
MODE B, will be similar to the current one and will just load up all res's at startup and save as changes happen.
The two modes is to allow for those with less fast database connections to enjoy the perks of the SQL save system.
MODE A, will obviously be the one requiring a lot of work to perfect, as if done incorrectly will be lagging the server often.. But I am confident that I will be able to achieve it working smoothly. MODE B will be alot smoother, although just as much of a RAM hog as the current one.
If you can think of a better way to do it, feel free to submit ideas/code.
In addition you will be able to selectively choose which events you want residence even listening to, If you no longer want a move flag at all, you can disable the listener for that.. Ect. Which will also allow for you to reduce load
-
View User Profile
-
Send Message
Posted Dec 3, 2012@kolorafa
mysql has own optimalization (binary tree, hash etc. depend on situation), BUT, you just cannot load one, specific residence by players coordinate. i can't imagine, how you say to database:
"hi db, i need res, that x1>x && x2<x && y1>y && y2<y && z1>z && z2<z"
and, putting mysql to another (external) server? if you want to read from sql every time when player move? realy? gl with that...
about using res like town - at our server, players have 6 res of limited size, so they can protect their property. our OP team is not able to watch and manage all existing residences, or towns or something. almost every house has one residence. that move responsibility for grief protection from OP, to players.
and about memory - have 4 GB (thinking about upgrading), but we have low TPS even if there is 2 GB free. also, res save file have about 4 MB, plugin should be able to keep all 3700 residences cached using similiar amount of memory (in the worst - multiplied by constant).
-
View User Profile
-
Send Message
Posted Dec 3, 2012@IwannaDashInName But when using mysql, it has own optimizations, and if you still have "lag" you can put mysql on another server.
I use residences like "towns" creating large residence and inside of it small, then there is no performance hit about number of residences, because they are "group" together.
So the numbers are not the case, and you can always "lock" some old unused terrain by moving/removing residences from "main", create a new large one on that place, lock it, and optionally move them back as subzones.
Maybe I'm wrong, but that should be something you need decrease lag, and you can always set "subzone" to all players on that town so players can create residences like before (but using 'subzone' not 'create') in that area.
If not that, maybe you are running low on memory or something.
-
View User Profile
-
Send Message
Posted Dec 3, 2012@nate302
you didn't answer my question: 3700+ residences and 40 players online? there were no performance problem after wipe... but after 2 months, we registered small lags and tps drops, and it slowly grade, as number of residences increases...
this weekend i had to delete residences of inactive players (2 months inactivity) and deleted about 400 res - there is observable little performance improvement