HomeSpawnPlus
HomeSpawnPlus (HSP) / SpawnControl: the most advanced Home/Spawn plugin for Bukkit. HSP has flexible events and strategies that you can customize for your unique needs. If you just want dead-simple home/spawn management, HSP can do that too, but you might find some other plugin easier to setup or understand. If you want full control and maximum flexibility to do whatever YOU want and not be limited by just basic /home and /spawn functionality, then HSP might be for you.
HSP's events and strategies, custom commands and integrations with plugins like WorldGuard and Multiverse allow you to completely control every aspect of spawns and homes, so that unique edge or setup you want, chances are good that HSP can do it for you.
Please read the FAQ before posting questions or tickets (especially Essentials users). Also there are Examples.
Versions
- Official releases are on the Files tab of this page
- Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk. Jenkins
HomeSpawnPlus has these Features:
- Multi-world homes (one-home per world, multiple homes per world or even just one global home, your choice)
- Specific control as to what happens on events such as player login, player death, typing /spawn or /home commands using strategies. Should the user always stay on the same world? Spawn at the nearest of multiple spawns (ie. graveyard concept)? Maybe they always go to a specific group spawn on that world (for PvP factions, perhaps)? Your choice.
- Ability to set a one-time new player spawn point
- Cooldowns and warmups Can be set to cancel on movement or damage. Advanced details here.
- Economy support (via Vault) to optionally charge players for commands
- Home limits, definable per-group or per-permission. More documentation.
- Configurable per-world or per-permission for just about every option (events, cooldowns, warmups, costs, homeLimits)
- Define your own custom commands Documentation here
- WorldGuard region-spawn support (allow people to spawn at WG region spawn when inside that WG region)
- Ability to visit homes other people have set, on any world (controlled by Permissions)
- Language localization Also you can customize any message in HSP. Details here.
- Home invites - documentation here
- Set homes by clicking on a bed: read bed-related options documentation.
- Dynmap integration built in, very configurable to meet your own needs
- Persistence choice: Sqlite (default), MySQL or YAML
- Standard YML config.yml: with live reloading in-game (/hsp rc)
- Import home data from other plugins (Essentials 2.9, CommandBook 2.1 and SpawnControl v0.8)
Installation:
- Download HomeSpawnPlus.jar and put it in your Bukkit plugins folder
- Startup Bukkit, HomeSpawnPlus will automatically put the default config.yml into plugins/HomeSpawnPlus/config.yml
- Configure config.yml to your liking, then either '/hsp rc' to live reload the config, or restart your server.
Additional info
This plugin was designed to work with Vault, WEPIF, PEX, Permissions 2.x/3.x, or any Superperms-compatible plugin. Please read more about permissions here.
Under the hood: How HSP works
Examples
Spawn strategy documentation
Advanced Cooldown and Warmup information
User Command Reference
Admin Command Reference
Permissions
Changelog
Source Code
Metrics plugin
This plugin utilises 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
Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true.
Have an issue? Got a new idea?
If you find a bug or have an enhancement request, please create a ticket so I don't lose track of the request or issue in a comment stream. If you have a basic question, feel free to post in the comments here or visit the forums on forums.bukkit.org.
Thanks to @Timberjaw for the awesome work on SpawnControl that gave me a great base to start from!
-
View User Profile
-
Send Message
Posted Feb 18, 2014Is the following thing possible: You set your home with a bed. But your bed gets destroyed and because your bed is destroyed this also deletes the home, so you spawn at the world spawn with the message "Your bed was missing or obstructed". I looked multiple times through the config, but did not find such thing. Is there a way to do such a thing? If not, would be very thankful if it could be added. I like it to have your home set by a bed and not with /sethome, but there is sadly not that much differnce if you keep spawning there even your bed was destroyed.
-
View User Profile
-
Send Message
Posted Feb 18, 2014@SXRWahrheit
If I understand your request, this already exists and is built into HSP. Check out the "dynmap" config section of the "config_default.yml" in your plugins/HomeSpawnPlus folder. Just copy that section into your real config.yml and modify settings however you like.
-
View User Profile
-
Send Message
Posted Feb 18, 2014Hey andune, would you consider writing a dynmap extension for player homes? I'd like to do some cleaning up of my map and in lieu of having a whole new plugin developed to check inhabited data, looking for 'homes' seems to be the best option.
You could probably look at this for some help: http://forums.bukkit.org/threads/misc-info-dynmap-commandbook-v0-50-show-commandbook-warps-and-homes-on-dynmap-1-5-2-r1-0.51551/
I'm on EsperNet as Wahrheit if you want to query me and chat about it. :)
-
View User Profile
-
Send Message
Posted Feb 16, 2014Hm, dont know why...Everytime someone uses /hil or /hit or so...
Ive got an error...
Created Ticket:
http://dev.bukkit.org/bukkit-plugins/homespawnplus/tickets/246-commands-hil-and-hit-and-so-on-not-working/
-
View User Profile
-
Send Message
Posted Feb 14, 2014@diannetea
Hello, you guys really need to check out WorldPos, it does exactly what you are describing
-
View User Profile
-
Send Message
Posted Feb 14, 2014@andune
I would love this feature as well. :D
-
View User Profile
-
Send Message
Posted Feb 12, 2014@Matthiasiam
If I understand your description correctly, it sounds like you want HSP to remember the last loc on any sort of teleport, even one where they stay on the same world. And your primary challenge is that HSP is not remembering same-world lastloc locations, although it's working for cross-world situations?
If so, the answer is that HSP's lastloc feature does not record the location on same-world teleport, which is why you're having the issue. There's no reason it couldn't, it just wasn't written that way since it was designed primarily with cross-world use cases in mind.
I had thought for a moment that this was different in the 2.0 code base since 2.0 supports the concept of teleport effects, however it looks like 1.7 and 2.0 both have the exact same recordLastLocation behavior. So it seems reasonable to provide a config item to allow it to record all teleports as well, since this addition would be consistent for both code lines.
I can't promise an update for this anytime soon, but on the surface seems a pretty simple change so when I next get a chance to sit down and work on some code, I can look into adding this.
-
View User Profile
-
Send Message
Posted Feb 12, 2014So I have been going over the documentation for what feels like hours and I haven't been able to accomplish what I need, but it may be because of my lack of grasp on the strategies, events, and commands.
What I want:
Event: When a player warps, teleports, warps or teleports to a different world, or uses portals or any sort of teleportation technique for HSP to remember that last location.
When using the command /lastloc it will take you to that last remembered location.
What is happening:
When a player leaves the world via multiverse it remembers location, not when they warp or teleport within the world.
So after the player joins the world again, warps around within it, then uses the /lastloc command, it takes them back to the spot they left the world from, not the actual last location they warped from.
This causes confusion between the /back command and the /lastloc command. Once I figure this out I will make /back an alias for /lastloc so there is only one.
What I have here:
Any help here would be amazing.
-
View User Profile
-
Send Message
Posted Feb 12, 2014@andune
Gotcha, I'll check that out before sending something in. Thanks for the help so far. :)
-
View User Profile
-
Send Message
Posted Feb 11, 2014@DoomGiver32
Following the FAQ, you can turn on core.verboseLogging. That will tell you exactly what HSP is doing so you can troubleshoot why your events & strategies aren't working the way you expect.
If that doesn't solve your issue, feel free to open a ticket, upload your HSP config and verboesLogging output and try to describe as much as possible what behavior you are trying to achieve and I'll see if I can help.
-
View User Profile
-
Send Message
Posted Feb 11, 2014@andune Sorry for the late reply, I've been fixing other plugin bugs/issues trying to get things ready for a server launch :P.
I did some shuffling around in my config, tried changing the default world, tried to even completely forgo the need for a default world and use named spawns, but it just doesn't seem to want to recognize a new player spawn event. I've tried both using the spawnFirstSpawn strategy under player join, and I've also tried setting up a onNewPlayer event trigger set to go to the main spawn, neither one will send me there, I'm simply sent to an arbitrary location in the world World (which is the default MineCraft world, I'm using it to store all my multiverse worlds because I've been having issues setting my spawn to the MV default, can't change the multiverse world flags unless it's a separate world). At the very least I believe the issue is fixed whereas every single join event was treated as a new-player event, but it still won't recognize the event and send them to the proper spawn. I don't have time now, but later today I can put together a video showing what I'm talking about, it might be hard to follow via text. :P
EDIT: So yeah, didn't know the program I use to record my desktop's license ran out, don't have the money to renew. Scratch that video. :/ The good news is I have a type of "ghetto" fix in place, so at least the bug/user error/what have you in question isn't stopping the launch of my server :P
-
View User Profile
-
Send Message
Posted Feb 8, 2014@DoomGiver32
If you change your HSP core.defaultWorld to whatever your MV world is, the PLAYER_DAT newPlayerStrategy should work. Ideally the BUKKIT one would work, but it was always flaky in my testing which is why I provide the other two options.
I'm surprised ORIGINAL doesn't work, it should be the most reliable since it checks HSP's own database and HSP has a player record for every player who has ever logged in. The reason it's not the default is so many admins seem to want to test their newPlayer strategy and they always tried to do so by removing the player.dat file, so I just made that the default instead since it's what most people seem to expect.
-
View User Profile
-
Send Message
Posted Feb 8, 2014I'm using the 1.6.4 version from the Jenkins page, and the firstplayerspawn strategy seems to be bugging out. It won't recognize that players have joined before, and treats every single join event as a first join, this means players are forced back to spawn on every relog, so if they were out exploring, and had to relog real fast, whoops, suddenly they aren't exploring no more!
For reference, I'm using this on an MCPC+ Build #231 for Forge 965
Also using this in conjunction with Multiverse, and my default world is a MV generated one, so player.dat files aren't being stored in the default world, the ORGINAL method doesn't work either. Gonna try the bukkit method now, see what happens.
-
View User Profile
-
Send Message
Posted Jan 14, 2014@crunkazcanbe
Yes. From the bottom of the features list:
The command to import is documented here in the admin command section:
http://dev.bukkit.org/bukkit-plugins/homespawnplus/pages/admin-command-reference/
which is /hspconvert. It will only convert homes. Spawns you have to setup manually. Back when I was coding it, I figured spawns were the easier of the two to manually setup since there are only a few and so I focused my development efforts on coding import for homes instead.
-
View User Profile
-
Send Message
Posted Jan 14, 2014@andune
Can you please add MySQL support ?Scratch that it does have MySQL support my bad man . Also Is there a way to convert essentials already made homes and spawn to this with out re doing it all ?
-
View User Profile
-
Send Message
Posted Dec 24, 2013This version is working with Bukkit 1.7.4 on Minecraft 1.7.4 http://andune.com/jenkins/job/HomeSpawnPlus/lastStableBuild/
-
View User Profile
-
Send Message
Posted Dec 24, 2013There is a Jenkins link listed right at the very top of this page underneath 'Versions' with text in RED for CraftBukkit 1.7.2.
Additionally, since there is now an official CB 1.7.2 beta available, last night I packaged up and officially released HSP v1.7.7.2, so it will appear here on dev.bukkit.org whenever the Bukkit admins are able to approve it. Being Christmas holidays in the US, it's possible it will take them some time to approve, so use the Jenkins link until they do.
-
View User Profile
-
Send Message
Posted Dec 24, 2013This not working on my 1.7.2 server :( I need this plugin the best
-
View User Profile
-
Send Message
Posted Dec 24, 2013Is this plugin compatible with 1.7? I tried running the server with it but I saw some errors and the "Is this plugin up to date?" message. I'll admit that I didn't spend a massive amount of time looking into the error other than what was obvious. I'd thought it would save time to just confirm whether or not the plugin works with 1.7.
-
View User Profile
-
Send Message
Posted Dec 11, 2013@andune
andune, you are the BOSS. The /hsp alternative works, Ive already set up the aliases in bukkit.yml. Nothing else worked, monitor priority does nothing, changing in plugin.yml load order nothing... this will be the best solution. And furthermore, finally I dont have to wipe half of the essentials every time I update it thanx to your solution. Thanks a lot and consider me proud user of your plugin :) Cheers