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 Jun 30, 2012Is there a way to reset cooldowns upon death? If not, could you add a configuration option or a permission node for this?
-
View User Profile
-
Send Message
Posted Jun 24, 2012@SXRWahrheit
Thank you for including the verboseStrategyLogging output. From that, I can see that the only strategy you have defined is "spawnNewPlayer". In this example, the player is not a new player and since that is the only strategy you've defined, HSP is doing NOTHING (returning null).
This means either some other plugin is responsible for the behavior you describe, or it's possible it's just falling through to the normal Bukkit spawn point. You can use HSP's "/setmapspawn" command to change that if you like, and "/spawnlist -m" to see the Bukkit map spawns.
-
View User Profile
-
Send Message
Posted Jun 24, 2012For some reason, players who disconnected in the default world are being joined to the location of the world's original spawn. Not the set spawn by any plugin, but a random original spawn that happens to be in the middle of an ocean (thankfully).
Output:
2012-06-25 00:20:01 [INFO] [HomeSpawnPlus] Strategy evaluation started, type=onJoin player=CraftPlayer{name=GrissaOstDrauka} 2012-06-25 00:20:01 [INFO] [HomeSpawnPlus] (strategy spawnNewPlayer) player is detemined to NOT be a new player 2012-06-25 00:20:01 [INFO] [HomeSpawnPlus] (strategy spawnNewPlayer) result is [loc={null}, home=null, spawn={null}] 2012-06-25 00:20:01 [INFO] [HomeSpawnPlus] Evaluation chain complete, result = [loc={null}, home=null, spawn={null}]
-
View User Profile
-
Send Message
Posted Jun 23, 2012@Veinlockx
Use the modeRequiresBed strategy. If your setup is simple, just apply this to your default events at the top of your strategy chains and you're good to go. If your setup is more complex, this allows you to use this on just a specific world or just with specific groups of players, whatever you like.
-
View User Profile
-
Send Message
Posted Jun 23, 2012Anyway to configure it so that if the bed is broken, the player will not spawn there?
-
View User Profile
-
Send Message
Posted Jun 22, 2012@Unpluggeddk
If this still isn't working, please open a ticket and include: your Bukkit version, your HSP version, your Vault version and your economy plugin of choices version. Also please confirm in the ticket that you've seen your economy of choice work with other plugins immediately prior to this error and what plugin(s) those were.
(background: with this info I might be able to help you, but do be aware that HSP's economy code is very light because it punts all the work to vault. So I'm most inclined to think it's an issue with your configuration, but once I have all the facts and can reproduce the issue, I'd know for sure)
-
View User Profile
-
Send Message
Posted Jun 22, 2012@Unpluggeddk
HSP does not have and likely never will have any sort of region definition commands. There are plenty of other plugins out there that do this very well. In fact, to your specific question, I do believe WorldGuard has the capability to refuse commands in certain regions, so I believe it will do exactly what you want.
Another option, if you have a plugin that can toggle permission nodes when players go in or out of a region (maybe an advanced permissions plugin has this ability?), you could always remove the "hsp.command.sethome" permission while in region.
-
View User Profile
-
Send Message
Posted Jun 22, 2012@Edyi3
Sorry, the image you posted doesn't show up. Try using pastebin?
-
View User Profile
-
Send Message
Posted Jun 22, 2012hey guys :)
im usin HSP with essentials. tough i have deleted EssentialsSpawn.jar to disable it and disabled it in the Essentialsn config as well, it gives me the error about the conflicting with essentials. (i know, i can turn the error off if i set it to false :P though id like to sort it out properly :P ) i tells me this:
Edit: hm, has been deleted... o.O puttin in the link to get it workin 100% :P
http://farm8.staticflickr.com/7128/7420940028_0c313a5792_b.jpg
can u help me with the highlited stuff? where do i find the usage of this node/command/option^^
thanks in advance
-
View User Profile
-
Send Message
Posted Jun 21, 2012Is it possible to define a region where people cant sethome?..
They use the sethome command to exploit some of my mc games..
-
View User Profile
-
Send Message
Posted Jun 20, 2012Player doesnt get message for cost of spawn and home..
and if they cant afford it gives them
"internal error"
-
View User Profile
-
Send Message
Posted Jun 18, 2012I tried but..
http://img198.imageshack.us/img198/3206/capturaeo.jpg
This is what i get..
Im sorry to ask so many times but its really important for me to make this work for the VIP/Premium ranks
-----
FIXED:
NeverMind, ii managed to make it work. Did this:
eventPriority: low
removed home and sethome from:
usurpCommands:
- spawn
- setspawn
and dont know why but it still uses your plugin for home and set home but costs work fine now
-
View User Profile
-
Send Message
Posted Jun 18, 2012@Tecurotranki
I've checked in code and the permission check is there:
https://github.com/morganm/HomeSpawnPlus/blob/master/src/main/java/org/morganm/homespawnplus/command/BaseCommand.java#L134
This short-circuits the costs that commands charge and just returns success if the exempt permission is present. I know this works on my server and I've not changed this code in a long time, this works as far back as pre-1.0.
So the only remaining possibility is that the users you are testing don't actually have this permission when HSP checks for it. I've added a "/permcheck" command in future HSP to help debugging this (much like /groupcheck), but meanwhile any permission system worth it's salt should be able to run a perm check query. For example, for PEX this is:
/pex user bob check hsp.CostExempt.home
-
View User Profile
-
Send Message
Posted Jun 18, 2012Yes VIP have - hsp.CostExempt.home
They still have to pay :(
also tried - hsp.CostExempt.*
Didnt work either
-
View User Profile
-
Send Message
Posted Jun 18, 2012@Tecurotranki
There's a special permission you can give to override costs (documented on permissions page):
hsp.CostExempt.<command>
So if you want your mods/admins to be exempt from all costs, you can just give them the "hsp.CostExempt.*" permission.
-
View User Profile
-
Send Message
Posted Jun 17, 2012Hi, I want to charge 3 groups for using the /home command. and the admins for free. So i set it like:
cost:
# if verbose is true, the player will get a message stating that their
# account has been charged whenever they use a command with a cost.
verbose: true
home: 300
sethome: 0
spawn: 0
groupspawn: 0
permission:
limit1:
permissions:
- group.Admin
home: 0
sethome: 0
limit2:
permissions:
- group.VIP
home: 50
sethome: 0
But, yet Everybody has to pay 300.
I also added in PEX hsp.limit1 and hsp.limit2 to the groups.
Dunno what to do!
-
View User Profile
-
Send Message
Posted Jun 16, 2012@stevevbrewer
I'm not aware of anything HSP is doing that should be overriding Essentials behavior regarding first-time login announcements. HSP doesn't monkey with the announcements or the event in any way except to change the location. So unless Essentials is doing something funny such as monitoring to see if the location changed on PLAYER_LOGIN and not sending a message in that case, it shouldn't be affected.
Unfortunately it's not very easy to test as I'd need to setup Essentials, figure out it's new player detection (so as to be able to reset it) and then a second account to actually do the testing with.
-
View User Profile
-
Send Message
Posted Jun 16, 2012Great plugin andune, but just wanted to ask if it's possible to announce to the server when a new player joins for the first time? HSP seems to override the Essentials default for doing that.
Thanks
-
View User Profile
-
Send Message
Posted Jun 16, 2012@Mayhem777
No worries. I don't mind helping, but people whining about support that is provided completely for free is a hot button of mine. ;)
So it sounds like you figured out the problem? From what i saw in your original post it looks like you had "spawnNewPlayer" after "spawnLocalWorld", and spawnLocalWorld is likely to return a location so "spawnNewPlayer" never gets run as a strategy. That all should show up in the "verboseStrategyLogging" documented in the FAQ.
Another thing to check is to "/spawnlist -m" which will show Bukkit map spawns in addition to the HSP-recorded spawns. If you notice your players are spawning at the Bukkit map spawn, you can either adjust your HSP strategies and use "/setspawn" to set HSP spawn correctly, or you can use "/setmapspawn" command to change the Bukkit map spawn as well, if you like.
-
View User Profile
-
Send Message
Posted Jun 16, 2012@pjrueda
If you downgrade a player to a lower limit, there is no provision for "deleting" excess homes over the new limit, they simply will be unable to add a new home since they are already over their limit.
As an admin, when taking such action, you can use /hlo (/homelistother) and /hdo (/homedeleteother) to do this manually if you like. And there's always the ability to manipulate the database (or YAML files, depending on which you use) directly as well.