MultiHome
MultiHome is a plugin to allow your users to set multiple home locations, giving each location a unique name. Supports economy, warmup and cooldown, home-on-death.
This project was developed in response to other multiple-home plugins only using home numbers. By using home names, it makes it so much easier to keep track of what home goes to what location.
Features
- Supports flat-file or MySQL storage of homes.
- Supports multi-world.
- Uses home names, rather than home numbers.
- Multiple per-user home locations.
- Can respawn player to their default home upon death.
- Can list and delete home locations.
- Optional warm-up, cool-down and max-homes settings for all Permissions groups. Global settings for undefined groups.
- Automatically imports home locations from Essentials, MyHome and MultipleHomes data directories.
- Can invite players to your home. Can globally invite all players to your home. Can impose a time limit on invites.
- Every piece of text displayed to the player can be customized!
- Supports Economy for pay-to-teleport servers.
- Supports Permissions, PermissionsEx, GroupManager and SuperPerms.
Installation
Simply download the JAR file, copy to your Bukkit server's "plugins" directory and reload plugins/restart server.
When the plugin generates it's data files for the first time, it will import and convert your home locations if you use any of the home plugins listed above.
Configuration
Configuration is done by editing the "plugins/MultiHome/config.yml" file. This file is generated when the plugin is loaded for the first time.
You can edit this file to change any messages sent to users. Useful for translating the messages into another language.
Basic layout of config.yml:
MultiHome: enableHomeOnDeath: false # Set this to "true" to enable the home-on-death feature. Remember to give users the correct permission. enableEconomy: false # Enable/disable economy (pay-to-teleport) dataStoreMethod: file # Method used to store home locations. May be "file" or "sql". messages: # All messages sent to users reside here. Check the config file, it's all self explanitory. default: # These settings are used when your permissions system does not support groups, or the players group is not found below. warmup: 0 # Time (in seconds) for teleport warmup cooldown: 0 # Time (in seconds) for teleport cooldown maxhomes: -1 # Max number of homes for users, -1 for unlimited. disruptWarmup: true # Cancel any teleport warmup if the player moves setHomeCost: 0 # Cost to user to set their default home location setNamedHomeCost: 0 # Cost to user to set a named home location homeCost: 0 # Cost to user to teleport to their default home namedHomeCost: 0 # Cost to user to teleport to a named home othersHomeCost: 0 # Cost to user to teleport to another players home locations (invited or admin) groups: # This section stores per-group settings default: # "default" is the group name # This section is identical to the "default" section above. dataStoreSettings: # Stores settings for each data store method, "file" and "sql" file: filename: homes.txt # Name of file to store home locations in. sql: url: jdbc:mysql://localhost/MultiHome # Server URL to MySQL server where homes are to be stored. user: MultiHome # Username for logging on to MySQL server. pass: MultiHome # Password to use when logging on to MySQL server.
Translations
Translations are always appreciated. Any translations available will be posted under the "Pages" tab above.
Translations available:
- English (default)
- Russian (by alexpsico)
Commands
- /home - Teleport to your default home location
- /home <name> - Teleport to a named home location
- /home <user>:<name> - Teleport to the home location of another user (need invite or correct permission)
- /sethome - Set your default home location
- /sethome <name> - Set a named home location
- /sethome <user>:<name> - Set the home location of another user (need invite or correct permission)
- /deletehome <name> - Delete named home location.
- /deletehome <player>:<name> - Delete another player's named home location. Permission required.
- /listhomes - List home locations for yourself.
- /listhomes <username> - List home locations for another player. Requires permission.
- /invitehome {<user>|*} - Invite another user (use "*" for global invite) to your default home location.
- /invitehome {<user>|*} <home> - Invite another user (use "*" for global invite) to your named home location.
- /invitehometimed {<user>|*} <time> - Invite another user (use "*" for global invite) to your default home for a short time.
- /invitehometimed {<user>|*} <time> <home> - Invite another user (use "*" for global invite) to your named home for a short time.
- /uninvitehome {<user>|*} - Retract invitation for another player to visit your default home.
- /uninvitehome {<user>|*} <home> - Retract invitation for another player to visit your named home.
- /listinvites - List invites open to you.
- /listmyinvites - List invites you have open to others.
Permissions
- multihome.defaulthome.go - Allow user to teleport to their default home location.
- multihome.defaulthome.set - Allow user to create their default home location.
- multihome.defaulthome.invite - Allow player to invite others to their default home.
- multihome.defaulthome.invitetimed - Allow player to invite others to their default home with a timer.
- multihome.defaulthome.uninvite - Allow player to retract invitations to their default home.
- multihome.namedhome.go - Allow user to teleport to a named home location.
- multihome.namedhome.set - Allow user to create a named home location.
- multihome.namedhome.delete - Allow user to delete a named home location.
- multihome.namedhome.list - Allow user to list their home locations.
- multihome.namedhome.invite - Allow player to invite others to their named home.
- multihome.namedhome.invitetimed - Allow player to invite others to their named home with a timer.
- multihome.namedhome.uninvite - Allow player to retract invitations to their named home.
- multihome.othershome.go - Allow user to teleport to another player's home without invite.
- multihome.othershome.set - Allow user to create another player's home.
- multihome.othershome.delete - Allow user to delete another player's named home location.
- multihome.othershome.list - Allow user to list home locations of another user.
- multihome.free.defaulthome.go - Teleporting to default home is always free.
- multihome.free.defaulthome.set - Setting default home is always free.
- multihome.free.namedhome.go - Teleporting to named home is always free.
- multihome.free.namedhome.set - Setting named home is always free.
- multihome.free.othershome.go - Teleporting to other players home is always free.
- multihome.listinvites.tome - Allow player to list invites open to them.
- multihome.listinvites.toothers - Allow player to list invites they have open to others.
- multihome.ignore.cooldown - Player will ignore the cooldown timer.
- multihome.ignore.warmup - Player will ignore the warmup timer.
- multihome.homeondeath - Player will be taken to their default home when respawning.
Acknowledgements
- Sleaker: This guy helped out so much on this project, providing support and code, I class him as a co-author. You rock!
- HereInPlainSight: Submitting a pull request to add PermissionsBukkit support.
- Maxis010: For providing basic support on the forum this thread.
Donate
Help keep the lights on.
Guys, sorry for the slow development, but I've been quite ill lately. Your comments have been heard, and they are being worked on. If you have a feature request or bug, please use the ticket system. It really helps me manage issues a lot better than reading comments here.
It doesn't work anymore at my server i just updated bukkit to 1.2.5 R4
i tried to use all other 1.2.5 versions but it doesn't work
Could you please update it?
@omgitsmit
I was only using this plugin because i wished to charge for /home spawns on my server and couldn't get Essentials to handle it for me. Since then we have changed our strategy and allowed /home to be free once again. We were forced to switch back to Essentials /sethome and /home due to this plugin spawning a number of our players inside blocks, walls, ect.
I'm having an issue where players use /home and get glitched into walls, floors, ect. When i check the Homes.txt file, it shows multiple /sethome's for that player (config only allows them one /sethome). When i clear up the duplicate entries and reload the plugin, they can /home without dying.
For what it's worth, i am running this along side Essentials v2.9.1
My issue: This server is running CraftBukkit version git-Bukkit-1.2.5-R3.0-b2203jnks (MC: 1.2.5) (Implementing API version 1.2.5-R3.0)
2012-06-17 21:15:31 [SEVERE] Error occurred while enabling MultiHome v0.14 (Is it up to date?) java.lang.NoClassDefFoundError: net/milkbowl/vault/permission/Permission at net.madmanmarkau.MultiHome.HomePermissions.initialize(HomePermissions.java:39) at net.madmanmarkau.MultiHome.MultiHome.onEnable(MultiHome.java:38) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:215) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:256) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:238) at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:381) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:368) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:197) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:432) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) Caused by: java.lang.ClassNotFoundException: net.milkbowl.vault.permission.Permission at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:41) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:29) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 12 more
@MadManMarkAu
Hello, report the bug..
I am just /home type http://i46.tinypic.com/21lkepd.jpg http://i50.tinypic.com/207if.jpg
/sethome http://i46.tinypic.com/anomx.jpg
what..?
Suggsetion: a permissions to set a amount of home
etc:
Members can set 3 homes.
VIP can set 5 homes.
MVP can set 10 homes.
thx :)
am getting this error 'An Internal error occurred while attempting to perform this command' i am running groupmanager and also if i op my self and try the command it still says it. here is the list of plugins am running at the moment Chestshop CoreProtection Essentials FoundDiamonds Groupmanager LWC MagicCarpet NoCheatPlus Modreq Treeassist WorldEdit and Guard iChat and iConomy, Please help me asap Edit = Ah i think i found out the problem. in the folder in multihome there is no config.yml. why? fixy?
Sorry if I'm being an idiot, but where exactly does it take money from when you teleport? Does it connect to iConomy / BOSE?
EDIT: Just saw the line in the console: could not find an economy plugin. Doesn't it support iConomy 6 ? If not, what are the chances that it will in the near future?
EDIT2: Using register now, works perfectly :)
How to convert from MyHome sql database?
@MadManMarkAu
Possible idea for this plugin? MySQL database support?
@LllesEmery
As far as I can tell there isn't a multihome.* permission for this plugin so you will have to put all of the permission nodes that you want your default group to have in manually. Also, the plugin has permissionsbukkit support so you don't need the superpermsbridge. at the front of each permission node.
Hey guys, been hearing about the awesome reviews of this plugin for a while, yet given my recent departure on the journey of serverdom, you can probably imagine that I'm having noobish problems.
Got most everything working without a hitch, and for admins even this plugin works flawlessly when using bPermissions and the 1.2 build of SuperPermsBridge. However, after setting up permissions for the default group using once just the "superpermsbridge.multihome.*" node and later all the nodes, I simply cannot seem to figure out why regular users aren't able to use the plugin. The "permission not granted" message appears.
Like I said, everything works together fine, and for admins the plugin works incredibly well. I just can't seem to allow my default group privileges to the plugin. Any ideas?
@HereInPlainSight
Please check your inbox.
@braxony
Please PM me a your most recent startup log (I have an idea, might not be the issue though) and if possible please include a copy of everything in your MultiHome and bPerms directory. (The .jars too if possible please to make sure I'm on the exact same situation you are.)
And I've got Her_craving in a PM already, so if I find any more solutions to that issue I'll let people know.
Thanks for the response.
All my groups in bPerms are in lower case as in the config.yml.
I have two groups created in config.yml. These two have the exact same name as two of my groups in bPerms. Yet players with either group do not have the permission for the homes.
I also have your 11.5.2 build.
Any more advise?
@HereInPlainSight
You want me to change it to true?
Edit: People are still dieing, please add me on skype:
Bla_Saige433 on skype
@braxony
bPerms in the background forces all its groups to lower case. So for example if your group name in bPerms is 'Admin', in config.yml it should be 'admin'. I don't know why it does this, other perm systems don't, but that messed with me for quite a while as I added bPerms in. (Edit: Also make sure you're using one of my builds, base MultiHome doesn't support bPerms groups, just bPerms user perms.)
@Egor33345
NEVAH or read a few posts down. Whichever.
@ray73864
It doesn't.
But it sounds neat, so maybe in the future. Probably with a permission over a config option. I love permissions over configs because it's more flexible for allowing some and not others. This also would let people teleport home to any world from some worlds but not others if configured that way, or perhaps it would be better to make it restrictive and test both the destination world and the starting world and need the perms in both in order to teleport to/from either world but allowing free access between worlds which aren't locked down via the permission.
Interesting.
I am using Multihome with bPermissions. I have two groups setup in the config.yml, 1 group has access to a single home, while the second group has access to up to 5 homes.
However, when I assign permissions to users for either group, they are not given the proper permissions. They remain on the default level of zero homes.
Any advice?
Update please