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.


  • 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)


  • 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


Spawn strategy documentation

Advanced Cooldown and Warmup information

User Command Reference

Admin Command Reference



Source Code

Metrics plugin

This plugin utilises Hidendra's plugin metrics system, which means that the following information is collected and sent to

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

Thanks to @Timberjaw for the awesome work on SpawnControl that gave me a great base to start from!

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of freakys1234 freakys1234 May 29, 2015 at 19:30 UTC - 0 likes

    if i start/restart my server, everything is good with the plugin.

    but after a few minutes, the plugin doesn´t respond

  • Avatar of FiftyWalrus FiftyWalrus May 29, 2015 at 16:46 UTC - 0 likes

    Can I use this plugin to only run an event for a specific world? I'm using FarmWorld, and want players to be sent back to Spawn when the login, to avoid them logging in a suffocating when the world is changed.

  • Avatar of andune andune May 22, 2015 at 19:56 UTC - 1 like

    @robvan: Go

    That is bizarre, I have never heard of that issue before.

    It is certainly possible, HSP does listen to the "right-click" event in order to provide it's various bed-related functions. But that behavior has been in for many years and I've never seen this issue reported, so I have a hard time imagining the unique set of circumstances that would cause this problem.

    HSP is open source, so if you want to eliminate this possibility, feel free to clone the source off of git and build your own copy. Here is the code that hooks the right click event:

    Just comment out the @EventHandler annotation on line 168 and rebuild the JAR (Instructions for building can be found in the README on the main project page: You'll then have a copy of HSP that doesn't hook this event, so don't expect some of the bed-related features to work, but you may find that it solves your particular issue. If so, I would be interested to hear back and any additional information that could help troubleshoot the problem, though at the very least if you confirm this fixes the issue I could provide a config option to do the same in the release version of HSP.

  • Avatar of robvan robvan May 22, 2015 at 16:31 UTC - 0 likes

    Nice plugin. I ran into a problem and am wondering if I have something configured wrong, or if it's an incompatibility issue.

    With this plugin installed, my users lose access to open chests and build/break blocks. Once I remove this plugin, everything works fine again.

    I'm using griefprevention and pex plugins on CB 1.8.4-R0.1-SNAPSHOT.

    Thank You.

    Last edited May 22, 2015 by robvan
  • Avatar of Sparclen Sparclen May 22, 2015 at 01:17 UTC - 0 likes

    @andune: Go

    Excellent! Thank you for the fast reply and great work on this plugin.

  • Avatar of andune andune May 21, 2015 at 15:02 UTC - 0 likes

    @Sparclen: Go

    While spawnNearest doesn't accept arguments, there is a spawnNearestWithPrefix strategy that was built for this use case. If you name all of your graveyards with a common prefix, you can use this to restrict spawnNearest like so:

        - spawnNearestWithPrefix:Graveyard
  • Avatar of Sparclen Sparclen May 21, 2015 at 13:52 UTC - 0 likes

    I've been trying to implement a graveyard concept on my server with the on death: - spawnNearest strategy. This works.

    However, I don't want players to be teleported into graveyards when they type /spawn, so I added a regular spawn to my world too.

    Problem is, when a player dies and the regular spawn is closer than a graveyard, they'll spawn in the regular spawn instead of the graveyard.

    Would it be possible to add some additional arguments to the -spawNearest strategy, for example I would like to do - spawnNearest:Graveyard01,Graveyard02,Graveyard03 to make the player spawn at the nearest of the listed spawnpoints and disregard other spawns.

    These arguments already exist in the - spawnRandomNamed:name1,name2,name3 strategy so I believe it should be possible.

    Many thanks!

  • Avatar of andune andune May 20, 2015 at 15:30 UTC - 0 likes

    First, apologies, life has been super busy and while I sometimes see email notifications for posts here, I have been too busy to come respond and have secretly been hoping other veteran HSP users would be able to help others out.

    I don't have time even now to respond to all the issues, but I'll try to tackle a few of the latest ones here that I can answer quickly.

    To @frizzbee30, MySQL is supported. There's docs on the site here somewhere, but it basically boils down to modifying your to tell Bukkit's ebeans server to use MySQL instead of sqlite.

    To keytastic: best bet is to run a backup (/hsp backup), then change your storage mechanism, restart, and do an /hsp restore. I recommend using SQLlite, you'll find the performance is much better. But if it's a small enough server (few hundred users say), YAML is more than sufficient. I recommend multiple YAML files.

    @DarkRyuZ7: Hmm I recall seeing something similar, I thought it was an issue with one of the betas, though it may even have snuck into a release. I'd recommend the latest dev build from Jenkins and if you still get the issue there, please open a ticket. I'm probably long overdue for an update release from the dev builds to be published here on DBO.

    @SanCarlo: it's certainly possible and since I already have integrations with Essentials, the work itself probably isn't that much. Unfortunately, I barely have time to respond to issues, least of all add and test new code. If I do find myself with free time in the future, this is certainly something I could add. Please open an enhancement ticket request so this doesn't get lost in the comments here.

  • Avatar of keytastic keytastic May 19, 2015 at 21:45 UTC - 0 likes

    My host recently stopped being able to maintain a database connection to save its life. Is there a way to convert a database back to flat files? Which do you recommend? One file or multiple files?

  • Avatar of frizzbee30 frizzbee30 May 19, 2015 at 16:17 UTC - 0 likes

    Just working on configuring and testing this (been playing around with it for a bit) ,it is perfect for what we want to achieve :) Any plans to allow external MySQL storage?

    KB Craft multiworld server
    Server New players always given a warm welcome!


Date created
Sep 26, 2011
Last update
Feb 09, 2015
Development stage
GNU Lesser General Public License version 3 (LGPLv3)
Curse link
Recent files