Inactive [GEN] SpawnControl v0.8.3 - Per-Player/Group Spawns (Now on DevBukkit) [1060]

Discussion in 'Inactive/Unsupported Plugins' started by Timberjaw, Jan 21, 2011.

  1. Offline

    Timberjaw

    SpawnControl v0.8.3

    Announcement:
    SpawnControl is being superseded by HomeSpawnPlus, a more advanced plugin that supports all of SC's features, and many more. Your homes and spawns can be imported directly from SpawnControl into HomeSpawnPlus.
    Feel free to contact me with questions/concerns/complaints.




    Tested with CraftBukkit 1060.

    DevBukkit Page: SpawnControl
    Bug Reports: SpawnControl Issue Tracker

    Features:
    • Per-player /home and /sethome
    • Per-group /groupspawn
    • Precise /spawn and /setspawn override
    • Per-world global, group, and player spawns
    • [NEW] Cooldowns for /home, /sethome, /groupspawn, and /spawn
    • Optional respawn on death
    • Optional respawn on join
    • Toggles for home, groupspawn, and globalspawn features
    • Imports player homes from spawncontrol-players.properties
    • Imports group spawns from spawncontrol-groups.properties
    Details:

    This is a more full-featured release by far. Group spawns and global spawn are now supported. I'm detecting 'new' players (for global spawn) by checking their group (new players will be in Default) and looking for an existing home entry. If no home entry is found, the player will be teleported to the global spawn and their home will be set to the global spawn location. If someone has a better method for detecting this, I'd love to hear it.

    The following permissions are available:
    • SpawnControl.sethome.basic
    • SpawnControl.sethome.proxy
    • SpawnControl.home.basic
    • SpawnControl.spawn.use
    • SpawnControl.spawn.set
    • SpawnControl.groupspawn.use
    • SpawnControl.groupspawn.set
    • SpawnControl.CooldownExempt.* (Sub-nodes: *, home, sethome, groupspawn, spawn)
    • SpawnControl.config (for /sc_config [setting] [value])
    • SpawnControl.import (for /scimportconfig and /scimportgroupconfig)
    Dependencies:
    Installation:
    1. Download SpawnControl.jar and place it in your bukkit plugins folder
    Optional Installation Steps (for Permissions support):
    1. Download the Permissions plugin and install it
    2. Add SpawnControl entries to your Permissions config as desired
    Commands:
    • /spawn - go to global spawn
    • /setspawn - set the global spawn to your current location
    • /home - go home
    • /sethome - set your home to your current location
    • /groupspawn - go to your group spawn
    • /setgroupspawn [group] - set the group spawn for the specified group to your current location
    • /sc_config [setting] [value] - alter a configuration setting
    Settings:
    • enable_home - Enables or disables /home and /sethome (0 = disabled; 1 = enabled) [Default: 1]
    • enable_groupspawn - Enables or disables /setgroupspawn and /groupspawn (0 = disabled; 1= enabled) [Default: 1]
    • enable_globalspawn - Enables or disables /setspawn, /spawn, and /globalspawn (0 = disabled; 1 = enabled) [Default: 1]
    • behavior_death - Specifies the behavior when a player dies (0 = disabled - user returns to vanilla spawn; 1 = home; 2 = group spawn; 3 = global spawn) [Default: 3]
    • behavior_join - Specifies the behavior when a player joins the server (0 = disabled - user spawns at last position; 1 = home; 2 = group spawn; 3 = global spawn) [Default: 0]
    • behavior_spawn - Specifies the behavior of the /spawn command (0 = global spawn; 1 = group spawn; 2 = home)
    • behavior_globalspawn - EXPERIMENTAL - Specifies the behavior when setting spawn (0 = does not override map spawn, 1 = overrides map spawn)
    • cooldown_home [seconds] - Sets a cooldown in seconds for the /home command
    • cooldown_sethome [seconds] - Sets a cooldown in seconds for the /sethome command
    • cooldown_groupspawn [seconds] - Sets a cooldown in seconds for the /groupspawn command
    • cooldown_spawn [seconds] - Sets a cooldown in seconds for the /spawn and /globalspawn commands
    Downloads:

    Known Issues:

    • None?
    Changelog:

    • 0.1 - First Bukkit release. Basic /home and /sethome support
    • 0.2 - Group and global spawns, Permissions integration
    • 0.3 - Working respawn on death; respawn on join (optional); configuration options
    • 0.4 - Updated to use new OnCommand system
    • 0.5 - Now uses PLAYER_RESPAWN; added basic multiworld support; added experimental (optional) globalspawn behavior; added missing /globalspawn command
    • 0.6 - Proper multi-world support with per-world spawns
    • 0.7 - Added command cooldowns; Permissions is now optional
    • 0.8 - Fixed multiworld spawns; recompiled against CB #617; removed deprecated method calls
    • 0.8.1 - Updated deprecated world loading method; tweaked spawn log message
    • 0.8.2 - Switched cooldown time handling from server time to system time
    • 0.8.3 - Added Hidendra's pull to support Bukkit's native permissions
    • Full changelog
     
    Michonne, Huddl, BadgerLove and 5 others like this.
  2. Offline

    SeeD419

    This is what happens to me:



    No console errors - Using permissions and it's set up correctly.

    Also running essentials (amongst many plugins :x)
     
  3. Would seem that SpawnControl isn't running for some reason :p. That's not the message it gives when you setup a spawn. What CraftBukkit version are you running? Try running #218 if you aren't already.
     
  4. Offline

    Timberjaw

    Ooh, video bug report. I like.

    Looks like the /setspawn command isn't making it to SpawnControl (if it were, you would see either "You don't have permission to do that." or "Global spawn set successfully." The "Spawn location set." message is either from the vanilla server or from Essentials. You probably need to disable the Essentials /spawn and /setspawn commands.
     
  5. Offline

    ledhead900

    @Timberjaw

    Yep it was essnetials someone told me that the new updates makes plugins that have some commands hard to make get along now.

    Also

    Have you changed command handling to onCommand instead of onPlayerCommand yet?
     
  6. Offline

    Timberjaw

    Not yet; I figured I should finish the respawn on death code I was in the middle of before I break everything again. :) onPlayerCommand still works; not sure if/when they're going to remove it.
     
  7. Offline

    ledhead900

    I have already stated this, Timberjaw has just forgotton to remember :p. You need to setspawn using essetials as well as spawncontrol, otherwise when u die you will be sent to Essentials default spawn and if u dont place it near or at your normal spawn well you saw what happend.

    Latest Spawncontrol 3.x fixes this with a on death respawn via this plugin unfortunatly its its not very reliable at least not in my first test.

    So far I have spawned back in the same spot I died multiple times, this happens when you do right next to your spawn.

    It seems to clear it self up a bit better if u you some place other then next to your spawn location. Spawncontrol 3.x wont play nice with latest essentials.
     
  8. Offline

    Timberjaw

    I maintain that the latest Essentials won't play nice with SpawnControl. :p

    Also fyi for anyone curious, I'm using General on my server, not Essentials, so my knowledge of any incompatibilities there is secondhand.
    --- merged: Feb 2, 2011 5:49 PM ---
    Anyone know how to extinguish a burning player? If you 'die' from fire with SC, you'll still be on fire after you respawn. :(
     
  9. Offline

    ledhead900

    @Timberjaw
    You sort of getting my above post mixed up, that was bit of information I was aiming at giving to OTHER users as a general heads up, Blame my poor grammer for that lol.

    I will now take the time to clear the issue with random death spawns for those still on pre 200 craftbukkit/pre 3.x spawncontrol and running Essentials.




    @SeeD149 and anyone else that falls into the below user base!

    Users of Spawncontrol version 3.x Ignore the below information



    IF YOU PLAN TO RUN ESSENTIALS AND THIS PLUGIN YOU MUST!!!! /SETSPAWN USING THE ESSENTIALS PLUGIN AND THIS PLUGIN.​
    IF YOU FAIL TO DO THIS WHO KNOWS WHERE YOU WILL SPAWN WHEN U DIE!​
    Some detailed info on why this happens
    Spawncontrol has a standalone spawn meaning that it does move any default spawn created when you first generate a world map, this means that any other plugins using this defualt spawn will have to also be used to /setspawn at the current spawn destiation you wish all users to go to upon death.​
    In real terms you actually have two spawn locations, The one that spawncontrol uses and the one that is created when u first use your world it is this reason that both must be set to the SAME location other wise you will not spawn at your Spawncontrol Set location but at your default generated location upon death.​
    Of course if you wanted players to end up at some kind of graveyard upon death by all means set/move the other one some place else.​
    Also keep in mind that the non spawncontrol spawn is NOT exact its just like Hmods spawn it has a radius between 3- 6 blocks that it will actually place you when you end up at that spawn location.​

     
  10. Offline

    Timberjaw

  11. Offline

    ledhead900

    I can confirm as well that this works with Permissions plugin version 2.0



    Edit:
    Unrelated information to the above!

    Essentials plugin are awear of this conflict and and are still looking into ways to polish off how they disable there commands in there config and also to acount for the latest craftbukkit command hook changes.
     
  12. Offline

    R4000

    Got this error:

    2011-02-02 18:01:44 [WARNING] [SpawnControl] DB Error: no such table: settings
    java.sql.SQLException: no such table: settings

    Obviously there is a table missing in my SQLite db.
    I used an older version (still used the .db, cant remember which version).
    Now I have updated to the latest, and it appears it hasn't updated the DB with the new table.
    Any suggestions?
     
  13. Offline

    ledhead900

    Move your old database out and let it create a new one. Then re set your spawn locations.
     
  14. Offline

    R4000

    That's all good, apart from my users now having to go re-find there home if they are not near it. Any workaround?
     
  15. Offline

    ledhead900

    Not that i'm awear of currently I actually don't use homes from this but "PrivateWarp" instead so I cannot account for the loss of homes sorry.

    Maybe you could try decompile the database and get the homes out:p "jokes"

    or try the convert command and point it converting your old database see if lets you convert that into the new database. Tho you will have to reffer to the OP for info about this.
     
  16. Offline

    Timberjaw

    Strange, it should detect the missing table on startup and create it. No errors prior to "no such table"?
     
  17. Offline

    R4000

    http://pastebin.com/d8WdSLmU
    That's my entire server log.

    P.S. I have fixed the problem myself by running the following query on my .db file, but this should be handled in the code (as you say it is, but clearly something is disagreeing :p)
    'CREATE TABLE `settings` (`setting` varchar(32) PRIMARY KEY, `value` INT, `updated` INTEGER, `updated_by` varchar(32))'
     
  18. Offline

    Timberjaw

    @R4000
    Looks like it ran into an error on the CREATE:

    [initDB] DB ERROR - SQL logic error or missing database | SQLState: null | Error

    Most peculiar.
     
  19. Offline

    ledhead900

    Uploaded SMALL UN OFFICIAL FIX for those running the "Essentials" plugin to get /spawn to work again.
    Change log
    Essentials ver 170 - dev build​

    Removed- /setspawn​
    Removed - /spawn​
    Note: DO NOT DOWNLOAD THIS IF YOU ARE NOT USING THE "SPAWNCONTROL" PLUGIN
    Note: Essentials has split there plugin spawn is not part of there core commands essentials.jar anymore!, But for those still using really old builds of CB this informtion still applys.
     

    Attached Files:

  20. Offline

    kipz

    Hey timber, I like the plugin so far. I was wondering if you would consider a feature that lets admins control how often /home or /sethome can be used by a group?

    The idea is I want to keep the challenge level somewhat high on my server while allowing the players a get out of jail free card. So i'd let them /sethome maybe twice a week and use /home once a day. I read through the thread and didn't see a mention of this feature being discussed (though I admit I could have missed it). Mostly I was hoping for the spawn at home on death option and you just implemented that, which is awesome. Thanks,
     
  21. Offline

    Timberjaw

    @kipz - interesting idea. I think there may be a plugin already set up to handle usage limits on commands though. If it's compatible with SpawnControl that might be a better way to go than adding it into SC itself. If no one has done it though, that's a different story.
    --- merged: Feb 2, 2011 7:51 PM ---
    Known issues in v0.3.2:
    • If you die from fire, you respawn on fire
    • Configuration values can reset on server reset
    v0.3.3 will be out shortly to address these.--- merged: Feb 2, 2011 7:58 PM ---
    Updated! v0.3.3 fixes the death-by-fire issue and a config reset issue.
     
  22. Offline

    SeeD419

    lol I figured the video would be a bit easier than explaining.

    Thanks for replying, will try the fix and report back.
     
  23. Offline

    Timberjaw

  24. Offline

    ledhead900

    Thx for fixing the Fire issue, that was I was trying to get at before with my lava explination.
     
  25. Offline

    kipz


    I swore I've seen it but I couldn't find it. I went through all the plugins too. Though you know I didn't check permissions itself. Might be in there.
     
  26. Yeah I'm having the same troubles. I would say half the time it just goes through the normal death process, spawning me like it normally would. I have noticed if I die by fire or falling it works properly. Cactus and monsters seem to make me go through the normal spawn process. Drowning made be spawn where I died but I think that may have been the spawn proximity that you were talking about.

    Knowing how you are doing the deaths do you think in the future you could have an event fire so plugins like Server Events or rTriggers can do their death messages thing? Also I think kipz idea of having a cooldown timer that you can set for /home, /spawn, and /groupspawn is a really great idea.

    Keep up the good work, really cool plugin.
     
  27. Offline

    Jobsti

    Did this Plugin work with tkellys MyHome? (only read the home from the db for home on death)Would be nice.
    Is there an option to say, default users only spawn @ global spawn and registered users on her last position?

    I like to see, if in the .zip files are default configs. ;)
     
  28. Offline

    Timberjaw

    You should be able to use it with MyHome if you set enable_home to 0 (/sc_config enable_home 0).

    SC doesn't support respawning users at their last position. I'm honestly not sure why you would want to do that instead of just giving everyone godmode; the effect would be the same. I may be misunderstanding your question though.
    --- merged: Feb 3, 2011 9:40 AM ---
    To elaborate on the MyHome question a little: you won't be able to have users respawn at their MyHome home location via SpawnControl, since SC doesn't interact with MyHome in any way. But respawning them at global or group spawn should work fine even if you're using MyHome for player homes.
     
  29. Offline

    Jobsti

    Not respawning on death, spawning on connect/reconnect.
    interacting with MyHome would be really nice.

    My Idea:
    - If Guests connect, they always spawn at the global Spawn, on death or on reconnect.
    - Members Spawn on death in their homes (so this plugin have to read the MyHome .db) and on reconnect on her last position.
     
  30. Offline

    Withless

    so i tried using the /setspawn does this just work as home and is named spawn for some unknown reason? cuz when i die i still spawn at the orginal position not the /setspawned position
     
  31. Offline

    Timberjaw

    Any errors in the console? What CraftBukkit build are you running? What other plugins are you using? If you're running Essentials, it breaks or at least interferes with SpawnControl.
     

Share This Page