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 Apr 17, 2013I'm getting this error on 'mcpc-plus-1.5.1-R0.3-SNAPSHOT-f655-346' :(
-
View User Profile
-
Send Message
Posted Apr 14, 2013@andune
Well, this is strange.
I finally had the time to test what you advised me. I downgraded to an older build of CrazyLogin in which the MONITOR priority wasn't used and added 'eventPriority: highest' (also tried 'high') to the 'core:' section of HSP's config, but CrazyLogin (or bukkit) still has priority over HSP, which results in that respawn glitch.
So i'm either not using an old enough build of CrazyLogin or something else is going on.
-
View User Profile
-
Send Message
Posted Apr 11, 2013@Shvesley
Ah. You need to confirm that a worldborder is set for the world you are trying to randomSpawn on. From what I read, your HSP configuration is fine. When a new player logs in, you want them spawned into a random location in world "wasteland".
What I said in my earlier response is that the stack trace you shared (thank you) indicates to me that you haven't set a world border for wasteland. This means if you run "/wb list", you will see that your world "wasteland" has no border set. Set a border, I believe the problem will go away.
If you can see that you DO have a border set for wasteland and you're still getting the same stack trace, please open a ticket here with all the details, such as your HSP, WorldBorder and Bukkit versions, the output of "/wb list" and your HSP config and I can attempt to reproduce the issue, the assumption at that point being that it's not the issue I currently think it is.
-
View User Profile
-
Send Message
Posted Apr 11, 2013@andune
I meant I don't under HomeSpawnPlus enough to configure it along side WorldBorder :)
-
View User Profile
-
Send Message
Posted Apr 11, 2013@andune
Hmm, thanks a lot for the heads up! The author of that mod already implemented the change so i'll leave him a message about this ;-)
-
View User Profile
-
Send Message
Posted Apr 10, 2013@ViscousSummer88
There are a few things to do:
Good luck!
-
View User Profile
-
Send Message
Posted Apr 10, 2013@Shvesley
I don't offer support for other plugins, sorry. I think WorldBorder has a reasonably well documented project page, so please review that and ask the author for help if the documentation isn't sufficient. Or if you don't understand it (and therefore aren't using it), you might consider uninstalling it.
If WorldBorder isn't installed at all, HSP will just default to -1000 through 1000 for random world spawning.
-
View User Profile
-
Send Message
Posted Apr 9, 2013@andune
I do have WorldBorder installed, but I am afraid I do not understand the plugin well enough to set this up right. Could you offer any further assistance? Sorry to be a bother.
Thanks
-
View User Profile
-
Send Message
Posted Apr 9, 2013Im really confused of this.. I use essentials and MultiVerse. Im wanting it so when a user types /spawn it takes them to that worlds spawn the the main spawn... can you help me figure this out please.
-
View User Profile
-
Send Message
Posted Apr 7, 2013@tuxed
There were no breaking changes between 1.5.1-R0.1 and 1.5.1-R0.2. Nonetheless, I tested a build of 1.5.1-R0.2 so you can find that on Jenkins if you like.
-
View User Profile
-
Send Message
Posted Apr 7, 2013There is no -R0.2 build available. I'd really like such a build.
I'm also getting this error:
2013-04-07 16:31:37 [SEVERE] Could not pass event PlayerTeleportEvent to HomeSpawnPlus v1.7.5-SNAPSHOT org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:26) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:479) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:464) at org.bukkit.craftbukkit.v1_5_R2.entity.CraftPlayer.teleport(CraftPlayer.java:377) at net.minecraft.server.v1_5_R2.PlayerConnection.a(PlayerConnection.java:232) at net.minecraft.server.v1_5_R2.Packet10Flying.handle(SourceFile:136) at org.spigotmc.netty.NettyNetworkManager.b(NettyNetworkManager.java:174) at net.minecraft.server.v1_5_R2.PlayerConnection.d(PlayerConnection.java:113) at net.minecraft.server.v1_5_R2.ServerConnection.b(SourceFile:35) at org.spigotmc.netty.NettyServerConnection.b(NettyServerConnection.java:66) at net.minecraft.server.v1_5_R2.MinecraftServer.r(MinecraftServer.java:582) at net.minecraft.server.v1_5_R2.DedicatedServer.r(DedicatedServer.java:229) at net.minecraft.server.v1_5_R2.MinecraftServer.q(MinecraftServer.java:471) at net.minecraft.server.v1_5_R2.MinecraftServer.run(MinecraftServer.java:403) at net.minecraft.server.v1_5_R2.ThreadServerApplication.run(SourceFile:573) Caused by: java.lang.NullPointerException at org.morganm.homespawnplus.listener.HSPPlayerListener.onPlayerTeleport(HSPPlayerListener.java:421) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) ... 16 moreSpigot #715 in case you need it
-
View User Profile
-
Send Message
Posted Apr 7, 2013@Shvesley
Thanks for using pastebin and including relevant config section. Based on the stack trace, my assumption is that you have WorldBorder installed but you've not setup a world border for the world in question. I don't believe I ever coded for this situation and I doubt it's what you want: if I coded HSP to accept an infinite WorldBorder, your players would be randomly spawning in an near-infinite world: from -30,000,000 to +30,000,000 X/Z.
If this really IS what you intend, then just set your WorldBorder to those limits. Be warned, since it is impossible you've pre-genned all 262,144,000,000,000,000 blocks (262 quadrillion) in the -32mil by +32mil MineCraft world, it means every new player login will be slow as your server freshly generates all 441 chunks around the player (10-chunk radius) as every one of them logs into a new, previously ungenerated location on the world.
If you HAVE set your WorldBorder limits on the world in question (meaning this is a bug of some sort and not the situation I described), then please open a ticket here with your stack trace and a listing of your WorldBorder limits and version and I will try to reproduce.
-
View User Profile
-
Send Message
Posted Apr 6, 2013Got this error upon first join. http://pastebin.com/zGw3peL2
This is the sample of the only part of the config.yml that I edited. My goal was for new players, and respawning (dead) players to spawn randomly in the wasteland world.
Thanks
-
View User Profile
-
Send Message
Posted Apr 5, 2013Hello !
When you think add the support for first login and authme ? :)
-
View User Profile
-
Send Message
Posted Apr 4, 2013@ThisUsernameIsMine
Note that plugins are NOT supposed to change events using the MONITOR priority. Please don't ask the plugin author to do this.
HSP has gone to great lengths to allow you to modify the priority of the event for exactly this situation (Bukkit does not make it easy for plugin authors to allow admins to change this). Change your core.eventPriority from "highest" to "high". Then if the other plugin uses "highest", you'll be fine.
Since you are intentionally doing this, you can further tell HSP to stop telling you about it by setting the core.warnLocationChange setting to false.
-
View User Profile
-
Send Message
Posted Apr 4, 2013@Consalvo
You say "Bukkit 1.5.1" and "HSP v1.7.4". These two are not compatible. Use the dev build from Jenkins, or wait until Bukkit admins approve v1.7.5 that I just uploaded a while ago, which is compatible with Bukkit 1.5.1.
-
View User Profile
-
Send Message
Posted Apr 4, 2013Hey!, I like so much this plguin, it is one of my favorites after TerrainControl wich complements with yours, and I found one way to make Essentials and HSP don't fight each other, but there an error with the last Beta bukkit 1.5.1. Here is the problem:
15:51:58 [SEVERE] Could not pass event PlayerTeleportEvent to HomeSpawnPlus v1.7.4 org.bukkit.event.EventException at org.morganm.homespawnplus.listener.HSPPlayerListener$4.execute(HSPPlayerListener.java:533) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at org.bukkit.craftbukkit.v1_5_R2.entity.CraftPlayer.teleport(CraftPlayer.java:370) at org.bukkit.craftbukkit.v1_5_R2.entity.CraftEntity.teleport(CraftEntity.java:194) at org.jakub1221.herobrineai.NPC.Entity.HumanNPC.Teleport(HumanNPC.java:58) at org.jakub1221.herobrineai.NPC.Entity.HumanNPC.moveTo(HumanNPC.java:54) at org.jakub1221.herobrineai.AI.cores.RandomPosition.setRandomPosition(RandomPosition.java:44) at org.jakub1221.herobrineai.AI.cores.RandomPosition.CallCore(RandomPosition.java:33) at org.jakub1221.herobrineai.AI.Core.RunCore(Core.java:28) at org.jakub1221.herobrineai.AI.AICore.RandomPositionInterval(AICore.java:292) at org.jakub1221.herobrineai.AI.AICore.access$0(AICore.java:286) at org.jakub1221.herobrineai.AI.AICore$5.run(AICore.java:522) at org.bukkit.craftbukkit.v1_5_R2.scheduler.CraftTask.run(CraftTask.java:53) at org.bukkit.craftbukkit.v1_5_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345) at net.minecraft.server.v1_5_R2.MinecraftServer.r(MinecraftServer.java:510) at net.minecraft.server.v1_5_R2.DedicatedServer.r(DedicatedServer.java:225) at net.minecraft.server.v1_5_R2.MinecraftServer.q(MinecraftServer.java:474) at net.minecraft.server.v1_5_R2.MinecraftServer.run(MinecraftServer.java:407) at net.minecraft.server.v1_5_R2.ThreadServerApplication.run(SourceFile:573) Caused by: java.lang.NullPointerException at org.morganm.homespawnplus.listener.HSPPlayerListener.onPlayerTeleport(HSPPlayerListener.java:403) at org.morganm.homespawnplus.listener.HSPPlayerListener$4.execute(HSPPlayerListener.java:531)
I really hope you fixe it. With GAY LOVE Consalvo. Sorry my english
-
View User Profile
-
Send Message
Posted Apr 4, 2013@Eternity74
Please read the FAQ, it specifically covers command conflicts. HSP has a dynamic command system that Essentials does not play well with, since Essentials assumes all plugins have their commands enumerated in plugin.yml and HSP doesn't; admins are free to add/remove commands to HSP through configuration.
Specifically, this means if you have HSP and Essentials installed together, Essentials command system is installing itself over HSP /home. There is a very easy step to resolve this, please read the FAQ.
-
View User Profile
-
Send Message
Posted Apr 3, 2013i have a big problem. essentials is conflicting with homespawnplus so i cant set or goto a home on my server. pleaze help me!!!!
-
View User Profile
-
Send Message
Posted Apr 2, 2013Hey! Whenever I downloaded the Bukkit dev and the HomeSpawnPlus dev, I get no errors, but noone, including me (as the owner) can use the command /home. It doesn't give errors, it just doesn't say anything. /homelist will work, and other HomeSpawn commands, just /home that I've noticed. Any ideas?
IP is 198.12.126.166 if anyone wishes to come test it out for themselves...
Eternity