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!
Hi i've got a question.
Is it possible to set individual costs for the use of commands?
global /home cost: 100
group a /home cost: 75
group b /home cost: 25
And you spoke about the graveyard concept, how could i do this?
How could i do this?
1) Set different spots via /spawn [name]
2) Set onDeath to SpawnNearest
?
And if it's possible (maybe it's too late for me to understand it) how could i do it for PEX?
Could you make me an example for a group named "groupA" ? Thanks!
Very nice plugin, tested it for 5min but i like it very much :-)
@andune
I just wanted a way to remove the messages like right click again in 5 seconds etc its not a big dead but I would need it on a per world basis so a permission to not see it would be ideal.
However that message is quite big and maybe just the ability to change it would do the trick. im not sure... up to you really.
@techdesign
Indeed, I had left /setfirstspawn off the new updated web documentation. The 1.0 version added quite a few commands so I reworked the pages to be a bit neater, and I just forgot to add that one. Well +1 for consistent permission naming that you were able to figure out the permission anyway. :) Glad it's working for you now.
@techdesign
Okay, I took two shots in the dark, and they both appear to work.
First, I guessed at permissions and gave myself hsp.command.setfirstspawn, and suddenly I could run /setfirstspawn! And it worked! My brand new player logged on and ended up at the location chosen!
Second, I took the permission away and confirmed I could no longer run /setfirstspawn. But then I went to a new location and ran "/setspawn newPlayerSpawn", and it appears to have accomplished pretty much the same thing.
So I believe I have this sorted out now! Of course I did all this testing in the open air, so now I have to build my spawn building and make sure it still works, but definitely making progress!
EDIT - the only thing I note about moving the spawn is that it must not update the actual map spawn, as there is no build/destroy protection around the new spawn area. Not a big deal, as I will be protecting it with other means anyway, but just wanted you to know!
@andune
Okay, still having problems with the new user spawn. Perhaps I just haven't read or understood things properly. For instance, when I type /setfirstspawn, I get an error about not finding the command, and I can't find any documentation here about a permission node needed for it.
For testing, I created a brand new world, wiped out the HomeSpawnPlus folder so it would recreate the database and logged on as an admin user. I ran to a good location and executed /setspawn (at -181.5, 75.6, 218.8). It told me it set the spawn, and I confirmed by running somewhere else and typing /kill. I ended up back at -181.5, 75.6, 218.8 just like I desired.
Then I logged on as a user new to the world. I was hoping the new user would spawn at the above location, but they did not. They spawned at -241.5, 71.6, 263.5 (the original spawn location). I then typed /kill and respawned at the -181.5 location as expected, but the initial spawn does not appear to be working.
The server logs state:
So is there something I am misunderstanding here for new player spawns? Or something I need to do differently to get it to work?
@RustyDagger
OK well sounds like you got PEX/HSP working together now, glad to hear it.
Regarding the null messages, I'm not sure what you mean? Please explain which messages you (or your users) are seeing that you don't want to see, and I'll consider the possibility of adding a config flag to disable those messages.
@andune
I have superperms compatibility layer turned on and it defaulted to isOP only when i added the jar for perm2 layer did it work...
also any way to null the messages in chat only on some worlds the reason i ask is because i'm doing a vanilla world on a bukkit server becomes very tricky when plugins that are needed to avoid TP to other worlds put messages into chat..
@RustyDagger
Regarding the remove the bed, remove the home support, that's an interesting request. Please open an enhancement ticket and I will consider adding that support in a future release.
Glad the rest of HSP is working out well for you. I designed it to be very flexible, so as you add new worlds you should find you have lots of options for controlling how you want spawning to work on them all. :)
@RustyDagger
I don't need to explain anything; I develop HSP on my own free time, if I choose not to implement a certain "something", it's not fail, it's called I have a life and have to choose what features I do and don't implement with whatever free time I have available.
That said: I use PEX and have for a while, HSP works fine with PEX. You have at least 3 distinct options for working with PEX:
If none of those options suit you, then feel free to open an enhancement request for native PEX support and I'll consider adding it at some point in the future. So far you're the first to ask b/c everyone else seems to be fine with one of the above 3 options (including myself as a PEX user).
@andune
I also found that it did not do exactly what i wanted when i first installed it when i died on my noob map i was taken to my home on my player map not what i wanted but a quick fix to the ondeath thing and now it take you to the spawn on that map if no home is found first :D
one small request would be to have the home based on the bed by this i mean remove the bed remove the home as it would in normal minecraft no doubt this would require more data to be stored :o but it would be nice as it is now users on my server have no way to unset their home :(
@andune
You mind explaining why your plugin dose not notice pex as a valid permissions system i have pex installed with out the old permissions system comparability layer (witch is not required unless using a really old plugin) and your plugin stats that its defaulting to isOP WTF fail...
Edit surprise i add back the other jar and the plugin works so this dont support superperms? '
@RustyDagger
In the default configuration, that is exactly what HSP will do (allow one bed home per world, where the player will go on death). Don't forget to give them the 'hsp.home.bedsethome' permission.
You can choose if no home is set whether they go to their home in another world, or perhaps just go to spawn in the local world (ie. never leave the world they're in).
@kassquatch
1 global home that moves automatically on /sethome is not currently possible. Ticket #13 is a request for this feature, and I expect to add this feature soon - it makes plenty of sense to have this feature available.
@techdesign
1 - yes /setspawn should spawn players exactly there, unless you are using the "spawnNewPlayer" strategy, in which case they will spawn whereever you "/setfirstspawn". 2 - yes, /setspawn is exact, including the exact place you are looking. It will work fine inside a building. 3- regarding changing the physical spawn, this code/option is a holdover from the original SpawnControl fork, to be honest I've never tested it extensively. I'll give it some testing and try to fix if it is broken.
So with this plugin i could Have it so my users get a home on each map and it can only be set by sleeping in a bed. ? what about respawning when they die can that be done so its at their bed in each map as well?
im having a hell of a time trying to find a way to make it so you can only ever have 1 /home, but it changes place whereever you /sethome, and works from multiple worlds. is that not possible with this? ( i like everythign else about the plugin)
example) player /sethome 's in worldA, and can /home. Player then goes to worldB, and does a /sethome in worldB. Player goes back to worldA and /home 's. It will still go to the original /sethome instead of the new /sethome in worldB.
I have
Ive tried this but it wont let you /sethome more than once (ie: cant change your /sethome)
And then under
Ive also tried
homeMultiWorld modeHomeNormal
I just want a /home and /sethome to only have 1 home across ALL worlds. and can be moved. Is that possible?
A few questions as I am noticing some strange behavior with spawns.
1 - if I run /setspawn, should NEW players spawn in that exact location? Because they aren't. 2 - can i run /setspawn and expect it to set my spawn inside a building and have it work? 3 - Is the option to have /setspawn change the physical world spawn location working, because when I do /setspawn, it works for spawns after the first, but when I disable HSP (rename the jar file), I no longer spawn in the /setspawn location.
This is on Bukkit 1550 and HSP 1.02.
Thanks!
@andune
Thanks, worked like a charm
@jefe323
Yes, this was added in 1.0. Following the superperms convention, you just pick a perm for your group, such as "group.Newbie", "group.Member" and assign those to your respective groups. Then under the homeLimits section, you would do something like:
or whatever you like.
Is there anyway to restrict the number of homes a player can set based on their group? If not, will it ever be added?