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 Jul 22, 2013@joeyderijk
I'm assuming what you want is a new player spawn where they respawn forever until they do some action that earns them a permission, at which point you want the default strategy to fire? (or whatever you want to put there)
In this example, I've setup onJoin to ALWAYS spawn at spawn "noobs" (which you can set by typing /setspawn noobs). This means new players will always be sent to this spawn on login, even if they logout and log back in 5 times.
Then, I override this global default with a per-permission setting that says if they have the no.longer.a.noob permission, I want to just do run the default rule, which of course will just let Bukkit or some other plugin do it's thing. You can obviously name the permission whatever you like, you just have to be sure that every player who isn't a noob has it.
-
View User Profile
-
Send Message
Posted Jul 22, 2013@violation84
Yep, just as soon as Bukkit releases a beta of 1.6. Until then, you can find dev snapshots for HSP on Jenkins.
Personally I think both are stable enough to have releases by now, but they like to take their time. And until they release a beta, I can't lock in on a version in the maven repositories (meaning anything can change; they proved this conclusively in 1.4.5-R3 when they intentionally broke CraftBukkit naming conventions: http://goo.gl/bFH0W), so I keep it dev until I have a release to lock on to.
-
View User Profile
-
Send Message
Posted Jul 22, 20131.6 release update soon?
-
View User Profile
-
Send Message
Posted Jul 22, 2013Sorry if found anywhere else, but i got a question:
config.yml
events:
onJoin:
first-time players go to new player spawn
- spawnNewPlayer
otherwise we just let Bukkit put players wherever they last
logged out
- default
Is it posible to set a permission on the - default?
-
View User Profile
-
Send Message
Posted Jul 21, 2013@alfun5432
Yes, please read the FAQ. This question is covered there along with a solution.
-
View User Profile
-
Send Message
Posted Jul 21, 2013This plugin is interfering with essentials spawn when i do /setspawn it uses essentials spawn any-help?
-
View User Profile
-
Send Message
Posted Jul 20, 2013@andune
Wow, that pretty much explains it all :-))
Thanks for the info, i'll see what i can do! +1
-
View User Profile
-
Send Message
Posted Jul 20, 2013@ThisUsernameIsMine
HSP self-monitors it's own strategies and events for performance, to make sure if it ever thinks there's a performance issue, you can see it and respond to it.
In this case, it's saying the players named home command took 0.6 seconds to run, which is an unusually long time; it basically means your entire server paused for a half second when the player ran that command.
Now the question is: why? The most likely culprit for this is HSP's safeTeleport mechanism or more specifically, Bukkit chunk loading as a result. If you disable safeTeleport, HSP wil simply grab a location and pass it to Bukkit, which says "send the player here". Bukkit takes that and goes on with life and if the chunks are slow to load, it happens in the background and that one player gets a poor teleport experience, but the rest of the server carries on. So turning off safeTeleport should make the warning (and the brief pauses they are warning about) go away.
With HSP's safeTeleport enabled, HSP is first checking the target blocks to make sure they are safe before issuing the teleport command to Bukkit. In order to do this, Bukkit is forced to load the chunks NOW instead of asynchronously later, so it can respond to HSP's queries about the blocks.
Unfortunately, there is no way around this. If you want safeTeleport on, Bukkit has to load the chunks synchronously in order to respond to block id checks for HSP. If you turn off safeTeleport, you won't have the long strategies, but you also won't get safeTeleport behavior, either. Note Bukkit is not dumb about this, it is only loading the one chunk in question (or two if it's right on a chunk border and the target location isn't safe, so HSP has to look at nearby blocks), so basically Bukkit is taking an unusually long time to load one chunk, which likely boils down to server performance (rotational disk latency + high I/O contention results in long delays when trying to read the region/chunk off of disk).
About the only thing you can do, if you want safeTeleport enabled without occasional half second pauses (as appears to be the case in your server environment), is to get faster disk. Dedicated servers running on SSD should never see this issue since they should be able to load chunks on-demand fast enough to respond to safeTeleport queries and still return in far less than 250ms. The server I used to administer only had traditional hard disks (HDD) but because it was a dedicated server and the disks were never more than 20% busy, I never saw this warning because Bukkit is able to load up any needed chunks very quickly from an idle disk drive. The server also has 16G RAM, so undoubtedly the OS smart cache of disk sectors in memory helped a lot too. I suspect these warnings are a lot more common in a virtualized environment where disk I/O is usually the biggest bottleneck.
It's also possible you're doing something with random strategies; this is the exact same effect except exacerbated by the fact that a random location is LESS likely to be safe then a static home, so HSP may have to search up to 50 blocks away, which can result in several chunks being loaded synchronously in order to find a safe location.
-
View User Profile
-
Send Message
Posted Jul 20, 2013Andune: Do you have any idea what this could be?
[INFO] [HomeSpawnPlus] LONG STRATEGY Strategy took 626 ms to run. (> warning threshold of 250ms) Context: {eventType=onnamedhomecommand,player=CraftPlayer{name=jwtjuhh},player.location=world,238,92,283,location=world,238,92,283,arg=thuis}
It doesn't occur very often but i'm wondering if it is bad.
-
View User Profile
-
Send Message
Posted Jul 19, 2013@ttftw42
Just in case you don't see ticket updates, I responded to this issue on the ticket you posted into (thanks for searching existing tickets, it's appreciated). Please read and respond there and/or feel free to open a new ticket if you believe it is a new issue not addressed there.
-
View User Profile
-
Send Message
Posted Jul 19, 2013@limer5
Please open a ticket for #1 and include the full stack trace being printed out into your server.log. Also useful information is your versions (Bukkit server, HSP and other plugins in use) and your HSP config.yml.
My guess without having seen any of that, is the most likely cause of this (since ALL events are failing) is a mismatched HSP/CraftBukkit version. Because of a change the Bukkit team made to the way the core packages are named, you MUST have the correct version matched. The latest 1.7.7-SNAPSHOT available on Jenkins is built for CraftBukit v1.6.2 dev release. If that's not what you're running, go over to the Files tab and download the HSP version that matches the CraftBukkit version you are using.
Issue #2 sounds like maybe HSP is not working (possibly broken in your environment as #1 might indicate?) and that the default Bukkit behavior is being used instead. I can't explain why it would work when they stay on the same world, but let's focus on solving #1 first and probably #2 is related and will go away when #1 is fixed.
-
View User Profile
-
Send Message
Posted Jul 19, 2013Thanks for the quick respose andune. I decided to try your plugin but I've run into two issues already.
Any ideas on the cause of these? I'm sure its something in my config and nothing to do with the plugin but I'm still kind of new to all this so I'll appreciate any help :)
-
View User Profile
-
Send Message
Posted Jul 19, 2013Hello!
I'm having problems with modeSourceWorld. I tried using it as follows:
commands:
wild:
class: CustomEventCommand
event: wild
noArg: true
aliases: [wild]
events:
wild:
- modeSourceWorld:Plots
- spawnLastLocation:Da Vinci
If I remove - modeSourceWorld:Plots, it works fine...but I would like to be able to restrict the command per-world...and after reading your help file, it seems this should work as I'd expect.
I would like to add, my source world is indeed named "Plots" and I'm also getting:
INFO (strategy SpawnLastLocation) Strategy skipped due to current mode settings
in my console...which seems it's skipping that line because it's thinking my source world isn't "Plots"...but I'm in my world "Plots" when I run the command.
Am I using this incorrectly, or is there a bug?
-
View User Profile
-
Send Message
Posted Jul 18, 2013@limer5
Yes. It does so out of the box, should be able to just install and go. Make sure your users have the hsp.home.bedsethome permission, though.
And check out the options for bedhomes if you want to tweak how they work.
-
View User Profile
-
Send Message
Posted Jul 18, 2013Just a question. Would this plugin allow me to have a bed spawn for each world?
-
View User Profile
-
Send Message
Posted Jul 13, 2013@andune
Thank you andune. That build loaded perfectly.
I will also PMed you info about a possible alt jenkins hosting service that I saw recently.
-
View User Profile
-
Send Message
Posted Jul 13, 2013@andune: Thank you for answering and sorry for my harsh tone. Was just a bit angry... :) - Thank you for the Dropbox upload :)
-
View User Profile
-
Send Message
Posted Jul 13, 2013@MCZq
I'm working with the host provider to get Jenkins back online. In the meantime, feel free to use this Dropbox link for the lastest HSP 1.7.7-SNAPSHOT for CraftBukkit 1.6.2:
https://dl.dropboxusercontent.com/u/1743272/Minecraft/HomeSpawnPlus/HomeSpawnPlus-1.7.7-SNAPSHOT.jar
-
View User Profile
-
Send Message
Posted Jul 13, 2013@andune
Hi, is there a mirror for the latest Jenkins build .jar? (since it is offline as of writing)
Thanks
-
View User Profile
-
Send Message
Posted Jul 13, 2013@SiFlux
Yes, thanks for the headsup, I also noticed it is down today. Server host is cheap and uptime hasn't been 100%, but I'd say it's up 99% of the time. You happen to be trying to get to it during the 1% it's down, so just wait a bit and I'm sure it will come back.
Regarding git/maven/building, it's not a problem most of the time since A) the site is up most of the time and B) dependencies don't change that often so if you've already got a build, you're fine. If you're just trying to get started building HSP, then I'd say you picked an unfortunate time to start, so be patient and I'm sure you'll be back in business soon. Also, all the dependencies I host for maven are simply for convenience, you can still find them all elsewhere if you're desperate.
If you have free hosting to offer with better than 99% uptime, I'm all ears.