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

    kyle921

    Is there a way to transfer homes from one world to another? We just renamed our world due to some conflicts, and our users weren't too happy about losing their homes.
     
  3. Offline

    Pontus Lantz

    @Timberjaw
    Have you thought anything about fixing the time checking?:)
     
  4. Offline

    Bjourk

    When will this officially support CB 740?
     
  5. Offline

    QuentinFK

    I tried to copy my old player's homes .prop file, and load it up in-game, but it doesn't ever seem to work.
    This is a problem since for some reason all player's home are set to somewhere INSIDE a block, which suffocates them.
     
  6. Offline

    Timberjaw

    Having never seen that happen or heard it reported by anyone else for any version of SC, my best guess is that it's another plugin causing it. Which one, unfortunately, I have no idea; I don't run many plugins on my server, and most of them I wrote myself.

    Could be a variety of things: messed up permissions, the users have a group spawn or home that is taking precedence, etc.

    This isn't super convenient, but you can use the sqlite3 utility to edit your database manually. Something like "UPDATE players SET world='newworld' WHERE world='oldworld'" should do the trick. Back up your database first!

    Will get to it as soon as I can. Hopefully in the next day or two.

    Tested 740 just now, seems to work fine. No rebuild needed. As usual, report any issues you might encounter.

    Can you provide more information about the series of steps you took to get this? Were you migrating worlds? Did you import homes before or after letting players on the server? Where is your global spawn? etc.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 6, 2016
  7. Offline

    CougarHat

    Still having the same problem as mentioned above. As far as I know, I am using permissions correctly, I even put it through a YML Parser so I know I've done it right. People in certain groups don't seem to have permissions to use /spawn, despite having the permission for it, and being in the correct group.
     
  8. Offline

    Timberjaw

    Which permissions plugin are you using? Sounds like something you might need to discuss with the author for that plugin.
     
  9. Offline

    CougarHat

    I am using the Permissions plugin. Funny thing is though, it was working fine yesterday, works fine for admins, but nothing for anyone else. I even went as far as to copy/paste, but that didn't work (yes I also tried typing it out too). Obviously permissions is working fine, since people are still able to groupspawn, so I'm not entirely sure it is the permissions plugins fault.
     
  10. Offline

    Timberjaw

  11. Offline

    CougarHat

    This is the relevent bit of code that you'll need to see:

    Code:
       Sunstrokes:
            default: false
            info:
                prefix: '&6[Sun]'
                suffix: ''
                build: true
            inheritance:
            permissions:
               - 'SpawnControl.spawn.use'
                - 'SpawnControl.groupspawn.use'
        OrsaNovusAevum:
            default: false
            info:
                prefix: '&5[ONA]'
                suffix: ''
                build: true
            inheritance:
            permissions:
               - 'SpawnControl.spawn.use'
                - 'SpawnControl.groupspawn.use'
    And the file too. I don't think that the dash is one space back, it's just formatted it like that for some reason, otherwise I would have spotted it.

    And this too. Didn't know if you wanted to see it presented like this:


    • Sunstrokes:
    • default: false
    • info:
    • prefix: '&6[Sun]'
    • suffix: ''
    • build: true
    • inheritance:
    • permissions:
    • - 'SpawnControl.spawn.use'
    • - 'SpawnControl.groupspawn.use'
    • OrsaNovusAevum:
    • default: false
    • info:
    • prefix: '&5[ONA]'
    • suffix: ''
    • build: true
    • inheritance:
    • permissions:
    • - 'SpawnControl.spawn.use'
    • - 'SpawnControl.groupspawn.use'
     

    Attached Files:

    Last edited by a moderator: May 6, 2016
  12. Offline

    Timberjaw

    @CougarHat Looks ok to me. Do your users get a "You don't have permission to do that." message when they try to use /spawn ? Also, what is behavior_spawn set to?
     
  13. Offline

    CougarHat

    It must have been set to 0, as I have now set it to 1, and people can teleport as they please (within cooldown limits).

    Still have the height problem though, and the only thought I've had is that the area isn't big enough to spawn in. Tell me, do players require a 5x5 area or something to safely spawn? I think the tower top is about 8 diameter, but building complications wont allow them to stand at the middle, so should I make the platform a little larger?
     
  14. Offline

    Timberjaw

    @CougarHat Shouldn't matter for SpawnControl. It will happily spawn you at any specified coordinate, even if that's a 1x1x2 space (or inside solid rock, for that matter).

    behavior_spawn 1 is group spawn btw. You may have a group spawn set for that group that is interfering. Try '/setgroupspawn THEGROUPNAME' at the top of the tower.
     
  15. Offline

    CougarHat

    They already have a set spawn, which is at their base. My idea was that they would be able to meet at the spawn, to trade, talk and the like, and use /groupspawn so they didn't have to walk a mile home. Is there a way I can use both? I'm happy to actually let you into the server to try and sort it, but I don't know what exactly it is I'm doing wrong. It would be easier for both of us I'm sure you will agree.
     
  16. Offline

    Timberjaw

    @CougarHat Sure thing, send me the server details. My MC username is Timberjaw.
     
  17. Offline

    kyle921

    I tried that and got "Error: columns name, world are not unique".
    Any idea as to what might cause this?
     
  18. Offline

    Fohdeesha

    Having the same problem as others. Plugin is great and exactly what I need. Only config change I made was to have it send a player to the global spawn on death. When players use /spawn to get to spawn, there are no errors. However, when a player dies, and it sends them to spawn, I get this in console:

    Code:
    2011-05-02 14:11:44 [INFO] [SpawnControl] Attempting to respawn player Fohdeesha (respawning).
    2011-05-02 14:11:44 [INFO] [SpawnControl] DEBUG: Respawn Location: Location{world=CraftWorld{name=world}x=5.60725338328614y=64.0z=193.088087077934pitch=2.1381671yaw=357.6294}
    
    it still sends me to the spawn location fine regardless of this message. What's going on? Any help is appreciated.
     
  19. Offline

    Timberjaw

    You have users with homes in the new world already. It can't add a second home in the same world for the same user.

    Try:
    DELETE FROM players WHERE world='newworld';
    UPDATE players SET world='newworld' WHERE world='oldworld';

    Nothing to worry about, that's some debug display I added to check for proper multiworld functionality. You can safely ignore it.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 6, 2016
  20. Offline

    Fohdeesha

    Sweet! thanks
     
  21. Offline

    CougarHat

    My only problem now is that when people type /spawn, they go to their groupspawn. I want them to go to the globalspawn, but I forget which config command I need to enter. Also, could you add the information about behavior_spawn to your config commands table? It's not there and that might help. Also, if I put in a value of 0 it says it doesn't recognize it.
     
  22. Offline

    Timberjaw

    @CougarHat It should be '/sc_config behavior_spawn 0'. What's the exact error?
     
  23. Offline

    CougarHat

    It's fixed now. Thanks for your help, I think I was misspelling or something.
     
  24. Offline

    kyle921

    Thanks, that worked like a charm. :)
     
  25. Offline

    Timberjaw

    Updated! v0.8.2 is a non-critical update that changes cooldown time handling from server time to system time. This allows compatibility with plugins that manipulate the server time. If you're not using such a plugin, you don't need to update. Normally I would wait for the next feature release (0.9 in this case) since this isn't a bug fix, but I'm not sure when 0.9 will be ready, so here it is.

    Also rebuilt against 740, but 0.8.1 was working fine with 740 as well.
     
  26. Offline

    Chromana

    2 questions:
    1. Default group: is this a group called Default or just the group where the setting "default" is true?

    2. If I want brand new players to spawn at global spawn but have players who have been on before but who are also in the default group and have no home set up to spawn where ever they were when they last logged out what settings do I need? I think this might be a problem according to the text that I quoted above because they'd still meet the conditions of being in the default group and having no home.
     
  27. Offline

    Fohdeesha

    Awesome that there's an update, but the zip link is 404'ed and the jar link links to the 0.8.1 version :(
     
  28. Offline

    Timberjaw

    @Fohdeesha Zip link is fixed. The version # is being reported as v0.8.1 in both files, but it's actually v0.8.2.
     
  29. Offline

    Fohdeesha

  30. Offline

    boblahoe

    I have a question. When you say "group spawn" do you mean I could say, have different spawns for admins, mods, and others? If so, then I tip my hat to you.
     
  31. Offline

    Timberjaw

    Yes.

    1. That info is out of date. It now simply checks to see if the user has a home set already. If they don't, they're new.
    2. The behavior you're wanting is exactly what should happen in an out-of-the-box setup.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 6, 2016

Share This Page