[INACTIVE][FUN/ADMN] Spyer 1.5_1 - invisibility for moderating and pvp!(alternative to Vanish) SPOUT

Discussion in 'Inactive/Unsupported Plugins' started by nickguletskii, Feb 27, 2011.

     
  1. Offline

    nickguletskii

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    SPYER HAS A NEW HOME!

    WARNING! THIS PLUGIN REQUIRES SERVER SIDE SPOUT! CLIENTS DO NOT HAVE TO DOWNLOAD ANYTHING!
    WARNING! OLD PERMISSION SYSTEM IS NOT SUPPORTED! YOU WILL NEED A BUKKIT PERMISSIONS STANDARD COMPLIANT PERMISSIONS SYSTEM!
    Hotfixed SpyerFun on 16th of August. Version number of the jar didn't change. Fixed a bunch of bugs.
    SpyerFun - a plugin that allows playersto become invisible for some time. Each second the player "eats" one item out of the stack he is holding (hider item, sugar by default). While invisible, mob can and will still attack the player, although other players (exceptions are implemented) can not. The player will reappear when he either runs out of the hider item or switches to another item in his action bar, e.g. a sword.
    SpyerAdmin - a plugin that allows moderators to hide themselves for an unlimited amount of time, as well as simulating them leaving. This is a constantly updated alternative to Vanish, with much more features and configurations!
    Thanks to brafenschlug for this hilarious video of moderators playing pranks on players!

    Features:
    • Now uses Spout! This plugin is no longer CPU heavy!
    • Allows players to become invisible for a set amount of time!
    • Adds more fun to PVP.
    • Allows administrators to hide themselves and simulate them quitting! Overrides msg,r and list.
    • Stops players from picking things up while using SpyerAdmin (see the configuration section)
    • Knocks players out from invisibility (SpyerFun) when they get damaged (see the configuration section)
    • Knocks players out from invisibility (SpyerFun) when they left-click a block (see the configuration section)
    • Now reload friendly!
    How to use (SpyerAdmin):
    • Use /spy to become and stop being invisible (toggled).
    • Use /quit to simulate you quitting/joining (toggled).
    • Place 1 piece of the indicator item into your quickbar. It will indicate if you are hidden or not. By default it is glowstone that turns into sulphur. You can configure that in plugins/Spyer/SpyerAdmin.conf.
    How to use (SpyerFun):
    • Right click with the "hider" item, every second it will eat up one item from the stack.
    • To add/change "hider" items, go to plugins/Spyer/items.yml. You'll see something like this:
      Code:
      {352: 3000, 353: 1000}
      Items are separated by commas. The ID is the right value, and the time of usage (per block) in milliseconds(HAS to be dividable by 50!). So if I want to add clay to work for 10 seconds per piece, I will do something like
      Code:
      {352: 3000, 353: 1000, 337: 10000}
      Note: by default, bones and sugar are used.
    Installation instructions, downloads:

    Install server-side Spout. No Spout client required.
    Extract the contents of the bundle(Spyer.zip) into the plugins folder.
    Bundle downloads:
    Download
    Download command line installer
    Github

    Instructions for different setups:
    • Essentials: Download SpyerInstaller, put it in the server directory and run it from terminal(console). Go to configuration->4.
    • Vanilla Bukkit: go to (server directory)/plugins/Spyer. Open repo.conf, replace everything with
      Code:
      http://dl.dropbox.com/u/16258042/SpyerAdminRepos/Vanilla/
    • CommandBook: Special version for you! semi-direct Replace SpyerAdminConmmands.jar with this version!
    Configuring:

    List of permissions:
    1. spyer.spy (Players who have this have access to the /spy and /quit commands, without permissions checks for op powers)
    2. spyer.seeAll (Players who have this can see people who are hidden, without permissions checks for op powers)
    3. spyer.fun (Players who have this can use SpyerFun, without permissions defaults to true)
    4. spyer.stopmobs.admin (Stops moderators from being attacked by mobs while hidden)
    5. spyer.stopmobs.fun (Stops players from being attacked by mobs while hidden)
    Files:
    • spyer.yml - responsible for holding timing data. If syncWithScheduler is true, the plugin will use the bukkit's scheduler (recommended). If false, use Java timers. refreshRate defines the time in ticks (in milliseconds if syncWithScheduler = false). Add the optional field coolDown and set its value to your cooldown time in milliseconds (for SpyerFun, time in between invisibility uses). Add pickUp: true to allow picking up items while hidden in SpyerAdmin. To knock out people from SpyerFun when they damage an entity, add "onDamage: true". To knock out people from SpyerFun when they left click a block, add "onBlock: true". To stop invisible players (SpyerFun) from damaging other living entities, add "noDamage: true". Boolean "wait" allows/disallows the plugin to delay reloading to give them time to hide.
    • repo.conf - holds the url of the repository from which SpyerAdmin will update the script.
    • script.js - compatibility layer between plugins. e.g. Essentials script will simulate Essentials commands, Vanilla script will simulate the normal minecraft commands.
    • items.yml - holds the list of items used in SpyerFun
    • SpyerAdmin.conf - holds indicator item ids for SpyerAdmin
    Modifying scripts:
    1. Comment out all the lines in repo.conf.
    2. Modify the script.
    3. If you want to update the script, you can get it from [repopath]/script.js
    Version: v1.5_1

    Known issues
    • If you get a NullPointer when enabled (that contains something like "at nickguletskii200.SpyerAdmin.CustomHandling.<init>(Unknown Source)", then download this and put it into your jre's lib directory. You might also need to install Rhino. Disclaimer: this file is a part of the OpenJDK package.

    Version 1.5
    • Migrated to Spout packet filtering. Timers are now only used for indicators(admin) and item deduction(fun). You can decrease the tick rate now if you want.
    • 1.5_1 Fixed the whole bundle. Nasty bug didn't appear in testing!
    Version 1.4
    • Separated SpyerAdmin into two modules.
    • July 17th - now using bukkit permissions API. Blind update. If you got this plugin before build 1000, then you have the old version. If you got it after build 1000, new version.
    Version 1.3
    • Made plugins reload friendly.
    • _1 Essentials 2.3 compatibility added through autoupdate.
    • _2 Fixed default item pickup. Now doesn't pick up items by default.
    • _3 Added noDamage property for SpyerFun.
    Version 1.2
    • Improved performance.
    • Added position checks.
    Version 1.1
    • Some little customisation upgrades.
    • Some hotfixes.
    • Improved SpyerFun's invisibility system.
    Version 1.0
    • Added mob targeting control.
    • Hotfix: fixed(hopefully) the log spam!
    • Small feature added (13/05/11): cooldown times for SpyerFun.
    Version 0.9
    • Permissions support!
    • Cleaned up code.
    Version 0.8
    • Added indicators.
    • You can now do /spy [on|off] to force.
    • Invisibility persists when you reconnect.
    • Fixed updater to work with Windows.
    • 0.8_1 fixed some problems with commands.
    • 0.8_2 major fixes.
    Version 0.7 (SpyerAdmin only for now)
    • Automatic script updating.
    • Better logging (will help me get rid of bugs) (coming soon)
    Version 0.6
    • Scripting support! That means no more compile-time library linking and more compatibility!
    • Multiple item support for SpyerFun added!
    Version 0.5
    • Added refreshrate and sync method variables. See the usage instructions to learn how to cofnigure them.
    Version 0.4


    • Extended functionality of /quit. Overrides msg and list commands of essentials.
    Version 0.3
    • A rewrite, separated packages. Hopefully removed all known bugs.
    • 0.3_1 Separated in-game configurations into another package.
    • 0.3_2 Fixed some bugs.
    • 0.3_21 Fixed some exceptions, small fix.
    Version 0.2
    • Shadow moderation ("addspy <player>" - allows player to hide with "spy" and "quit", "removespy <player>" - opposite. "addseeall <player>" - allows player to see hidden players, "removeseeall <player>" - oppiste. "spy" - hides you until called again. "quit" - hides and removes you from the list of players.
    • Click in the air now works
    • Migrated to SnakeYaml, no more jars!
    • 0.2_1 upgraded to remove double invisibility, quit now fully simulates player leaving.
    • 0.2_2 fixed player reappearing after "spying".
    • 0.2_3 huuuuuuuge bugfixes!
    • 0.2_4 fixed some bugs, one known: you have to say "/spy" twice to hide after using sugar/other hider item.
    Version 0.1
    • Release



    TODO
    • Some technical cleanups
    • Suggest more!
    Credits (no particular order)
    These people helped me by posting a lot of descriptive bug reports, removing bugs from scripts, making videos, cooperating with debugging and helping other users understand my horrible documentation ;)
    • The PC Tech Guy
    • Sparx
    • Tim Yong
    • Greylocke
    • KevinHouse
    • aidan matzko
    • brafenschlug
    • Nelien

    This post has been edited 6 times. It was last edited by nickguletskii Aug 26, 2011.
  2.  
  3. Offline

    foldagerdk

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    @nickguletskii does colored dyes work for SpyerFun? Such as 351:2 would be cactus green?
  4. Offline

    Hrdkr

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Very nice plugin. But! If you are cheating with /quit command, you really become invisible, but you are staying being list with the help of /who or /list commands! And everyone, who has access to these commands, will know that you are cheating with visibility. Moreover, if someone joins while are you not visible, simulating quitting, the greet message will appear, listing currently online players and guess what? Yep, you'll be in this list.
    As far as I know, your suggestion is to remove:
    Code:
     list:
        description: List all online players.
        usage: /<command>
    from the Essentials.jar. But I think it completely disables the /list command for users, aren't it? And what about /who command? And what about greet message players listing on joining? And when you are updating Essentials, you'll need to manually edit Essentials.jar? If so, it's not handy enough.
  5. Offline

    brafenschlug

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)


    Spyer is opening up many possibilities for losing moderator credibility :D
  6. Offline

    nickguletskii

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I'll try to make a patcher.

    Epic! Could I embed that in the OP please?
  7. Offline

    brafenschlug

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    But ofcourse! :)
  8. Offline

    Hrdkr

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Is there another options? What about /who command and greet message's players' listing on joining?
  9. Offline

    nickguletskii

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I think I'll add a custom join/leave message and possibly add scripting support for the list and msg commands.

    Edit: I also don't see any code in Essentials that shows online players on login...

    Edit 2:
    Currently working on scripted messages. Oooh, and the Essentials patcher is now available.

    I might add that in the future.

    Edit 3: Forgot to say: list and msg DO work with SpyerAdmin, they just won't show people who pseudo-quit.
  10. Offline

    Randy Schouten

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Hey, great plugin and all!

    I'm just here to tell you that our server log gets spammed with a message:
    Mallformed String Array

    It happens when you activate it.
    It doesn't cause any problems, but it can be quite annoing.
  11. Offline

    nickguletskii

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    That is probably caused by you editing the Spyer configs manually.
  12. Offline

    KiloWhiskey

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Code:
    23:28:56 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'msg' in plugin SpyerAdmin v0.5
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:80)
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:254)
            at net.minecraft.server.NetServerHandler.c(NetServerHandler.java:596)
            at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:559)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:553)
            at net.minecraft.server.Packet3Chat.a(SourceFile:24)
            at net.minecraft.server.NetworkManager.a(NetworkManager.java:198)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:72)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    Caused by: java.lang.NoSuchMethodError: com.earth2me.essentials.User.setReplyTo(Lcom/earth2me/essentials/User;)V
            at nickguletskii200.SpyerAdmin.SpyerAdmin.onCommand(Unknown Source)
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
            ... 12 more
    
    I get this every time someone does /msg whether it is to me or each other even when no one is hidden. Is there something I missed in the install info?
  13. Offline

    nickguletskii

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I think you don't have Essentials... You should use the standalone version.

    EDIT: Wait, no... Checking what changed, I don;t think Essentials source code is updated yet.

    EDIT2: Can't fix that today, going to finish scripting support first, so I don't have to release all these goddamn quickfixes just because another plugin changed...
  14. Offline

    KiloWhiskey

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Thanks. I'm running the latest (who knows what that means anymore) Essentials and 0.5 of spyer. I'm stoked that you've gotten so many of the bugs worked out. Invis and no /list sighting is great.
  15. Offline

    nickguletskii

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Thank you for your patience!

    Yay, finally made a workaround to solve my problem with invoking functions... Now translating commands into javascript and shipping the Essentials version.

    EDIT: Finished player list, moving on to /msg and /r! :D
  16. Offline

    KiloWhiskey

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I don't want to add too much to your plate, but there's a new hook in bukkit to allow you to change a player's log on message (or conceal it) and it would be pretty cool if this would allow you to have spy's not have a log on messages show up. That way admins can join the server without being seen by players in any way. You could tack on a /join command that would give the log on message as well so that they could reveal themselves when they are ready. Just a thought.
  17. Offline

    nickguletskii

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    That is what I am doing!

    Also, I only need some finishing touches and the scripting support will be done.
  18. Offline

    nickguletskii

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Okay, hopefully done the scripting support for SpyerAdmin... I will now see what I can do about multiple items for SpyerFun.
  19. Offline

    KiloWhiskey

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Does 0.6 fix the /msg and /r errors or just give it more room to function with other plugins?
  20. Offline

    nickguletskii

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    It does fix it. Moreover, I won't have to update the actual plugin just to fix some compatibility issues.
  21. Offline

    The PC Tech Guy

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Getting an error about items.yml. Looks like you need to either include it in your OP or have your plugin create it automatically (for the noobs).
  22. Offline

    SpyDaniel

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    @nickguletskii

    I get "An internal error occurred while attempting to perform this command" when I use /list. I have patched essentials. Is this meant to happen? As I still want people to be able to use list and any other commands you might have blocked.
  23. Offline

    nickguletskii

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    It is included in the new bundle.
    Hmm, I'll try to replicate it.

    EDIT: Replicated, pathced & started working on an automatic script update/better installation system.
  24. Offline

    Raymundd

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    What does the SpyerPatcher.jar specifically do? I'm having issues when running it (throws up IO exception errors) even though I have it in the right directory.

    Could you provide instructions for a more manual patch?

    This plugin looks great and I'm looking forward to using it!

    Thanks :)
  25. Offline

    BJK

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Ok, a few suggestions/requests...

    -If user disconnects/reconnects (specifically admins using the /spy command) can you make them keep invisibility?
    -Can you make some sort of indicator to make it easier to tell if you're invisible or not... I've gotten caught a few times because I thought I was, but wasn't. :p Maybe flashing hearts, or something?
    -What about /spy shows you if invisibility is ON or OFF, /spy on turns it on and /spy off turns it off?

    Cheers
  26. Offline

    zaery

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I second all the ideas except the flashing hearts, I think that would have to be a client side mod. Although, i would like having /spy, and /spy [on/off].
  27. Offline

    nickguletskii

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Basically, it removes commands from Essentials so it doesn't interfere with SpyerAdmin. Don't run it if you don't have Essentials.
    1) Already in the works! :)
    2) Client side mod... But eeh, I could do some sort of an indicator in chat...
    3) I might do that...

    EDIT: Finished 1). Thinking about making glowstone turn into sulphur when the person is hidden.
  28. Offline

    Boomer999111

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    SpyerAdmin script update failed: http://dl.dropbox.com/u/16258042/SpyerAdminRepos/Essentials/\script.js
    this is what i get when i run with the patcher. i relise the \ in it but i dunno what file to edit and with what so i can fix that (i also went to that in my browser correctly and copy-pasted the code from their into the script file)



    Everything Else is going fine
  29. Offline

    nickguletskii

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Whoops... Fixed in the next patch. Releasing in about 15 minutes. There are no updates at the moment anyway, so everything should be fine.
  30. Offline

    nickguletskii

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Okay, updated. Now working on an installer/configurator, so you don't have to do it manually.
  31. Offline

    BJK

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Glowstone > Sulpher in the inventory or if it's placed?

    I dislike the idea if it's gotta be placed, but I don't mind it if it's inv-side.

    BTW... Running essentials, this plugin kept making the server crash yesterday... Do I need the patcher ('cause I wasn't using it :p)
  32. Offline

    kahlilnc

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Can you use permissions?

Share This Page