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

    Timberjaw

    I can reproduce it if 1) I delete my .dat file, AND 2) I am still in SpawnControl's database. I'm hesitant to call this a bug, however. Essentially, you're telling SpawnControl that the player is NOT new (they're in the database, they have a home, etc), but the server itself thinks they are new. Aside from corrupted player files, I can't think of a good reason for this to ever happen, as it would require someone to cause the situation more or less intentionally.

    So that brings up a few questions:
    1. Is there a good reason for a server admin to delete a player's .dat file but not clear their SC database entry?
    2. Is there any other set of events that can lead to the bad first-spawn behavior?
    3. What's the most reasonable way for SpawnControl to handle this issue?
     
  3. Offline

    pagan0ne

    1. No - not if its well documented, upon further investigation you are correct, it only happens if SC's database is not updated too. (Yes, if server admin doesnt know about SC's database entry's - like me)
    2. Not that i have seen.
    3. Either document it (and deal with people not reading the documentation and complaning here (because noone reads form threads in the bukkit/minecraft world apparently) or find a workaround to where even if this event does happen, player still spawns in proper location.

    THANKS FOR THE UPDATE AND YOUR HARD WORK!
     
  4. Offline

    Clever Trevor

    Somehow it fixed itself. No errors were ever reported. Keep up the good work on this plugin.
     
  5. Offline

    dslip

    Would it be possible to get a 'global home' that is assigned to all players who have not manually set their own home.

    I like to respawn my players at home on death, and if they have not set a home themselves, they seem to spawn at some 'odd' location.
     
  6. Offline

    Timberjaw

    They should spawn at global home if they haven't set a home. When they first join, the server looks for a home for them. If it can't find one, it sets their home to the global home. So if you've changed the global home since then, their current respawn location may be an old global spawn location.

    I'm working on some modifications to respawn control that should help out with some of these edge cases and multi-world spawn settings. It's tricky stuff though; lots and lots of possible combinations of settings and situations.
     
  7. Offline

    wokka1

    Maybe I'm missing something in your OP, but I don't see a command to remove someone from the database, but then again, I've been staring at 32 different plugins configs and documentation today, in an effort to update today.

    During my testing, I did not remove them from the SC db, didn't know we needed to do that.

    The only time we need to remove a players dat file is either some corruption (happens occasionally after a crash, not often), or we need to reset a player back to default. I'm only concerned about new players to the server and their spawn point, so I'm not worried about this issue.

    Thank you very much Timberjaw
     
  8. Offline

    ambientmf

    Will we be seeing an update for 733? I'm patiently waiting for all my plugins to update to the latest recommended. :D
     
  9. Offline

    Timberjaw

    No update needed; v0.8.1 seems to be working fine with 733.
     
  10. Any chance for a config for new player joins?

    Here is why:
    If i set behavior_join to 3, it works perfectly with moving new players into the house we built for spawn, but it also moved any other player there when they join, instead of just letting them stay where they logged out.
    So i would prefer it to have "behavior_join" and "behavior_newplayer" (or something) they both do pretty much the same, but behavior_newplayer would only affect those who has never been on the server before (no player file).
    This would allow me to have my current players spawn where they logged out, but new players spawning inside spawnhouse.
     
  11. Offline

    Pontus Lantz

    Just installed SpawnControl on my server and it works perfectly except for one major problem. The cooldown function is kinda screwed up. I want to have an hour long cooldown on the /home function and an 3 hour long cooldown on the /spawn function. Though when i first use /home it spawns me to my home with no problem. And if i try to use it directly after it says "Cooldown is in effect. You must wait 3598 seconds" But if i use it again after a couple of seconds it says "Cooldown is in effect. You must wait 2398 seconds." And like that it keeps going. 1195 after that and then it works again. Kinda same thing on /spawn but different numbers.

    Would love it if you could fix this <3
    Except for the problem a great plugin[meat]
     
  12. Offline

    Timberjaw

    @Graloth If you're not getting new players spawning where they should (without behavior_join 3), you may still have 'home' entries for those 'new' players in the SpawnControl database. This has been a somewhat common issue: if a user's player.dat file is deleted, but their SC database entry isn't removed, SC doesn't see them as new (because it remembers who they are and where they live!).

    I may just switch to checking for the .dat files; I was hoping to avoid that in case of file locks, but I'm not sure that's actually an issue if I'm just checking for the existence of a file.

    Hmm, maybe CB's timekeeping code changed. Will take a look.

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

    Pontus Lantz

    Thanks <3.
    Btw got thinking but i guess (hope) that using the properTime plugin doesn't change the actual time on the server. Feels like there should be different kind of time changes going on.

    EDIT: CRAP! Seems properTime is the reason for this.
    Sadly for me this means i can't use the cooldown system since having longer days and nights is an very important feature on the server :(
     
  14. Offline

    Timberjaw

    If you're using a time plugin, that's probably why SpawnControl's cooldowns are messed up. I'm using the server's .getFullTime() method for cooldowns because it's so easily accessible. I should probably just switch that to an outside time source though.
     
  15. Offline

    Pontus Lantz

    Would be very appreciated.
     
  16. I don't think it's because i've had a "home" entry in the database, as i tested with me and a friend, we have our home set elsewhere, but when the spawn is inside a house, and we log in after removing our .dat files, we spawn on the maps original spawn, and server console shows the spawncontrol doesn't even see us log in (no messages like there is if behavior_join is set to 3)... not at our home or inside it.
     
  17. Offline

    Timberjaw

    @Graloth What I mean is, if you have a home entry at all, SC assumes you also have a .dat file and are a returning user (because, frankly, you are). So it does nothing, figuring you'll end up at your last position.
     
  18. aah, i'll have a try with a user that has never been on the server before then :)
     
  19. Offline

    Timberjaw

    @Graloth I will be trying to find a better way to check for this. I wish the API provided a method for determining if the player is new (in the server's opinion).
     
  20. Offline

    Thyraxxx

    cant make the respawn at home to work ...

    13:18:48 [INFO] Jekotia burned to death
    13:18:49 [INFO] [SpawnControl] Attempting to respawn player Jekotia (respawning).
    13:18:49 [INFO] [SpawnControl] DEBUG: Respawn Location: Location{world=CraftWorld{name=world}x=58.88989871062333y=72.0z=55.39634507463046pitch=31.050013yaw=159.90015}

    we keep respawning at the global spawn ..
     
  21. Offline

    Sousatom

    I seem to only be having one problem, other then that, it works beautifully. When a player sleeps in his bed, I would like it so that he will respawn at that location from that point on. The players keep spawning in the global spawn, the only way i can get the players to respawn in their beds is if I set death_behavior to 0, and I don't want that because my vanilla spawn is in a terrible location.
     
  22. Offline

    CougarHat

    I have a problem, is there meant to be a config file? If so, it doesn't generate for some reason. Also, I try typing in /plugins, but it also doesn't show up in this list. Is there something I have to execute or change? Because none of the commands work for me. Just to let you know I have installed everything, in the right place as far as I know, so if you can help me out, that would be much appreciated.

    No help then? Nothing at all?

    I really need to get this sorted, as the server is live at the moment, and I'm sure it's just my user error, but I don't know what I'm doing wrong as I've followed the instructions to the word (as far as I'm aware).

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

    Timberjaw

    You just need to be patient. I have a day job; it can take me a while to respond.

    The SpawnControl configuration is in the SQLite database. Check your server log to make sure SpawnControl is starting up correctly. You should see a message like "16:33:40 [INFO] [SpawnControl] version [0.8.1] loaded". If you don't see that, Bukkit hasn't loaded SC.

    Are you respawning at the exact SpawnControl global spawn, or the inexact map spawn?

    I'll be adding (or trying to add) bed support in 0.9.

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

    Thyraxxx

    was respawning at the exact global spawn, but I finaly got it working with serveral random reload restart and reconfiguration of cd_config behavior_death blablabla lol

    anyways, thanks for this awsome plugin, finaly fix all my server spawn and respawn issue !
     
  25. Offline

    CougarHat

    Code:
    [SEVERE] Could not load 'plugins\SpawnControl.jar' in folder 'plugins':
    java.util.zip.ZipException: error in opening zip file
    It doesn't appear to be zipped. Should I just take some of the files out of the JAR myself? I'm not sure what to do
     
  26. Offline

    Timberjaw

    Try re-downloading. Are you downloading the .zip or the .jar?
     
  27. Offline

    Kulek

    Code:
    10:04:03 [INFO] [SpawnControl] Attempting to respawn player [Playername](respawning).
    10:04:03 [WARNING] [SpawnControl] Could not find or load group spawn for 'scglobal'!
    10:04:03 [WARNING] [SpawnControl] Could not find respawn for [Playername]!
    
    Running:
    • CB740
    • Spawn Control 0.8.1
    • Multiverse 1.6.3
    I've disabled homes and groupspawns. used /setspawn exactly where I want it, set death action to 3(respawn at global). Then I go kill myself off in some other world. It teleports me to a seemingly random place in my default map, though repeating the death test will always put me there now, no idea how it picked that spot.

    I just want to make sure that I'm using this plugin for what it is intended and i'm not misreading anything. This is what I would like the end result to be:
    • Set a spawn point in my default world
    • When players die, they respawn back at the default world at the pre-defined point.
    • When a new player joins, they spawn at the same predefined point.
    • Bed spawns are ignored.
    EDIT: It seems as though on respawning from death in that "random" spot, I cannot interact with anything, be it pressure plates to open doors, or anything else. (it happens to spawn me in a room with an iron door and a pressure plate to open it(the spawn I set is outside, maybe 150-200 blocks away))

    EDIT2: (I should debug before I post) Killing myself in the default world works fine, I respawn in the correct location. the more information, the better right?
     
  28. Offline

    CougarHat

    Don't worry, I fixed it. I don't know quite what the issue was, but using the ZIP instead of the JAR seems to have worked out better. Thanks for your help.
     
  29. Offline

    Raymond Doerr

    I'm still having really strange problems with my server, it seems like people respawn on fire seemingly randomly.

    But, it doesnt only happen when they die on fire, it just happens randomly when they respawn. Sometimes more often in certain spawn locations that others. But, whats more strange is another mod I run called Stargate will also cause this when I'm portaling through different worlds. (But not when your portaling within the same world)

    It ONLY happens if a player respawns, OR if a player portals through one world to another. But, I know it's not related to Stargate, it was happening before I started using it. It only happened a few SpawnControl updates ago (the 1.3 update I believe)

    Mods I use:
    CraftBukkit RB 733
    -SpawnControl 0.8.1 (Happened the last few updates as well)
    -StarGate 0.4.4 (Not installed when this problem started)
    -WorldEdit/Guard 5.0
    -Permissions 2.5.5
    -MultiVerse 1.6.3 (Not installed when this problem started)
    -Interesting Places
    -AFKBooter 0.9 (Not installed when this problem started)
    -NoCheat (Not installed when this problem started)
    -HeroicDeath
    -General 2.2.4

    Any advice? :)
     
  30. Offline

    CougarHat

    Right, no problems, bar one.

    When i use /setspawn, I can set it fine, and use it fine. However, whenever anyone else uses it, they get teleported to a block around 40 lower than where I have set it. The idea is that people spawn on top of a tower, walk around it, read rules etc etc, but they just spawn at the bottom. What am I doing wrong?
     

Share This Page