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

    Graloth

    Does this plugin make it possible to place spawn inside a building? or at least a more precise spawn compared to the default one? Been looking for a plugin that did either one or two of those things for ages.
     
  3. Offline

    Timberjaw

    Yes! Spawns are exact. You can spawn in a house/cave/whatever. It maintains yaw and pitch as well.
     
  4. Offline

    Fewmets

    how can it have exact spawns if it only has homes?
     
  5. Offline

    Timberjaw

    I'm not sure I understand the question.

    I'm using the terms 'spawn' and 'home' interchangeably, if that clears things up.
     
  6. Offline

    Fewmets

    ah, ok.
     
  7. Offline

    cnx4mia123

    van u make it with permissions loading GroupUsers. and also so that it sets the players spawn there but just for that 1 player. because ./sethome doesent make you spawn there just tele there
     
  8. Offline

    Timberjaw

    Group support: working on it. I'm integrating with Permissions first though.

    Player spawn: this one is tricky. There's no player death hook yet (at least not as far as I can tell), so I don't know of a good way to respawn the player at home when they die.
     
  9. Offline

    SeeD419

    What I was looking for was a replacement for the old ExactSpawn. Judging by the looks of your OP, this doesn't actually function yet.
     
  10. Offline

    Timberjaw

    Can you be more specific? Are you referring to the global spawn?
     
  11. Offline

    SeeD419

    Yes, an exact global spawn (IE, in a building)
     
  12. Offline

    Timberjaw

    Exact global spawn is coming soon (v0.2).

    Updated! v0.2 restores group and global spawn functionality. SpawnControl has been integrated with the Permissions plugin, so you'll need to install that as well (dependencies much?). See OP for full details and download links.

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

    ledhead900

    Oh thank you for this plugins, I was using the Hmod version for a couple months Im so glad this got ported!
    --- merged: Jan 22, 2011 8:53 AM ---
    Known Issues:

    • If you're running General, you'll see double messages when using /setspawn. I don't know how to make General ignore /setspawn commands. SpawnControl WILL set the global spawn correctly, however, so this is just a cosmetic issue.
    I know of a temp work around to the issue, Just disable the /set commands in general.
     
  14. Offline

    Timberjaw

    Unless I'm misunderstanding what you're saying, that won't really help. The only people who should be able to use /setspawn are admins, and they'll typically have * access anyway. So regardless of what settings you select for General, /setspawn will still be available via General.
     
  15. Offline

    10steedgd1

    sqlitejdbc-v056.jar is in the same dir as craftbukkit and spawncontrol is in the plugins folder, but when i use /setspawn it returns: 'DB ERROR - SQL logic error or missing database'

    permissions is installed and command is attempted with a * admin.
     
  16. Offline

    ledhead900

    Sorry missunderstood me I know a way to to stop the double /setspawn issue, tho the user has to Disable the commands in General plugin so thay they are not functioning that way the only plugin doing the set spawn and spawn will be yours.

    I have not tested it yet as im still setting up permissions but in theory it should work. Tho that is for Generals Essentials im not sure about the other General plugin that has the motd.
     
  17. Offline

    SirScotalot

    Code:
    DB ERROR - SQL logic error or missing database
    Getting this error upon trying to set spawns or homes, but ONLY when using Linux. The very same configuration works perfectly under Windows. The plugin creates the database-files correctly, adds in the tables, etc, but apparently can't access them afterwards.
    Please note that paths and filenames are case-sensitive in Linux. Could you check your code again?
     
  18. Offline

    ledhead900

    This is what I got first load,

    PHP:
    Player count1
    2011
    -01-22 23:46:41 [INFO] [SpawnControlSending new player ledhead900 to globa
    l spawn
    .
    22/01/2011 11:46:42 PM org.bukkit.plugin.SimplePluginManager callEvent
    SEVERE
    Could not pass event PLAYER_JOIN to SpawnControl
    java
    .lang.NullPointerException
            at java
    .util.Hashtable.get(Unknown Source)
            
    at com.bukkit.timberjaw.spawncontrol.SpawnControl.getGroupSpawn(SpawnCon
    trol
    .java:375)
            
    at com.bukkit.timberjaw.spawncontrol.SpawnControl.getSpawn(SpawnControl.
    java:215)
            
    at com.bukkit.timberjaw.spawncontrol.SCPlayerListener.onPlayerJoin(SCPla
    yerListener
    .java:202)
            
    at org.bukkit.plugin.java.JavaPluginLoader.callEvent(JavaPluginLoader.ja
    va
    :129)
            
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava
    :201)
            
    at net.minecraft.server.ServerConfigurationManager.a(ServerConfiguration
    Manager
    .java:74)
            
    at net.minecraft.server.NetLoginHandler.b(SourceFile:121)
            
    at net.minecraft.server.NetLoginHandler.a(SourceFile:47)
            
    at net.minecraft.server.NetworkListenThread.a(SourceFile:91)
            
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:261)
            
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:197)
            
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)

    latest builds of craftbukkit
     
  19. Offline

    Aichan

    Same error as dudes above, it seems that your plugin can't join the database (it creates it, but can't reach it)

    Your plugin is there : \plugins\SpawnControl.jar
    Your plugin's db is there : \plugins\SpawnControl\spawncontrol.db
     
  20. Offline

    Timberjaw

    Re: Database errors:

    Not sure what's going on here. I'm using the same database path everywhere (in a variable), so if it's accessible for creation, it should be accessible for access (especially since it sounds like it's even creating tables, which means it's executing queries on the database). Folder should be SpawnControl (camelcase), file should be spawncontrol.db (lowercase).

    I'm using:

    Code:
    public final static String db = "jdbc:sqlite:" + SpawnControl.directory + File.separator + "spawncontrol.db";
    ...
    conn = DriverManager.getConnection(db);
    --- merged: Jan 22, 2011 6:09 PM ---
    Note this is a separate issue from the other DB errors. It looks like you haven't set a global spawn yet. I should have mentioned you need to do that first thing. SpawnControl will NOT fall back to the generic (imprecise) global spawn. Just do a /setspawn as admin as soon as you get in and no one else should get that error.

    If you still get it after using /setspawn, of course, let me know.
    --- merged: Jan 22, 2011 6:13 PM ---
    Re: database errors again:

    Has anyone checked the permissions on their created spawncontrol.db file?
     
  21. Offline

    cnx4mia123

    have you tested it with permissions 1.7?
     
  22. Offline

    Timberjaw

    Nope.
     
  23. Offline

    cnx4mia123

    You might want to check that.
     
  24. Offline

    majorcyto

    So im using permissions i have everything set up correctly but the /home thing is not working >.>

    For instance as an admin with all commands i can /sethome but i can not /home to it. Members who also have the permissions can not even /sethome at all..?
     
  25. Offline

    Timberjaw

    Any errors in the console? What plugins do you have installed? What CraftBukkit build are you on?
     
  26. Offline

    majorcyto

    DB ERROR - SQL logic error or missing database
    2011-01-22 14:37:37 [INFO] [SpawnControl] Attempting to send player majorcyto to home.
    DB ERROR - SQL logic error or missing database

    First 1 is from /sethome, im on craftbukkit build 126

    The DB file is there and /setspawn works fine...
     
  27. Offline

    cnx4mia123

    I KEEP GETTING THIS ERROR HELP:
    CRAFTBUKKIT BUILD :126
    PERMISSIONS 1.6
    NEWEST SPAWN CONTROL

    SEVERE: Could not pass event PLAYER_JOIN to SpawnControl
    java.lang.NullPointerException
    at java.util.Hashtable.get(Unknown Source)
    at com.bukkit.timberjaw.spawncontrol.SpawnControl.getGroupSpawn(SpawnCon
    trol.java:375)
    at com.bukkit.timberjaw.spawncontrol.SpawnControl.getSpawn(SpawnControl.
    java:215)
    at com.bukkit.timberjaw.spawncontrol.SCPlayerListener.onPlayerJoin(SCPla
    yerListener.java:202)
    at org.bukkit.plugin.java.JavaPluginLoader.callEvent(JavaPluginLoader.ja
    va:129)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:201)
    at net.minecraft.server.ServerConfigurationManager.a(ServerConfiguration
    Manager.java:74)
    at net.minecraft.server.NetLoginHandler.b(SourceFile:121)
    at net.minecraft.server.NetLoginHandler.a(SourceFile:47)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:91)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:261)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:197)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:512
    )
     
  28. Offline

    Timberjaw

    Are you on a Linux system? I have reports of this happening on Linux but not on Windows. Can you check the file permissions on spawncontrol.db?
    --- merged: Jan 22, 2011 8:41 PM ---
    Have you added a global spawn yet (/setspawn)?
     
  29. Offline

    majorcyto

    Yes im on Debian Linux 64bit.

    And its set to Read and Write..
     
  30. Offline

    cnx4mia123

    No i have not. How do i set a global spawn?
     

Share This Page