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 Aug 18, 2012@GunnyWaffle
Sorry I don't offer help for troubleshooting Permission issues and it sounds like you're trying to figure out how to make things work with PermissionsBukkit. I can offer you this link which describes the relationship between per-world and per-permission strategies for HSP.
In a nutshell it boils down to: per-permission is the most specific and you need to use your Permissions plugin to manage permissions per-world if you want permission-based strategies to be different for different users on different worlds.
Regarding your first question (how to define a group's events), the above link also covers some of that and feel free to peruse the Examples.
Last, note that HSP has the built-in admin commands "/pc" (permcheck) and "/gq" (groupquery) for checking if a player has permissions or what group HSP sees them in, respectively. These can prove helpful in troubleshooting issues with how you are using permissions/groups for their corresponding HSP features.
-
View User Profile
-
Send Message
Posted Aug 18, 2012hey I have run into a couple of issues: 1) how do i define a group's events. IE: set how group 'default' joins and dies separately from the world's event strategies 2) permissionsbukkit does not add a player to its user list unless a user's group is defined (which is stupid and i cant find a workaround for this) so even if a user is in the group 'default' they wont spawn at the 'default' group's groupspawn. Yet they do spawn at the default groupspawn if i manually add them to the group 'default'. Is there a way to control a player's events if they arent listed as a user or group member?
-
View User Profile
-
Send Message
Posted Aug 16, 2012-
View User Profile
-
Send Message
Posted Aug 16, 2012Can u make an option to delete old users from database? my db file is getting reaaaally big XD
-
View User Profile
-
Send Message
Posted Aug 16, 2012I have been looking for 2 days for a spawn management system that just works the way I want it to, that is not out of date or inactive.
What I have stumbled upon here is the most beautifully dynamic plugin I have ever come across. Not only is it a pseudo EOP programming system for server behavior, but its also 100% open to overrides, extends, and more for the command structure. All in a simple config.yml file!
I bow to you good sir, this has made my day and I can't wait to create a mesh of event trees utilizing my own sub-library of commands and events! ^_^ This is truly a modeled structure that Mojang should consider for their mod API on the user end.
-
View User Profile
-
Send Message
Posted Aug 16, 2012@GamingG
There's no way to turn on the bed setting just for a specific world. However, if you are ok with people being able to set beds in any world (if they want, by default a bed would be the same as the default /sethome), you could then use per-world strategies to enable the modeRequiresBed strategy on just your PvP world, which sounded like your main requirement.
Assuming you'd want to further restrict your PvP world to ONLY allow beds and not /sethome and /home, you'd have to make those tweaks by using your permission system to deny those permissions on only your PvP world. I don't offer help with Permission systems, but any Permission system worth it's salt has some way of doing per-world permissions, so check your documentation.
-
View User Profile
-
Send Message
Posted Aug 16, 2012This plugin has been a great help in my server. One thing I'm having difficulties figuring out is how I can require a home to be set using a bed (or at least near a bed), but only in one particular world. Our server has a PvP world in which I'd like to require beds (so if someone sets a home in your base, you can simply destroy their bed), but I don't want to retroactively impose that restriction on all of my worlds (especially not the creative world), due to the fact that hundreds of users have bedless homes already that I don't want to mess up. I've read up on spawn strategies a bit more, but I can't seem to think of a way to implement this.
-
View User Profile
-
Send Message
Posted Aug 14, 2012@andune
Thanks! I have no issue editing code, and I will patiently await those features. Keep it up.
-
View User Profile
-
Send Message
Posted Aug 13, 2012@ClearTranquil
My original intent with this plugin was to be as flexible as possible and in fact I wrote code to do exactly as you describe, with the 'disabledCommands:' feature. Unfortunately, Bukkit command API is not very robust and doesn't much control beyond what it is in the plugin.yml (for example, there is no way to 'unregister' a command that's already been registered by plugin.yml), so despite my best efforts, the Bukkit API just doesn't give you the API methods to make it possible for this to work. (disabledCommands unloads the command from HSP's internal command table, unfortunately it cannot stop Bukkit from assigning the command to HSP as the command is still listed in plugin.yml)
So for now, your only option is to open plugin.yml (in the JAR) and delete the commands you don't want.
However, I recently worked on this problem again in the up-and-coming HSP 1.7 and wrote a new command system for HSP that goes beyond the Bukkit API and reaches into Bukkit internals in order to provide the capabilities you describe. In the future, you will be able to simply turn on/off a command in the config.yml and it will act appropriately.
-
View User Profile
-
Send Message
Posted Aug 12, 2012Hi sir, I tried your plugin today because I needed one that handles spawns as specifically as yours does, and it works perfectly. Thanks!
However, I would like to know if it's possible for the home features to be completely disabled? I use another home plugin (AdminCmd) and this plugin is taking over the /home command even with the config set to "default" for the use of it. I'd really like to use this plugin because it does just what I need (I really need a global spawn point for players to spawn in regardless what world they die in, I also need a first-join spawn), but I can't sacrifice the homes of my players.
If it's no trouble! Thanks :)
-
View User Profile
-
Send Message
Posted Aug 10, 2012@andune I might try to write a converter once I'm finished learning the basics of java. Hopefully that's sometime soon :P
-
View User Profile
-
Send Message
Posted Aug 6, 2012@andune
Thank you, and sorry for asking a question that probably has been asked/answered over 9000 times ;)
-
View User Profile
-
Send Message
Posted Aug 5, 2012@MegaNarwhal
Unfortunately it takes a fair bit of work for me to setup another plugin (such as MultiHome or uHome or MyHomes) and then figure out it's format and code a conversion, and it's very little-used functionality so I don't spend a lot of time on adding more; hard enough time keeping the ones I do have working through multiple plugin upgrades.
If you want to code it yourself and contribute it back, the converters are a single file so it should be pretty easy for someone so motivated to copy an existing converter and write your own:
https://github.com/morganm/HomeSpawnPlus/blob/master/src/main/java/org/morganm/homespawnplus/convert/CommandBook.java
Another option if you perhaps know scripting languages (Perl, PHP, Ruby, Pyton, etc..) and want to write a conversion that way, is to use the "/hsp backup" functionality to write a "backup.yml" file and then just write a converter to that format (YAML) and do a restore.
If you need an example python script, CommandBook has one.
Good luck and if you do write a Java converter feel free to submit it back as a gitpull in case there are other MultiHome users out there who would benefit from your work.
-
View User Profile
-
Send Message
Posted Aug 5, 2012Could you add home conversion from MultiHome to HomeSpawnPlus? MultiHome hasn't been updated in a while so I want to switch from it, but I can't due to my server already having 100+ homes set.
-
View User Profile
-
Send Message
Posted Aug 5, 2012@spacedestroy
Yes, HSP sends the player to the exact location you set. Read the FAQ for turning on verboseLogging to find out what is happening.
Another possibility is that safeTeleport is enabled and the spot you are setting is not safe, but even so, that will spawn them at the nearest possible safe block which shouldn't be far away. More likely you aren't using strategies properly, and the FAQ will help you figure that out.
-
View User Profile
-
Send Message
Posted Aug 5, 2012FYI: I filed a bug ticket about an NPE I get every time I join a fresh world.
-
View User Profile
-
Send Message
Posted Aug 4, 2012there is a way to make the spawn point the exact point that I select for it? couse the new players spawns outside the spawn place that I make for them...
-
View User Profile
-
Send Message
Posted Aug 4, 2012@Carambaz
No commands are enabled by default. Read about Permissions and the user commands. If you don't have a permissions system, read the ops-only documentation.
-
View User Profile
-
Send Message
Posted Aug 4, 2012I have craftbukkit-1.3.1-R0.1-20120803.074431-13 and if i use command /setspawn nothing happend (no message, no set new spawn).
-
View User Profile
-
Send Message
Posted Aug 3, 2012@ThisUsernameIsMine
Every time a release comes out, we go through this. If you don't see a file release, it means it probably still works (I use this plugin and have a server, so I make sure things work). Use a test server and try it out! (this has been the case for every Bukkit release except for R6 where they intentionally broke everything).
This time, to get ahead of the usual "update for 1.3??" comment spam, I actually made a release which I was going to do anyway for some minor bug fixes and specifically called out that it works for 1.3.1. Notice under 'Game version' it says 1.3.1CB 1.2.5-R5.0. I put in there the versions I specifically tested with, which means 1.6.2 is known to be working with both 1.3.1 and 1.2.5.
While I'm posting on the topic; for everyone else who comes looking, HSP 1.6.1 ALSO WORKS FINE with both Bukkit 1.2.5 and 1.3.1. You don't have to update. If you want the bugfixes in 1.6.2, then regardless of which Bukkit version you're on, update. If you don't want the bugfixes, then stay on whatever version you're on.