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 Mar 11, 2012@andune Heyho,
it's very important for us, that the WGregions are working again. Are some update plans?
Actual Worldguard on our testserver #578 CB #2063 HSP v1.4.3
Error on /spawn on a WG Region: http://pastebin.com/jzX90mZ8
-
View User Profile
-
Send Message
Posted Mar 11, 2012Hi buddy, we have got some NPE: http://dev.bukkit.org/server-mods/homespawnplus/tickets/80-npe-on-players-respawn/
-
View User Profile
-
Send Message
Posted Mar 9, 2012I'm not sure if this is a genuine issue or user error, but I have 1.2.3, w/ vault 1.2, and Pex. I'm trying to use the grouspawn part of HSP and it doesn't appear to match it up?
I've /setgroupspawn groupname, making sure it is case sensative, yet I still get via console Error: Unable to find spawn for 'unreg'. But when I /spawnlist, I see it clearly. Is it me?
to give an exact idea: /setgroupspawn unreg
unreg_user: /groupspawn console: "Error: unable to find..."
-
View User Profile
-
Send Message
Posted Mar 9, 2012Hi, I used to use MultiHome and my users have hundreds of homes set. Is there any way to import those homes for use with your plugin?
-
View User Profile
-
Send Message
Posted Mar 6, 2012@StefanGz
Yes, all spawns/homes in HSP store the exact location, using the full double precision value and also the yaw/pitch view. You will spawn/home EXACTLY where you set it including facing the exact same place.
-
View User Profile
-
Send Message
Posted Mar 6, 2012Will this spawn new players in an EXACT spot? Meaning at the same coords, even if it is underground?
-
View User Profile
-
Send Message
Posted Mar 5, 2012@HeavenMc
There is an enhancement request ticket for dynmap integration. Feel free to vote on it or add comments if it doesn't cover all the functionality you want.
-
View User Profile
-
Send Message
Posted Mar 5, 2012@Zwoz
The 'duplicate name' SQL error was a bug in the 1.4 series related to new installs. The right version of the database is there but the fresh install put the wrong number in the version table so it keeps trying to upgrade.
This is fixed in 1.4.3, but if you already have this issue you still need to do something to fix it, details can be found in this ticket.
-
View User Profile
-
Send Message
Posted Mar 5, 2012@thernztrom
I'm running a similar setup and it works fine:
Chances are you have some other plugin (like CommandBook) snarfing your /spawn commands, thus HSP is never getting them. If you are using CommandBook, then go turn off it's "home" and "spawn" modules.
If that's not the case, then an easy way to test for what's going on from HSP is to set "core.debug" to true in config.yml and then when you type "/spawn", look in your HomeSpawnPlus/debug.log directory. You should at least see some messages related to the /spawn command, such as:
-
View User Profile
-
Send Message
Posted Mar 5, 2012[HomeSpawnPlus] Upgrading from version 0.8 database to version 0.9.1 javax.persistence.PersistenceException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Duplicate column name 'name'
Does this make it so we cant do /spawn sometimes?
-
View User Profile
-
Send Message
Posted Mar 5, 2012-
View User Profile
-
Send Message
Posted Mar 4, 2012After updating to CB-1.2.3-R0.1, Vault 1.2.12 and PEX 1.19, I can no longer use /spawn. Nothing happens when I use the command. Anyone else having same issues?
I get no messages in console either..
-
View User Profile
-
Send Message
Posted Mar 2, 2012Thanks for the quick reply, i just submitted the ticket!
-
View User Profile
-
Send Message
Posted Mar 2, 2012@PaTr0N
Not surprising; WorldGuard doesn't offer an external API for it's region/spawn functionality so getting this to work in the first place meant writing code that knew about WorldGuard internals which means it's likely to break when they upgrade and change things. Sounds like that happened with WorldGuard 5.6.
So first thing I'll have to do is look to see if they added an API I can use to be stable through future versions and if not, I'll have to go digging through WorldGuard internal code to figure out how to make it work in 5.6 now. In any case, it's not something I'm likely to get to right away so I would consider this HSP functionality broken in R6/WorldGuard 5.6 for now, so don't upgrade if your server absolutely depends on the WG spawn strategy.
Also, please open a bug ticket for this so I don't lose track of the issue. Thanks.
-
View User Profile
-
Send Message
Posted Mar 1, 2012Hello, While testing 1.1 R6 i have found that the only worldguard version that is working is snapshot 5.6, now, if HomeSpawnPlus has a worldguard related spawn strategy configured i receive an exception on the console whenever there is a playerRespawnEvent firing
08:47:55 [SEVERE] Could not pass event PlayerRespawnEvent to HomeSpawnPlus org.bukkit.event.EventException at org.morganm.homespawnplus.listener.HSPPlayerListener$1.execute(HSPPlayerListener.java:280) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:441) at net.minecraft.server.ServerConfigurationManager.moveToWorld(ServerConfigurationManager.java:287) at net.minecraft.server.ServerConfigurationManager.moveToWorld(ServerConfigurationManager.java:246) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:992) at net.minecraft.server.Packet9Respawn.handle(SourceFile:30) at net.minecraft.server.NetworkManager.b(NetworkManager.java:226) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:111) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:536) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:434) at net.minecraft.server.ThreadServerApplication.run(SourceFile:465) Caused by: java.lang.NoSuchFieldError: SPAWN_PERM at org.morganm.homespawnplus.util.WorldGuardInterface.getWorldGuardSpawnLocation(WorldGuardInterface.java:81) at org.morganm.homespawnplus.HomeSpawnUtils.evaluateSpawnStrategies(HomeSpawnUtils.java:584) at org.morganm.homespawnplus.HomeSpawnUtils.getStrategyLocation(HomeSpawnUtils.java:728) at org.morganm.homespawnplus.listener.HSPPlayerListener.doSpawn(HSPPlayerListener.java:67) at org.morganm.homespawnplus.listener.HSPPlayerListener.onPlayerRespawn(HSPPlayerListener.java:230) at org.morganm.homespawnplus.listener.HSPPlayerListener$1.execute(HSPPlayerListener.java:278) ... 12 more
-
View User Profile
-
Send Message
Posted Mar 1, 2012@dogbig
Ah now that I've seen this a few times, I bet I know what the issue is. It's probably initializing the fresh database and putting '80' for the version number when it's actually '91'. Then it comes by and tries to upgrade from '80' to '91' which blows up because it already is '91'. I'll have to take a look in the code later to confirm and fix it for a next release. Thanks for all the reports.
-
View User Profile
-
Send Message
Posted Mar 1, 2012One of my users built over her home and keeps suffocating in a well when she does /home. I had her set her home to a new spot it but figured I'd put it on your radar to do some kind of teleport protection maybe. Thanks :)
-
View User Profile
-
Send Message
Posted Mar 1, 2012@andune
Sorry for a slow response, but yes it was the database version number in the MySQL. I simply changed the number from '80' to '91' and the plugin loaded with no problem. Just to reiterate the plugin was functioning correctly while it showed '80' as the database version - it just spit out an error during initialization.
@dogbig
I believe this is the same problem I had as mentioned above; simply change the entry in the database_version column within the hsp_version table from "80" to "91".
-
View User Profile
-
Send Message
Posted Mar 1, 2012Hi buddy, found bug when using MySQL (clean database)
2012-03-01 18:05:59 [INFO] [HomeSpawnPlus] Loaded 63 locale strings (0 overrides) 2012-03-01 18:05:59 [INFO] [HomeSpawnPlus] Upgrading from version 0.8 database to version 0.9.1 2012-03-01 18:05:59 [SEVERE] javax.persistence.PersistenceException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Duplicate column name 'name' 2012-03-01 18:05:59 [SEVERE] at com.avaje.ebeaninternal.server.persist.ExeUpdateSql.execute(ExeUpdateSql.java:95) 2012-03-01 18:05:59 [SEVERE] at com.avaje.ebeaninternal.server.persist.DefaultPersistExecute.executeSqlUpdate(DefaultPersistExecute.java:144) 2012-03-01 18:05:59 [SEVERE] at com.avaje.ebeaninternal.server.core.PersistRequestUpdateSql.executeNow(PersistRequestUpdateSql.java:63) 2012-03-01 18:05:59 [SEVERE] at com.avaje.ebeaninternal.server.core.PersistRequest.executeStatement(PersistRequest.java:93) 2012-03-01 18:05:59 [SEVERE] at com.avaje.ebeaninternal.server.core.PersistRequestUpdateSql.executeOrQueue(PersistRequestUpdateSql.java:68) 2012-03-01 18:05:59 [SEVERE] at com.avaje.ebeaninternal.server.persist.DefaultPersister.executeSqlUpdate(DefaultPersister.java:166) 2012-03-01 18:05:59 [SEVERE] at com.avaje.ebeaninternal.server.core.DefaultServer.execute(DefaultServer.java:1892) 2012-03-01 18:05:59 [SEVERE] at com.avaje.ebeaninternal.server.core.DefaultServer.execute(DefaultServer.java:1899) 2012-03-01 18:05:59 [SEVERE] at com.avaje.ebeaninternal.server.core.DefaultSqlUpdate.execute(DefaultSqlUpdate.java:167) 2012-03-01 18:05:59 [SEVERE] at org.morganm.homespawnplus.storage.StorageEBeans.upgradeDatabase(StorageEBeans.java:517) 2012-03-01 18:05:59 [SEVERE] at org.morganm.homespawnplus.storage.StorageEBeans.initializeStorage(StorageEBeans.java:90) 2012-03-01 18:05:59 [SEVERE] at org.morganm.homespawnplus.storage.StorageEBeans.<init>(StorageEBeans.java:46) 2012-03-01 18:05:59 [SEVERE] at org.morganm.homespawnplus.storage.StorageFactory.getInstance(StorageFactory.java:23) 2012-03-01 18:05:59 [SEVERE] at org.morganm.homespawnplus.HomeSpawnPlus.initializeDatabase(HomeSpawnPlus.java:207) 2012-03-01 18:05:59 [SEVERE] at org.morganm.homespawnplus.HomeSpawnPlus.onEnable(HomeSpawnPlus.java:115) 2012-03-01 18:05:59 [SEVERE] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:215)
-
View User Profile
-
Send Message
Posted Feb 25, 2012Any idea why my players are spawning at NPCs named after them when they login to the server?